Thema: Delphi Seltsame Exception

Einzelnen Beitrag anzeigen

Benutzerbild von Mystic
Mystic

Registriert seit: 18. Okt 2003
Ort: Flerzheim
420 Beiträge
 
Turbo Delphi für Win32
 
#7

Re: Seltsame Exception

  Alt 1. Nov 2005, 20:26
Zitat von Der_Unwissende:
Hm, ich geb dir mal recht, wenn du die Instanzen so erzeugst wie gepostet dürfte dass nicht sein. Dann solltest du gucken, ob a) das was scheint auch so ist, am besten ein
Delphi-Quellcode:
if not assigned(keys) then
  begin
    ShowMessage('NACHRICHT');
  end;
vor die Zeile mit dem Fehler (mag überflüssig erscheinen, aber so kann man halt leicht auf Nummer sicher gehen!),
Hab ich schon probiert. Keys = nil.

Zitat von Der_Unwissende:
ok, Debugger und den Wert von Keys tuts natürlich auch. Und wenn der sicher nil / 0 ist, dann muss
a) die Zeile Keys = TStringList.Create nie aufgerufen werden oder
Seltsamerweise klappt es ja, wenn ich WriteBinaryValue im OnCreate von MainForm (nach dem TProfileWriter.Create) aufrufe.

Zitat von Der_Unwissende:
b) Keys irgendwo wieder freigegeben werden, bevor der Aufruf von WriteBinaryValue auftritt. Dann heißt's nach dieser Stelle suchen. Vielleicht ein versehentlich zu frühes Free oder ein setzen von Keys = nil oder oder so. F
Keys wird nur im Destruktor von TProfileWriter freigegeben.

Zitat von Der_Unwissende:
c) fällt mir gerade ein, ActionExecute könnte vor dem OnCreate Ereignis aufgerufen werden. Dann solltest du vor dem Aufruf prüfen ob Keys schon angelegt wurde oder (wozu ich dir dann raten würde) die Ereignisbehandlungsroutine (also dass was zu OnActionExecute gehört) erst im OnCreate zuweisen (nicht im Objekt Inspektor).
Die Aktion wird durch einen Buttonklick von mir ausgelöst, daher dürfte das wegfallen.

----

Seltsam. Mache ich die Methoden virtuell, tritt der Fehler schon hier auf:

WriteBinaryValue(Names[i],a);
Jan Steffens
Der Fachwortgenerator - 100% Schwachsinn --- Der UPnP Router Manager - Kommentare erwünscht!
  Mit Zitat antworten Zitat