Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6: Miten määrätään dll tiedoston kansio muuttujan avulla

Ganes [31.03.2008 22:51:32]

#

Miten voidaan määrätä dll tiedoston kansio ohjelmassa muuttujan avulla?
Olen käyttänyt fmod.dll tiedostoa musiikin toistoon omassa ohjelmassani. Ohjelmaan liitetään moduuli jonka kautta homma onnistuu. Alkuperäinen koodi:

Public Declare Function FSOUND_Init Lib "fmod.dll" Alias "_FSOUND_Init@12" (ByVal mixrate As Long, ByVal maxchannels As Long, ByVal flags As FSOUND_INITMODES) As Byte

Tämä on oletuksena ja tässähän fmod.dll sijaitsee oletuksena sijaisee samassa kansiossa exen kanssa. Tietenkin fmod.dll voidaan sijoittaa järjestelmän systeemi kansioon, mutta se ei ole nyt ratkaisu. Kansio voidaan määrätä:

Public Declare Function FSOUND_Init Lib "testikansio\fmod.dll" Alias "_FSOUND_Init@12" (ByVal mixrate As Long, ByVal maxchannels As Long, ByVal flags As FSOUND_INITMODES) As Byte

Nyt homma toimii, kun fmod.dll sijoitetaan exen kanssa samassa kansiossa olevaan testikansioon.
Mutta jos halutaan, että kansion nimi annetaan ohjelmalle esim. komentoriviparametrina tai tiedostosta luettavaksi muuttujaksi esim.

Public Declare Function FSOUND_Init Lib testikansio &"\fmod.dll" Alias "_FSOUND_Init@12" (ByVal mixrate As Long, ByVal maxchannels As Long, ByVal flags As FSOUND_INITMODES) As Byte

Nyt kansion nimi on annettu muuttujan avulla testikansio ja kansion nimi löytyy muualla ohjelmassa ilman ongelmia, mutta tämä kohta antaa virheilmoituksen. Expected: String Constant

Newb [31.03.2008 23:14:24]

#

Ei taida onnistua, dll:n sijainti pitää määrittää ennen ohjelman kääntämistä.

groovyb [08.04.2008 15:06:04]

#

Täytyypä selvittää tämä kyllä

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta