v4.80 bèta.
Code: Select all
program test24;
// solved in PIC v 3.00 bèta
type TFat16DirItem =
record
FileName: string[8];
FileExt : string[3];
FileAttr: byte;
FileSize: DWord;
end;
var DirItem: TFat16DirItem;
S1: string[50];
procedure MyDirHandling(var Item: TFat16DirItem);
var Sx: string[50];
TmpStr: string[20];
begin
if Item.FileExt[0] > 0 then
begin
Sx := Item.FileName;
StrAppendSuf(Sx, '.');
TmpStr := Item.FileExt; // OK
Sx := Sx + TmpStr; // Ok
Sx := Sx + Item.FileExt; // <-------------------- causes "argument out of range" error
end;
End;{MyDirHandling}
begin
DirItem.FileName := 'Name';
DirItem.FileExt := 'ext';
S1:=DirItem.FileName;
StrAppendSuf(S1, '.');
S1:=S1 + DirItem.FileExt; // no problem here
MyDirHandling(DirItem);
end.
solved in v5.40