Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Prism IntPtr dereferenzieren (https://www.delphipraxis.net/164204-intptr-dereferenzieren.html)

Tonic1024 2. Nov 2011 16:02

IntPtr dereferenzieren
 
Hallo Zusammen...


Ich bekomme von einer Art Treiber-Wrapper in Form einer Assembly-DLL folgenden Callback zurück:
Delphi-Quellcode:
// vereinfacht
method Mainform.OnResult(pResult: IntPtr);
var MyResult: TRecordDingens; // so?
begin
  // und nu?!?
end;
pResult ist laut Doku ein Pointer auf einen Record, wenn ich das richtig verstanden hab. Hab jetzt den kompletten Tag herumprobiert aber komme irgendwie nicht weiter. Wie komme ich an den Record? Einfach dereferenzieren benötigt "unsafe" und "unsafe" ist nicht zulässig sagt der Compiler. Wovon ist "unsafe" abhängig?


Bin nicht wirklich fit auf Prism. Durchaus möglich, dass die Lösung ganz banal ist. :pale:

Gruß,

Toni

Phoenix 2. Nov 2011 16:36

AW: IntPtr dereferenzieren
 
Du musst Unsafe Code ausdrücklich in den Projektoptionen anschalten.

Weitere Infos stehen hier: http://wiki.oxygenelanguage.com/en/Unsafe_Code

Tonic1024 3. Nov 2011 15:41

AW: IntPtr dereferenzieren
 
Ist ja seltsam. Kaum macht mans richtig, schon funktionierts. :roll:

Hatte die Seite zwar auch schon gefunden aber dieser Part war mir entgangen. Danke Dir.

Einmal für Alle:
Unsafe Code wird nur akzeptiert wenn man dies explizit erlaubt.

Projekt -> Eigenschaften (in VS2k8 ganz unten) -> Kompatibilität -> Unsicheren Code zulassen -> Haken setzen.


Toni


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:22 Uhr.

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