Einzelnen Beitrag anzeigen

Benutzerbild von hitzi
hitzi

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

Re: EAccessViolation bei Free()

  Alt 3. Dez 2004, 11:27
Mit folgender Procedure funktionierst:

Delphi-Quellcode:
procedure TMobilePIM.Free;
begin
  if assigned(FTimer) then
  begin
    fTimer.Enabled := false;
    FreeAndNil(fTimer);
  end;
  inherited Free();
end;
So aufgerufen:
Delphi-Quellcode:
procedure TfrmContactDetails.FormDestroy(Sender: TObject);
begin
  if Assigned(fPim) then //fPim = TMobilePIM
  begin
    fPim.OnRefreshData := nil;
    fPim.Free;
    fPim := nil;
  end;
end;
Eine letzte Frage dazu. fPim.Free und fPim := nil funktionieren ja - wieso funktioniert FreeAndNil(fPim) nicht? Bei FreeAndNil wird nicht! die Procedure TMobilePIM.Free aufgerufen.
Thomas
Besucht doch mal http://www.hitziger.net
  Mit Zitat antworten Zitat