Mal so rein aus Interesse. (hab meinen Code nun doch anders gestaltet)
Wann werden diese Objekte denn eigentlich freigegeben?
Bis grad eben hatte ich noch Folgendes verbaut:
Delphi-Quellcode:
Class Procedure TXHelper.HandleException(E:
Exception; Proc: TXMLExceptionEvent; Owner: TObject);
Var B: Boolean;
Begin
B := False;
Try
If Assigned(Proc)
Then Proc(Owner, E, B);
Except
On E2:
Exception do Begin
E := E2;
B := True;
End;
End;
If B
Then ShowException(E,
nil);
End;
Aufgerufen wurde/wird es bei mir so:
Delphi-Quellcode:
Try
...
Except
On E:
Exception do TXHelper.HandleException(E, _OnException, Self);
End;
Ich konnte diesen Code bis jetzt noch nicht testen
(da das Gesamtprojekt noch nicht wieder lauffähig ist)
Wäre es da eventuell zu Problemen gekommen?
Also E ist ja noch innerhalb seiner Except-Blocks,
aber E2 wäre ja außerhalb gewesen.
PS: jetzt sieht mein Code so aus:
Delphi-Quellcode:
Class Procedure TXHelper.HandleException(E:
Exception; Proc: TXMLExceptionEvent; Owner: TObject);
Var B: Boolean;
Begin
Try
B := False;
If Assigned(Proc)
Then Proc(OwnerE, B);
If B
Then ShowException(E,
nil);
Except
On E2:
Exception do ShowException(E2,
nil);
End;
End;
Ein Therapeut entspricht 1024 Gigapeut.