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

Importovanje funkcije iz dll-a

[es] :: Pascal / Delphi / Kylix :: Importovanje funkcije iz dll-a

[ Pregleda: 1226 | Odgovora: 9 ]

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

bancika
Branislav Stojkovic
Nis, New York

Član broj: 24844
Poruke: 620
213.244.197.*

ICQ: 84215453
Sajt: www.storm-software.co.yu/..


Profil

icon Importovanje funkcije iz dll-a27.10.2004. u 22:24

Pozdrav svima.
Nabavio sam nesto sto mi treba, ali je pisano u C++. Srecom postoji dll.
Kod za importovanje funkcije u C++ glasi

Code:

IMPORTED_FN(int) Convert(const char *rtf, const char *html, r2hFlags Flags=0, const char *imgdir="");


i s' tim nema problema, ali kad prevedem na paskalski nece da radi.

Code:

 function Convert(const rtf, html: PChar; Flags: Longint = 0; ImgDir: PChar = ''): Integer; stdcall; external 'r2h.dll' name 'Convert';


da li sam ja lose preveo ili je nesto drugo po sredi, ali mi javlja za ovaj zadji parametar ImgDir gresku Constant expression expected.

Pokusao sam da stavim nil i kad pozovem funkciju iz delphija padne Access Violation greska.

Jel ima neko savet? Hvala unapred
Ride the rainbow, crack the sky
27.10.2004. u 22:24 

reiser
Vranje

Član broj: 7895
Poruke: 1892
*.dialup.neobee.net.



Profil

icon Re: Importovanje funkcije iz dll-a28.10.2004. u 00:17
Zar ne treba :
Code:
function Convert(const rtf, html: PChar; Flags: Longint = 0; const ImgDir: PChar = ''): Integer; stdcall; external 'r2h.dll' name 'Convert';
28.10.2004. u 00:17 

bancika
Branislav Stojkovic
Nis, New York

Član broj: 24844
Poruke: 620
195.252.103.*

ICQ: 84215453
Sajt: www.storm-software.co.yu/..


Profil

icon Re: Importovanje funkcije iz dll-a28.10.2004. u 01:06
ma da, al i sa tim nece. uspeo sam da ga iskompajliram sa ImgDir = nil.
izgleda da nije u tome. taj dll exportuje vise funkcija. i nijedna nece da radi kako treba. ona odradi posao a posle toga pokaze access violation. bas cudno :) a imam program u C++ koji radi sam tim dll-om sasvim ok
Ride the rainbow, crack the sky
28.10.2004. u 01:06 

reiser
Vranje

Član broj: 7895
Poruke: 1892
*.dialup.neobee.net.



Profil

icon Re: Importovanje funkcije iz dll-a28.10.2004. u 06:16
A da promenis konvenciju za pozivanje (mislim da se tako zove ) ??
Umesto stdcall; probaj da stavis cdecl; ili nesto drugo...
28.10.2004. u 06:16 

bancika
Branislav Stojkovic
Nis, New York

Član broj: 24844
Poruke: 620
213.244.197.*

ICQ: 84215453
Sajt: www.storm-software.co.yu/..


Profil

icon Re: Importovanje funkcije iz dll-a28.10.2004. u 14:20
probao sam i to, nista.
ne verujem da je do toga, jer se obe funkcije izvrse.
tek kada se izlazi iz procedure koja ih je pozvala, npr. Button1Click tada pukne greska. mnogo cudno :)
Ride the rainbow, crack the sky
28.10.2004. u 14:20 

Rapaic Rajko
programer, Grappolo
Bgd

Član broj: 4105
Poruke: 377
217.119.242.*



Profil

icon Re: Importovanje funkcije iz dll-a28.10.2004. u 15:11
Ovako:
1) posto u onom kodu u C++-u (za import) nije eksplicitno navedena 'calling convention', to znaci da je dll pisan u C-u ili C++-u, pa se napipavaju. Znaci, mi moramo da stavimo cdecl konvenciju za import iz Pascal-a;
2) Dodela default vrednosti parametra PChar NECE raditi u samoj deklaraciji funkcije. Probaj ovako:
Code:

function Convert(const rtf, html: PChar; Flags: Longint = 0; const ImgDir: PChar): Integer; cdecll
; external 'r2h.dll' name 'Convert';


ali pre samog poziva te funkcije moras da deklarises parametar ImgDir:
Code:

  aImgDir := '';
  function Convert(artf, ahtml, aFlags, aImgDir);


Probaj pa javi

Rajko
28.10.2004. u 15:11 

bancika
Branislav Stojkovic
Nis, New York

Član broj: 24844
Poruke: 620
*.vdial.verat.net.

ICQ: 84215453
Sajt: www.storm-software.co.yu/..


Profil

icon Re: Importovanje funkcije iz dll-a28.10.2004. u 15:58
to sam prvo probao,
ako ne stavim default vrednost onda mi kaze Default value for ImgDir is needed :)
Ride the rainbow, crack the sky
28.10.2004. u 15:58 

Slavisa
Slavisa Dojcinovic
JKP Cistoca
Banjaluka

Član broj: 9861
Poruke: 44
*.teleklik.net.



Profil

icon Re: Importovanje funkcije iz dll-a28.10.2004. u 18:16
Prilikom kompajliranja ?!
Slavisa
28.10.2004. u 18:16 

Milos D
Beograd

Član broj: 5621
Poruke: 251
*.ptt.yu.



Profil

icon Re: Importovanje funkcije iz dll-a28.10.2004. u 18:21
Ako jedan parametar ima default vrednost, svi naredni takodje moraju imati default vrednost.

Zato, probaj da sklonis default vrednost i sa Flags parametra.
28.10.2004. u 18:21 

Rapaic Rajko
programer, Grappolo
Bgd

Član broj: 4105
Poruke: 377
217.119.242.*



Profil

icon Re: Importovanje funkcije iz dll-a10.11.2004. u 09:18
E, sta je bilo na kraju, zivo me zanima...si resio problem?

Rajko
10.11.2004. u 09:18 

[es] :: Pascal / Delphi / Kylix :: Importovanje funkcije iz dll-a

[ Pregleda: 1226 | Odgovora: 9 ]

Postavi temu Odgovori

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