Just as I expected, Netrom came up with this:
>I Delphi manualen står der:
>
>"The default calling convention is register".
Det er hvis du ikke skriver noget, altså hvis du bare skriver:
procedure MinProcedure;
Så forudsætter Delphi at du mener "register" konventionen.
>Men samtidig står der : "The cdecl convention is useful when you call
>functions from DLLs written in C or C++"
Det er fordi C som standard bruger en anden konvention end Delphi gør.
Altså skal du bruger cdecl eller stdcall hvis du vil kalde funktioner
skrevet i C.
>Man kan vel ikke blot vælge frit ?
Du kan da sagtens skrive "cdecl;" bag på alle dine procedure og
funktions deklarationer og bruge den i stedet, men så længe det er
funktioner du selv har skrevet og de kun bliver kaldt af dit eget
program så kan du lige så godt udelade konventionen. Men så snart du
enten selv lavet en DLL som et C program skal kalde, eller du skal kalde
en funktion skrevet i C, så skal du bruger cdecl eller stdcall.
Niels (aka. niLLer)
--
e-mail: nmartin at iname dot com ICQ UIN: 50187323
http://www.niller.f2s.com/ - niLLer's pages (My programs, in English)
http://whitehat.dk/g4s/ - The G4S Page (Personlig side, på dansk)