현미경 사용법을 기록하는 응용 프로그램을 작성하고 있지만 다음 코드는 E2010 호환되지 않는 "WideString"및 "TDataFile"형식의 줄을 읽습니다. SetLength Items, FileSize (F)); 문제를 FileSize (F)로 좁히고, 숫자 대신 오류가없고 i : = fileSize (F)를 할당하려고 시도합니다. 여기서 정수는 같은 오류를 나타냅니다.Delphi 2010에서 FileSize (F)를 사용할 때의 오류
type
TData = record
Status : integer; // 0=operational 1=maintenance 2=fault
OperatorName : string[255];
Client : string[255];
Specimen : string[255];
Memo : string[255];
TEM : TTEM;
SEM : TSEM;
FIB : TFIB;
StartTime : string[22]; // YYYY/MM/DD HH:MM:SS AM
FinishTime : string[22];
DataFileName : string[255];
end;
TDataFile = File of TData;
TDataArray = array of TData
function LoadAllData(FileName: string; var Items: TDataArray):boolean;
// Loads contents of Datafile into Items and returns true if successful else false
var
F : TDataFile;
i : integer;
begin
AssignFile(F, FileName);
try
try
Reset(F);
SetLength(Items, FileSize(F)); // This is the problem line
for i := 0 to High(Items) do
Read(F, Items[i]);
LoadAllData := true;
except
LoadAllData := false;
end;
finally
CloseFile(F);
end;
end;
내가 Win7에 64 비트에서 델파이 2010을 사용하고있어 이런 일이 왜 사람이 알고 있나요 그냥 테스트하기 위해 작은 콘솔 응용 프로그램을 작성 :.? = 파일 크기 (F)는, ....
문제없이 작동
큰 값을 다시 돌려주는 이유는 무엇입니까? – RBA
'TTEM','TSEM','TFIB'의 선언은 무엇입니까? –