Moinsens!
Ich bastel mir mal wieder ein Problem ...
Ich möchte eine dBase Datei in ein Array Of Byte einlesen um das später zu verarbeiten.
Das mache ich z.Z. so:
Delphi-Quellcode:
procedure Tform1.Menu_Datei_OeffnenClick(Sender: TObject);
var
ProtFile : File of Byte ;
ProtFileData : Array of Byte ;
i : integer ; // Zählvariable
begin
OpenDialog.Filter := 'dBase-Dateien (*.dbf)|*.dbf';
OpenDialog.InitialDir := 'c:\' ;
if OpenDialog.Execute then
begin
AssignFile(ProtFile, OpenDialog.FileName) ; // Dateivariable den Namen der externen Datei zuweisen
FileMode := 0 ; // ReadOnly
{$i-} // E/A-Prüfung deaktiviert. Fehlerabfrage mit IOResult.
Reset(ProtFile) ; // Datei öffnen
{$i+} // E/A-Prüfung aktiviert. Fehlerabfrage mit IOResult
if IOResult <> 0 then
begin
Application.MessageBox('Datei konnnte nicht geöffnet werden!', 'Visuanalyse', 48) ;
exit ;
end
else
begin
SetLength(ProtFileData, FileSize(ProtFile)) ; // Arraygrösse = Dateigrösse
BlockRead(ProtFile, ProtFileData, FileSize(ProtFile)) ; // Blockgrösse = Dateigrösse
CloseFile(ProtFile) ;
Beim
Blockread kommt es zu einem E/A-Error 998, den ich in der
OH nirgens finde. Was mache ich falsch?
Gruss
Michael