Hallo,
das was Du da machst funktioniert nur mit kurzen String, d.H.: Du musst für alle Strings bei der Deklaration eine Längenangabe machen, so wie es in der Typdeklaration von H_TYP gemacht wird.
Vermutlich in der Form (nicht getestet)
Delphi-Quellcode:
// der Record
type H_TYP = record
H24 : String [7];
H25 : String [30];
H26 : Byte;
end;
type H_Zeiger = ^H_Typ;
// mein Sorgenkind
procedure changeH(var Woher; var Wohin);
var Quelle : String[255] absolute Woher;
Ziel : String[255] absolute Wohin;
Dummy : string[255];
begin
Dummy := Copy(Quelle, 4, 7);
Ziel := Dummy;
end;
...
// das Hauptprogramm
var H_N : H_Zeiger;
dummy: string[255];
begin
// wird nur zum Testen verwendet
dummy := 'dasisteinsuperlangerstring';
H_N := Nil;
New(H_N);
with H_N^ do begin
H24 := ''; H25 := '';
changeH(dummy,H24);
end;
Dispose(H_N);
end;