Einzelnen Beitrag anzeigen

Tyrael Y.

Registriert seit: 28. Jul 2003
Ort: Stuttgart
1.093 Beiträge
 
Delphi 2007 Professional
 
#12

Re: WM_COPYDATA mit Records und Arrays

  Alt 16. Okt 2007, 15:50
Also meine Vermutung ist jetzt, daß es mit dynamischen Arrays nicht möglich ist.

Wie komme ich darauf?

Ich hab mir den Record zur Laufzeit angeschaut.

zB.:

Delphi-Quellcode:
type
TBytes = array of Byte;

TMyData = packed record
  Data1 : DWord;
  Data2 : Word;
  ArrayData : TBytes;
end;


Record.Data1 Adresse $983FB4
Record.Data2 Adresse $983FB8 - Abstand wie in Definition 4 Bytes
Record.Array Adresse $983FBA - Abstand wie in Definition 2 Bytes

Record.Array[0] liegt dagegen ganz wo anders zB. auf $982070,
also viel weiter unten im Adressbereich

Record.Array[1]-[n] sind die Folgeadressen von $982070.


Wenn man jetzt die Daten über WM_COPYDATA versendet, geht wogl der Bezug von Record.Array zu Record.Array[0] verloren. Das Array "weiss" nicht mehr wo das erste Element liegt.

Kann mir das ein Wissender bestätigen?
Levent Yildirim
Erzeugung von Icons aus Bildern:IconLev
  Mit Zitat antworten Zitat