Entwickler-Ecke

Andere .NET-Sprachen - WaitForSingleObject, unter Delphi 2005 (.NET) nutzen?


ANSIJoker - Mi 18.05.05 12:38
Titel: WaitForSingleObject, unter Delphi 2005 (.NET) nutzen?
Hallo,

ich versuche krampfhaft und erfolglos das WaitForSingleObject
unter Delphi .NET einzubinden. Auf dem generellen weg über "uses windows"
klappt es nicht.

Unter C# konnte ich über DLL-Imports die Funktion direkt importieren
und nutzen, welche Möglichkeiten habe ich unter Delphi .NET?

Danke!


ANSIJoker - Mi 18.05.05 13:46

Lösung:

unter "uses"


[DllImport('kernel32.dll', CharSet=CharSet.Ansi, SetLastError = True)]
function WaitForSingleObject(handle:Integer; timeout:Integer):Integer; external;


AndyB - Mi 18.05.05 14:45

Für was brauchst du denn WaitForSingleObject?
Wenn du die halbe Win32API einbindest, dann frage ich micht, warum du überhaupt in .NET programmmierst.

-> System.Threading.WaitHandle.WaitOne (ist aber nicht für Win32API Handles gedacht)


Noch ein kleiner Tipp:
Win32API Funktionen -> .NET [http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dndotnet/html/win32map.asp]


ANSIJoker - Mi 18.05.05 15:07

user profile iconAndyB hat folgendes geschrieben:
Für was brauchst du denn WaitForSingleObject?
Wenn du die halbe Win32API einbindest, dann frage ich micht, warum du überhaupt in .NET programmmierst.


Ganz einfach: weil es ein .NET Wrapper auf eine native C++ DLL ist und dort ein Win32 Handle erzeugt wird, was ich unter Delphi
eben abfragen muss.


AndyB - Mi 18.05.05 17:34

Das sehe ich dann ein. Wobei die Frage offen bleibt, ob man die C++ DLL nicht nach .NET portieren könnte (würde aber auf ein neuschreiben hinauslaufen, was wohl den Zeitrahmen sprenge dürfte/könnte).


ANSIJoker - Do 19.05.05 06:00

user profile iconAndyB hat folgendes geschrieben:
Das sehe ich dann ein. Wobei die Frage offen bleibt, ob man die C++ DLL nicht nach .NET portieren könnte (würde aber auf ein neuschreiben hinauslaufen, was wohl den Zeitrahmen sprenge dürfte/könnte).



....weil die DLL ein Hardwaretreiber ist und äußert kompliziert. Man kann sie nicht einfach -schon gar nicht nach .NET- portieren. That's it. :wink: