Delphi-Quellcode:
function AddToArchive(archive_filename:String;InstallPath:String;FileName:String):boolean;
var fpos_start:cardinal;
CRC:DWORD;
buf:array[0..10000] of DWORD;
OneChar:Char;
fArchiv,fSource:file;
gelesen:integer;
i:integer;
fName:String;
begin
// Fügt eine Datei dem Archiv hinzu
CRC:=0;
OneChar:=#0;
gelesen:=0;
AssignFile(fArchiv,archive_filename);
AssignFile(fSource,FileName);
reset(fArchiv);
reset(fSource);
fpos_start:=filesize(fArchiv);
seek(fArchiv,fpos_start);
FName:=InstallPath+ExtractFileName(FileName);
BlockWrite(fArchiv,CRC,SizeOf(CRC));
BlockWrite(fArchiv,FName,length(FName));
BlockWrite(fArchiv,OneChar,SizeOf(OneChar));
While Not eof(fSource) do
begin
BlockRead(fSource,Buf,10000,gelesen);
BlockWrite(fArchiv,Buf,gelesen);
For i := 0 to gelesen do
begin
CRC:=CRC xor Buf[i];
end;
end;
CloseFile(fSource);
CloseFile(fArchiv);
end;
Mit dieser Prozedure hab ich angefangen zu versuchen eine Datei in ein eigenes Archiv hinzuzufügen, allerdings stüzt das Programm in der BlockRead-Zeile mit einem E/A-Fehler 998 ab.
Ich konnte leider bisher nichts finden, deshalb hoffe ich hier eine antwort auf die Frage zu finden. Was bedeutet dieser e/A-Fehler 998 und wie kann ich ihn vermeiden?