![]() |
Delphi-Version: XE2
32 bit Pointer Typen in 64 bit Anwendung?
Hey,
gibt es eine Möglichkeit 32 bit Pointertypen in einer 64 bit Anwendung zu forcieren? Viele Grüße Zacherl |
AW: 32 bit Pointer Typen in 64 bit Anwendung?
Ein Pointer unter x64 hat nun mal 64 Bit.
Was willst du überhaupt erreichen? |
AW: 32 bit Pointer Typen in 64 bit Anwendung?
Ich habe einen Datentyp:
Delphi-Quellcode:
Dieser befindet sich in einer Datei und zwar in Listenform. Um jetzt beispielsweise Eintrag 3 auszulesen, berechne ich das Offset über SizeOf(TTest) * 2. Durch die falsche Pointergröße kommt dadurch natürlich alles durcheinander.
type
TTest = packed record Data: DWord; X: DWord; APointer: Pointer; end; Allerdings möchte ich den Pointer auch ungerne durch DWord oä. ersetzen. |
AW: 32 bit Pointer Typen in 64 bit Anwendung?
Wer kommt auf die Idee einen Pointer abzuspeichern?
Nach dem Laden stimmen die eh nicht mehr. :roll: Genauso wie man kein Integer, Cardinal, NativeInt, NativeUInt oder Char in einer Datei speichert, bzw. für IPC verwendet. Die einzige Möglichkeit: Du nimmst eben DWORD statt Pointer. |
AW: 32 bit Pointer Typen in 64 bit Anwendung?
Das Format und die dazugehörigen Delphi Deklarationen sind nicht von mir :P Werde ich wohl nicht drumrum kommen, alles in DWord zu ändern.
|
AW: 32 bit Pointer Typen in 64 bit Anwendung?
Ich würde eine eigene Deklaration für die gespeicherten Records nehmen und eine für die Datenstruktur im Speicher.
Steht in den APointer-Feldern in der Datei überhaupt etwas Sinnvolles drin? In dem Fall müsste man den Inhalt beim Lesen in die passende Darstellung umrechnen - beim Speichern natürlich ebenso wieder zurück. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:07 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