Olen joitakin dll ja ocx kontrolleja tutkinut, mutta varsinkin tuon dll:n käyttö on jäänyt joksenkin epäselväksi.
Voisiko tuolla toteuttaa esim siten, että dll:stä löytyisi tulostusrutiini esim. taulukko, johon haetaan syötteet ohjelman textboxeista?
Kuinka tämä tehtäisiin ja miten tuota dll:ää käytetää ohjelmasta käsin?
Itselläni on mm. yksi ohjelma, jossa tulostusrutiinit vie sorsista reilusti yli puolet ja EXEn koko on paisunut melkoisen suureksi. Tarkoituksena olisi saada noi tulostukset siis omaan tiedostoon (ilmeisesti dll) ja loput olisi exessä.
Onnistuuko siis miten? olisiko kellään simppeliä esimerkkiä kuinka tuon voisi toteuttaa?
Onnistuu kyllä. Tee tulostusrutiineista luokka (class) jonka sitten tunget omaan ActiveX DLL:ään.
Jahka alkuperäiseen ohjelmaan on lisätty referenssi tuohon DLL-projektiin (Project > References) tuo DLL:ssä oleva luokka toimii ihan samalla tavalla, kuin jos kyseiseen projektiin olisi liitetty luokkamoduuli.
Tuosta tietojen lukemisesta suoraan "emoohjelman" tekstilaatikoista en tiedä, mutta homma hoitunee tekemällä luokkaan metodin, jolle nuo annetaan parametreiksi.
---
Tuollaisesta DLL:stä voisi joskus kirjoittaa vaikka jonkinnäköisen oppaan... Olisikohan sille kysyntää?
Taitaisi näköjään olla. Vaikuttaisi siltä, että luokkakirjastojen luominen ja käyttäminen on jäänyt melkoisen hämäräksi. Sama tuntuu koskevan activex-komponenttien ohjelmointia (ocx).
Itse en sitä ehdi / viitsi alkaa kirjoittamaan, mutta jos sinulla Blaze on halua tai kunnianhimoa se kirjoittaa niin uskoisin monen pikkuohjelmoijan taputtavan kiitollisena pieniä karvaisia käsiään.
Veikkaisin että kysyntää on.
Monella alkaa omissa projekteissa EXEn koko kasvaa järkyttävänkin suuriksi, jolloin olisi ehkä luonnollisempaa jakaa sorsia OCX ja dll kirjastoihin.
Itse ainakin olen hyvin kiinnostunut juuri tuon dll käytöstä. Olen koittanut jo kauan tutkia miten ne toimii, mutta kovin pitkälle en ole päässyt.
Ihan simppeli esimerkitkin kävisi. Monta lähdekoodillista olen löytänyt, mutta ne on yleensä ollut niin laajoja, että itse käyttö on jäänyt epäselväksi juuri liian "sotkuisen" ehkä paremminkin liian "laajan" esimerkin takia.
Aihe on jo aika vanha, joten et voi enää vastata siihen.