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

Importovanje funkcije iz dll-a

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

[ Pregleda: 2567 | Odgovora: 9 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

bancika
Branislav Stojkovic

Član broj: 24844
Poruke: 631
213.244.197.*

Sajt: www.diy-fever.com


+1 Profil

icon Importovanje funkcije iz dll-a27.10.2004. u 22:24 - pre 187 meseci
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

DIY gitare, pojacala i efekti www.diy-fever.com
 
Odgovor na temu

reiser

Član broj: 7895
Poruke: 2314



+102 Profil

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

bancika
Branislav Stojkovic

Član broj: 24844
Poruke: 631
195.252.103.*

Sajt: www.diy-fever.com


+1 Profil

icon Re: Importovanje funkcije iz dll-a28.10.2004. u 01:06 - pre 187 meseci
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

DIY gitare, pojacala i efekti www.diy-fever.com
 
Odgovor na temu

reiser

Član broj: 7895
Poruke: 2314



+102 Profil

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

bancika
Branislav Stojkovic

Član broj: 24844
Poruke: 631
213.244.197.*

Sajt: www.diy-fever.com


+1 Profil

icon Re: Importovanje funkcije iz dll-a28.10.2004. u 14:20 - pre 187 meseci
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

DIY gitare, pojacala i efekti www.diy-fever.com
 
Odgovor na temu

Rapaic Rajko
Bgd

Član broj: 4105
Poruke: 786
217.119.242.*



+61 Profil

icon Re: Importovanje funkcije iz dll-a28.10.2004. u 15:11 - pre 187 meseci
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
 
Odgovor na temu

bancika
Branislav Stojkovic

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

Sajt: www.diy-fever.com


+1 Profil

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

DIY gitare, pojacala i efekti www.diy-fever.com
 
Odgovor na temu

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 - pre 187 meseci
Prilikom kompajliranja ?!
Slavisa
 
Odgovor na temu

Milos D
Beograd

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



+1 Profil

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

Zato, probaj da sklonis default vrednost i sa Flags parametra.
 
Odgovor na temu

Rapaic Rajko
Bgd

Član broj: 4105
Poruke: 786
217.119.242.*



+61 Profil

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

Rajko
 
Odgovor na temu

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

[ Pregleda: 2567 | Odgovora: 9 ] > FB > Twit

Postavi temu Odgovori

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