Einzelnen Beitrag anzeigen

OregonGhost

Registriert seit: 8. Jun 2002
Ort: Lübeck
1.216 Beiträge
 
Delphi 3 Professional
 
#3

Re: typedef struct aus C++ nach Delphi, LStrHandle LabView

  Alt 16. Okt 2007, 19:57
Witzig, kürzlich gab es ein ähnliches Problem hier in einem Thread von Tyrael.
Nein, char[1] ist nicht dasselbe wie char*. Der Unterschied: char* kann überall hinzeigen, char[1] ist hingegen ein 1 byte großes Array, das am Ende der Struktur liegt und dessen Größe vermutlich per realloc angepasst wird. PByte entspricht hier char*. Wichtig ist hierbei: sizeof(char*) == 4, sizeof(char[1]) == 1. Tyrael hat in seinem Thread array und array[0..0] probiert, beides ging leider nicht so sauber und ich kann für Delphi auch nicht sagen, wie man es macht, nur, wie man es nicht macht

Edit: Vielleicht funktioniert es ja genau wie in C? Einfach array[0..0] nehmen (was char[1] entspricht), dann den Speicherbereich, in dem die Struktur liegt, mit ReallocMem vergrößern und einfach auf Indizes > 0 zugreifen (Bereichsprüfung hierfür deaktivieren)?
Oregon Ghost
---
Wenn NULL besonders groß ist, ist es fast schon wie ein bisschen eins.
  Mit Zitat antworten Zitat