Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: C++: erikoisobjuja

sooda [24.11.2003 09:13:15]

#

miten c++:ssa saa noissa .dll ja .ocx tiedostoissa olevia erikois systeemejä käyttöön? esim. richtextbox tai winsock(tälle olis käyttöä!) saako?

thefox [24.11.2003 12:31:31]

#

Otetaanny tällanen yleispätevä esimerkki joka pätee ainakin MSVC++:aan ja Wintoosa GCC-portteihin (mingw, cygwin...)

OCX-kikoista en osaa sanoa miten hoituvat mutta DLL:n käyttö onnistuu suht. helposti. DLL:llä on vastaava .lib (tai gcc:llä .a) filu joka sisältää tarvittavat tiedot linkkeriä varten että se osaa importoida DLL:stä funktiot lopulliseen binääriin. DLL:llä on myös vastaava headeri filu (.h / .hpp tms) jonka sisällytät c/cpp-filuusi.

Sitten vaan lueskelet APIn dokumentaatiota ja headerin tarjoamia funktioita/structeja/luokkia/whatever hyväksesi parhaaksi näkemälläsi tavalla.

Homma ei siis ole niin helppoa kuin esim. VB:n tapauksessa, kaikki säädöt joudut tekemään käsin suoraan koodista, eikä tarjolla ole GUI dialoogeja (ellet käytä Borland C++ Builderia).

Winsock: http://tangentsoft.net/wskfaq/
Eli tarvitset winsock.h:n ja linkitä vaikka ws2_32.lib tjsp.

Richtextboxin saat käyttöön normaalisti lataamalla DLL:n LoadLibraryllä ja sitten CreateWindowilla väsäämällä ikkunan (näin muistaakseni).

sooda [24.11.2003 15:25:16]

#

No tietääkö kukaan noita .ocx tiedostoja? eikö ne ole rekisteröity rekisteriin jollain ihme coodilla joka on aina sama?

thefox [25.11.2003 15:05:20]

#

Ainakin MFC projekteihin niitä saa kyllä lisättyä näppärästi mutta muuten en tiedä. Monesti OCX:t ovat ainoastaan rajapintoja DLL:ään (esmes winsock ja richtextbox ocx:t). Katso mitä Google sanoo.

sooda [25.11.2003 15:21:38]

#

jaa... mutta mulla on mswinsck.ocx tiedosto eikä samannimistä dll:ää... jos nyt tolla rajapinnoituksella sitä meinaat...?

thefox [26.11.2003 15:38:58]

#

Mjooh, se DLL ei välttämättä ole samanniminen kuin OCX, winsock DLLiäkin taitaa olla about piljuunalla eri nimellä.

sooda [26.11.2003 17:26:57]

#

juu kunhan ensiks löytäis jonkin toimivan...

Vastaus

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

Tietoa sivustosta