Der Grund, wieso die Alloziierung und anschließende Zuweisung nicht funktioniert ist der, das ein 'string' einfach ein Zeiger ist. Wenn Du Strings in einem statischen Record ablegen willst, empfiehlt sich die alte 'String[<Länge>]' schreibweise. So wird der String direkt im Speicherbereich des Records abgelegt:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
| Type TRecord1 = Record mystring : String; end;
TRecord2 = Record myString : String[80]; end;
begin writeln(SizeOf(TRecord1)); writeln(SizeOf(TRecord2)); end. |
_________________
Na denn, dann. Bis dann, denn.