Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Prism stdcall zulässig in Delphi für .NET? (https://www.delphipraxis.net/102727-stdcall-zulaessig-delphi-fuer-net.html)

dkoehler 3. Nov 2007 13:00


stdcall zulässig in Delphi für .NET?
 
Ich portiere gerade folgenden Code von Win32 nach .NET:

Delphi-Quellcode:
ILocator = interface
  function GetEndByteNumber: Int64; stdcall;
...
TTokenizer = class(ILocator)
protected
  function GetEndByteNumber: Int64; virtual; stdcall;
...
// Implementierung:
function TXmlCustomTokenizer.GetEndByteNumber: Int64;
begin
  ...
end;
und erhalte darauf für die Implementierung die Fehlermeldung: "Procedure definition must be ILCODE calling convention".

Bedeutet das, daß stdcall unter Delphi für .NET nicht mehr zulässig ist? Mich wundert dann nur, daß sich der Compiler nicht schon bei der Interface- bzw. Typen-Deklaration beschwert hat.

Bernhard Geyer 3. Nov 2007 14:47

Re: stdcall zulässig in Delphi für .NET?
 
wieso benötigst du überhaupt stdcall? gib mal mehr infos. Evtl. muß für .NET einiges anders angegangen werden.

dkoehler 3. Nov 2007 14:57

Re: stdcall zulässig in Delphi für .NET?
 
Zitat:

Zitat von Bernhard Geyer
wieso benötigst du überhaupt stdcall? gib mal mehr infos. Evtl. muß für .NET einiges anders angegangen werden.

Der Code soll für beide Delphi-Versionen zugleich funktionieren und der Einfachheit halber möchte ich so wenig {$IFDEF CLR}-Anweisungen wie möglich drinnstehen haben.

Dax 3. Nov 2007 15:00

Re: stdcall zulässig in Delphi für .NET?
 
Das wirst da aber nicht vermeiden können, denn in .NET sind Aufrufkonventionen (außer für COM-Interop, und das über Attribute) ausgemustert worden.

dkoehler 3. Nov 2007 15:12

Re: stdcall zulässig in Delphi für .NET?
 
Zitat:

Zitat von Dax
Das wirst da aber nicht vermeiden können, denn in .NET sind Aufrufkonventionen (außer für COM-Interop, und das über Attribute) ausgemustert worden.

Danke! Die Information fehlte mir (die Delphi-Hilfe ist dafür auch nicht gerade hilfreich).


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:04 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz