Einzelnen Beitrag anzeigen

Benutzerbild von hitzi
hitzi

Registriert seit: 2. Jan 2003
Ort: Eibau
768 Beiträge
 
Delphi 2010 Professional
 
#3

Re: EAccessViolation bei Free()

  Alt 3. Dez 2004, 11:09
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.
Thomas
Besucht doch mal http://www.hitziger.net
  Mit Zitat antworten Zitat