Einzelnen Beitrag anzeigen

Benutzerbild von nailor
nailor

Registriert seit: 12. Dez 2002
Ort: Karlsruhe
1.989 Beiträge
 
#1

Fehler, den ich nicht finde

  Alt 23. Mär 2003, 17:45
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?
Michael N.
http://nailor.devzero.de/code/sharpmath/testing/ --- Tests, Feedback, Anregungen, ... aller Art sehr willkommen!
::: don't try so hard - it'll happen for a reason :::
  Mit Zitat antworten Zitat