Delphi-Quellcode:
var
Status: byte;
Schluessel: string;
Codefile: TFileStream;
begin
Status := 0;
if ansilowercase(LabeledEdit1.Text) = ansilowercase(LabeledEdit2.Text) then
Status := 1;
try
try
Codefile := TFileStream.Create(LabeledEdit5.Text, fmOpenRead);
VHash.Init;
VHash.UpdateStream(Codefile, Codefile.Size);
VHash.Final(Schluessel); {Punkt 1}
except
Status := 5;
end;
finally
Codefile.Free; {Punkt 2}
end;
Mein Problem: an Punkt 1 ist Status im Normalfall 0 (das heißt eigentlich immer), dann drück ich F8/F7 und lande an Punkt 2, dh. der except-Block wird nicht durchlaufen. Aber ab dann ist in "Status" irgend ein Schrott (also ein Wert, zwischen 0 und 255, den ich nicht rekonstruieren kann, scheint zufällig zu sein). Nach weiteren 5-10 Sekunden verabschiedet sich das Programm mit dem Hinweis von Windows, es in Kernel32.dll einen Fehler verursacht, und müsse geschlossen werden...
Hat irgendwer ne Idee?