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?