![]() |
C-Code zu Delphi (SharedMem)
Moin, Moin,
Für eines meiner Projekte muss ich ein wenig C-Code in Delphi umwandeln, genaugenommen geht es dabei um Zugriff auf den Shared-Memory Bereich eines anderen Programmes. Erst einmal der C-Code Zitat:
Delphi-Quellcode:
Ich bin mir aber absolut nicht sicher ob diese Umsetzung richtig ist, besonders da ich in meinem Projekt gelegentlich ein Exception bekomme, leider ohne Hinweis auf die Adresse.
tGPUZ_Record = packed record
GPUZ_Key : Array [0..255] of WChar; GPUZ_Value : Array [0..255] of WChar; end; tGPUZ_Sensors = packed record GPUZ_Name : Array [0..255] of WChar; GPUZ_Unit : Array [0..7] of WChar; GPUZ_Digits : DWord; GPUZ_Value : Double; End; tGPUZShMem=packed record Version : DWord; Busy : Longint; LastUpdate : DWord; Daten : Array[0..127] of tGPUZ_Record; Sensors : Array[0..127] of tGPUZ_Sensors; end; PGPUZShMem = ^tGPUZShMem; Ich wäre also dankbar wenn mir jemand bestätigen könnte das mein Code richtig ist, oder aber Aufzeigen könnte was daran falsch ist. Mfg El-Blindo [edit=Phoenix]Tippfehler im Titel korrigiert. Mfg, Phoenix[/edit] |
Re: C-Code zu Delhi (SharedMem)
Du könntest ist beiden Programmiersprachen mit Size die Struktur prüfen.
Wenn die Größe gleich ist, dann hast du es richtig übersetzt. |
Re: C-Code zu Delphi (SharedMem)
das #pragma pack schaut für mich so aus als sollte es ein packet record sein...
|
Re: C-Code zu Delphi (SharedMem)
Deshalb ist es ja auch ein packed record.
Ich weiss zwar immer noch nicht ob das ganze 100% richtig ist, aber immerhin funktioniert es so. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:23 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