Hmm..
könnte es sein, das ein 'string[23]' anders behandelt wird wie ein 'string' und dann nicht mehr kompatible zu PString ist?
Ist ein 'string[23]' nicht eine Art Shortstring und dann intern ein Konstantenarray of Char und kein dynamischer 'string' mehr?
Ich hab einfach mal die [23] weggelassen und es kommt keine
Exception mehr
Delphi-Quellcode:
sD1 : string = ' 1-Nacken ';
sD2 : string = ' 2-Triceps ';
sD3 : string = ' 4-Rücken oben ';
sD4 : string = ' 9-Rücken unten ';
sD5 : string = '13-O.Schenkel h ';
sD6 : string = '15-Wade ';
sD7 : string = ' 6-Brust seitl. ';
sD8 : string = '10-Hüfte ';
sD9 : string = '12-O.Schenkel s ';
sD10: string = ' 5-Brust vorne ';
sD11: string = ' 3-Biceps ';
sD12: string = ' 7-Bauch oben ';
sD13: string = ' 8-Bauch unten ';
sD14: string = '11-O.Schenkel v ';
sD15: string = '14-O.Schenkel i ';
sD16: string = '-----------------------';
lTxt : array[1..15] of PString = (@sD1 ,
@sD2 ,
@sD3 ,
@sD4 ,
@sD5 ,
@sD6 ,
@sD7 ,
@sD8 ,
@sD9 ,
@sD10,
@sD11,
@sD12,
@sD13,
@sD14,
@sD15 );
Alternativ, wenn Du die Länge behalten möchtest, dann einen eigenen Typ definieren:
Delphi-Quellcode:
type
TMyString = string[23];
PMyString = ^TMyString;
var
sD1 : TMyString = ' 1-Nacken ';
sD2 : TMyString = ' 2-Triceps ';
sD3 : TMyString = ' 4-Rücken oben ';
sD4 : TMyString = ' 9-Rücken unten ';
sD5 : TMyString = '13-O.Schenkel h ';
sD6 : TMyString = '15-Wade ';
sD7 : TMyString = ' 6-Brust seitl. ';
sD8 : TMyString = '10-Hüfte ';
sD9 : TMyString = '12-O.Schenkel s ';
sD10: TMyString = ' 5-Brust vorne ';
sD11: TMyString = ' 3-Biceps ';
sD12: TMyString = ' 7-Bauch oben ';
sD13: TMyString = ' 8-Bauch unten ';
sD14: TMyString = '11-O.Schenkel v ';
sD15: TMyString = '14-O.Schenkel i ';
sD16: TMyString = '-----------------------';
lTxt : array[1..15] of PMyString = (@sD1 ,
@sD2 ,
@sD3 ,
@sD4 ,
@sD5 ,
@sD6 ,
@sD7 ,
@sD8 ,
@sD9 ,
@sD10,
@sD11,
@sD12,
@sD13,
@sD14,
@sD15 );