Ich hab's mal geändert. Jetzt wird allerdings dieser Destructor nicht mehr aufgerufen.
Hier die Procedure, welche das einleitet:
Delphi-Quellcode:
procedure TfrmContactDetails.FormDestroy(Sender: TObject);
begin
if Assigned(fPim) then //fPim = TMobilePIM
begin
fPim.OnRefreshData := nil;
fPim.Free;
fPim := nil;
end;
end;
und die geänderte Version:
Delphi-Quellcode:
destructor TMobilePIM.Destroy;
begin
fTimer.Enabled := false;
if assigned(FTimer) then FreeAndNil(fTimer);
inherited Free();
end;
und die Deklaration unter Public:
destructor Destroy();reintroduce;
Auch wenn ich FreeAndNil(fPim) aufrufe, wird TMobilePim.Destroy nicht aufgerufen (jedenfalls nicht beim Schritt für Schritt Debuging.