Einzelnen Beitrag anzeigen

Olli
(Gast)

n/a Beiträge
 
#9

Re: Zugriffsverletzung beim Aufrufen einer eigenen DLL

  Alt 30. Jul 2005, 13:25
Zitat von jbg:
pascal ist aber veraltet. Es wurde unter Win16 benutzt, aber dann durch stdcall bei der Win32API ersetzt (sind aber kompatibel, trotzdem sollte man sie nicht mischen).
Das ist leider nicht korrekt. Die beiden sind nicht kompatibel. Schau mal unter Delphi-Referenz durchsuchenCalling conventions nach.
Code:
Directive Param order   Clean-up  Passes parameters in registers?
--------- -----------    --------   -------------------------------
register Left-to-right Routine   Yes
[color=red]pascal   [b]Left-to-right[/b] Routine   No[/color]
cdecl    Right-to-left Caller    No
[color=red]stdcall  [b]Right-to-left[/b] Routine   No[/color]
safecall Right-to-left Routine   No
Ich glaube du verwechselst hier jenes PASCAL (ein Präprozessor-Define in C), welches identisch ist mit dem jetzigen WINAPI (#define WINAPI __stdcall). Hat allerdings nichts mit den gleichnamigen Aufrufkonventionen in Delphi gemein. PASCAL wurde tatsächlich unter Windows 16bit benutzt.

Die Hauptsache ist eben, sie nicht zu mischen, wie ich oben ja schon schrieb. Macht der Fragesteller aber nicht, daher sollte irrelevant sein, welche er benutzt. Zumal dies bei einer DLL die mglw. nie in einem anderen Programm wiederverwendet wird (immerhin wird ein Objektzeiger übergeben!) sowieso irrelevant ist (man muß also nicht krampfhaft stdcall benutzen).
  Mit Zitat antworten Zitat