Elikkäs luon omassa projektissani plugins kansiossa löytyvistä ActiveX DLListä objektin ja kutsun niistä jotain funktiota joka palauttaa jotain... Onko mahollista kutsua ActiveX DLL:n koodista jotain pääprojektin formin funktiota vai pitääkö dll pistää palauttamaan funktion nimi jota kutsutaan ja sitten tarkistaa, että mitä dll palauttaa ja kutsua manuaalisesti funktiota?
Katsohan keskustelu DLL Funktioista
Tuosta nyt ei ollut mitään apua... Kyllä minä tuon osaan tehä, luoda dll objektin ja kutsua sitä formista. Ongelmani on, että kun objekti on luotu ni se pitäisi saada toimimaan toisinpäin eli dll:n pitäisi kutsua itse pääprojektin formin funktiota.
Ei tule toimimaan noin. Dll-kirjasto pystyy käyttämään toisia kirjastoja ja niiden sisältöjä, muttei kaivamaan projektistasi jotain tiettyä funktiota. Jos funktio on kriittinen kirjastosi kannalta, niin siirrä se kirjastoon ja kutsu sitä sieltä formillakin käytettynä.
Moikka tesmu!
Pistä sinne sun.dll'ään jotain joka kutsuu jonkun formin aliohjelmaa, tapahtuma-aliohjelmaa tai funktiota...
Esim. jos sulla on sielä dll'ssäsi luokka EkaLuokka
ja sen sisällä vaikkapa Sub EkaMetodi() niin laita sen sisään vaikkapa seuraavaa... Form1.Command1.Value = True...pistä moduuliin... Global xLuokka ja pistä pääformin Form_Load() tapahtumaan... Set xLuokka = New Eka Luokka: xLuokka.EkaMetodi...ja pistä vaikka sen pääformin Form_Unload tapahtumaan suraavaa... Set xLuokka = Nothing
Hei neau33
Eli lataan ohjelmaani ihan erillisiä activex dlliä eli mulla on tällätavalla lataus
For i = 0 To plugins.plgs.ListCount - 1 pname = Mid(plugins.plgs.List(i), 1, InStr(1, plugins.plgs.List(i), ".") - 1) Set pcode = CreateObject(pname & "|plugmain") If pcode.who = False Then plugins.plgs.RemoveItem i End If Next i
Eli mulla ei oo luokkakirjastona projektissa...
Aihe on jo aika vanha, joten et voi enää vastata siihen.