Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

delphi i c++ dll

[es] :: Pascal / Delphi / Kylix :: delphi i c++ dll

[ Pregleda: 2985 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

masetrt
Marko Djurovic
Programer, Omni-Explorer
Beograd

Član broj: 3129
Poruke: 228
195.252.94.*

Sajt: www.vast.com


+2 Profil

icon delphi i c++ dll20.02.2006. u 12:16 - pre 202 meseci
Imam c++ dll koji poseduje f-ju koja izgleda ovako:

Code:
RASTER_API unsigned char* GetImageFromRasterInstance(void *instance , int &imageWidth , int &imageHeight);


tj f-ja vraca niz bajtova. Medjutim nikako ne mogu da importujem tu funkciju tako da mogu da je koristim iz Delphi koda. Stvar je u tome da se dimenzije niza koga funkcija vraca kreiraju unutar funkcije.

Ovako sam importovao f-ju u delphi:

Code:
function GetImageFromRasterInstance(instance: Pointer;
                                    var imageWidth: Integer;
                                    var imageHeight: Integer): Pointer cdecl  {$IFDEF WIN32} stdcall {$ENDIF};


Osim tipa (za povratnu vrednost funkcije) Pointer probao sam i TByteArray , PByteArray , array of byte , Variant ali nista nije pomoglo jednostavno cim je funkcija ubacena u kod program puca. Da li neko ima neku ideju kako bi moglo ovo da se sredi? Hvala unapred
His majesty Grand Duke of Shumadija and Western Pomoravlje
 
Odgovor na temu

Rapaic Rajko
Bgd

Član broj: 4105
Poruke: 802
217.119.242.*



+62 Profil

icon Re: delphi i c++ dll20.02.2006. u 14:14 - pre 202 meseci
Nisi bio precizan; sta znaci "cim se funkcija ubaci u kod, program puca"?
Cim startujes program, ili kad pokusas da izvrsis funkciju? Daj neki kod/text greske.
Kako si importovao funkciju, staticki ili dinamicki?

Rajko
 
Odgovor na temu

mligor

Član broj: 11999
Poruke: 37
*.de.



+5 Profil

icon Re: delphi i c++ dll20.02.2006. u 14:23 - pre 202 meseci
meni to smrdi na pogresan calling convension. Proveri kako je tacno definisan RASTER_API i da li u delphiu imas definisan WIN32.
 
Odgovor na temu

masetrt
Marko Djurovic
Programer, Omni-Explorer
Beograd

Član broj: 3129
Poruke: 228
195.252.94.*

Sajt: www.vast.com


+2 Profil

icon Re: delphi i c++ dll20.02.2006. u 14:26 - pre 202 meseci
Program je pucao kada se pokrene aplikacija, znaci pre poziva funkcije. Funkcije su linkovane staticki ne dinamicki. Greska je bila u tome shto u definisanju funkcije u c++ kodu nije bilo extern "C" posle ubacivanja toga sve je OK. RASTER_API je bio definisan sa:
#define RASTER_API __declspec(dllexport). Bash glupo sto to nisam naveo, ali hvala vam u svakom slucaju

[Ovu poruku je menjao masetrt dana 20.02.2006. u 15:33 GMT+1]
His majesty Grand Duke of Shumadija and Western Pomoravlje
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: delphi i c++ dll

[ Pregleda: 2985 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.