Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6: DLL:ien avulla laajennettava ohjelma

mikeful [05.11.2004 11:26:39]

#

Eli, olen testailemassa dll-oppaasta oppimia juttuja. Ajattelin tehdä seuraavaksi perus Notepadin, johon voisi laajentaa dll:ien avulla uusia ominaisuuksia.

Sitten huomasin, että en voi laittaa systeemiä toimimaan valitsemalla dll:iä VB:n References-ikkunasta. Eikä se onnistu declare-jutullakaan, koska en voi tietää mitä dll:iä ohjelmaan aiotaan ladata.

Kysymys kuuluu, voiko tällaistä systeemiä edes tehdä VB:llä? Jos voi niin miten?

Blaze [05.11.2004 12:47:49]

#

En oo tuommosta aikasemmin kokeillu ite tehä, ja se ei menny ihan niin helposti, ku ensin luulin, mutta lyhyesti&ytimekkäästi homma hoituu näin:

Dim dll As Object
Set dll = CreateObject(objektinnimi & "." & luokannimi)
dll.munkivafunkkari

objektinnimi on sen DLL-projektin nimi ja luokannimi sen class modulen nimi.
DLL pitää olla rekisteröitynä regsvr32:lla.

DLL:n tiedostonimeä ei tarvitse tietää, mutta tuo sen objektinimi pitää, mikä on sinänsä ikävää, sillä tiedostonimi olis paljon helpompi ottaa selville :)
Ainakin molemmissa itse tekemissäni testiDLL:issä tuo objektinimi löytyy kohdasta 0x11b8 (desimaalina 4536), kotitehtäväksi jääköön kirjoittaa funkkari, joka lukee sitä DLL:ää binäärimuodossa ja onkii tuon nimen tuosta kohdasta :)

Testiesimerkki löytyy osoitteesta http://pp.kpnet.fi/blaze/temp/dlllatauslennosta.zip

mikeful [05.11.2004 22:10:08]

#

Kiitos. Eiköhän tämän kanssa selvitä jonkin aikaa.
Olin muuten juuri lukemassa erittäin syvällistä opasta dll:ien käytöstä VB:ssä.

Vastaus

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

Tietoa sivustosta