![]() |
Adresse eines pointers auslesen
Hallo, ich möchte die Adresse eines pointers auslesen, um diese dann einem anderen zuzuweisen.
das Problem ist, ich möchte nachfolgenden für c++ geschriebene activeX function nutzen. GpsPos ist eine komplexe Structur, in der die Function das Ergebnis speichert. Delphi akzeptiert für *GpsPos aber nur einen Integer bzw. Longint-Wert und keinen Zeiger auf GpsPos. In C ist Pointer und long das gleiche und kann ausgetauscht bzw. zugewiesen werden. Ich würde jetzt gerne den Wert der Speicherstelle auf den GpsPos zeigt (nicht den Inhalt) auslesen und dann als longint an die Function übergeben. 1.1 GetLastPosition(szID,*GpsPos) This method return from the Database the last know position of the terminal. Parameters: [in] LPCTSTR szId. String Terminal Identification. [in] LONG *GpsPos. Pointer to the GpsPos structure. Return: ERRORCODE. (View Error Codes Table). Comments: The application must allocate the position structure and pass to this method a pointer to this structure. |
Re: Adresse eines pointers auslesen
Zeigertypen sind letztendlich auch nur Zahlen, auch wenn die Typprüfung des Compilers diese beiden Arten unterscheidet. Wenn du die Prüfung umgehen willst, einfach casten:
Delphi-Quellcode:
var
p: Pointer; SomeFunc(Integer(p)); //oder ein anderer Typ als Integer |
Danke
Danke, das hat mich ein Stück weiter gebracht. Ximo
|
Re: Adresse eines pointers auslesen
Da pointer aber nie negative Adressen haben können wäre es auch sinnvoller nicht zu Integer sondern zu DWORD/Cardinal zu casten.
|
Re: Adresse eines pointers auslesen
im Prinzip hast du recht, aber Delphi aceptiert nur integer bzw. longint
|
Re: Adresse eines pointers auslesen
Im Grunde ist es auch egal, da Delphi normaler Weise eh nur 2 GB adressieren kann somit hätte man mit 'nem Integer eh vorteile, so ist z.B. alles kleiner 0 ein ungültiger Zeiger ^_^
|
Re: Adresse eines pointers auslesen
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:55 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