Einzelnen Beitrag anzeigen

Benutzerbild von phlux
phlux

Registriert seit: 4. Nov 2002
Ort: Witten
1.335 Beiträge
 
Delphi 6 Personal
 
#1

Speicherleck oder nicht bzw. wer findet den Fehler?

  Alt 15. Okt 2004, 18:30
Servus
Hab schon laaange zeit nicht mehr gecodet deshalb passieren mir im Moment ziemlich dumme Fehler trotzdem hätt ich hier eine Frage mal zu klären.
Also ich habe ein Objekt
Delphi-Quellcode:
type
  TWasteItem = class(TComponent)
  private
    { Private-Deklarationen }
    // ...
  published
    { Published-Deklarationen }
    // ...
  end;
Dann erzeuge ich mit folgender Prozedur einen Dialog der zusätzlich eine property Waste: TWasteItem hat
Delphi-Quellcode:
procedure TMainForm.ShowItemDlg(Item: TWasteItem);
var
 ItemDlg: TItemDlg;

begin
  ItemDlg := TItemDlg.Create(Self);
  try
    If Item <> nil then
      ItemDlg.Waste := Item;
    ItemDlg.ShowModal;
  finally
    ItemDlg.Free;
  end;
end;
Jetzt will ich dem Dialog genau so ein Typ übergeben
Delphi-Quellcode:
procedure TMainForm.btnDBEditClick(Sender: TObject);
var
  wItem: TWasteItem;

begin
  wItem := TWasteItem.Create(Self);
  try
    ShowItemDlg(wItem);
  finally
// wItem.Free;
  end;
end;
Mein Problem ist jetzt wenn man wItem.Free nicht auskommentiert dann kommts zu ner Exception Lass ich das Free weg geht alles reibungslos nur dadurch entsteht dann doch ein Speicherleck weil ich den reservierten Speicher nicht mehr freigebe oder? Wäre nett wenn mir mal einer den richtigen Weg zeigen würde

mfg phluphie
Christian "phlux" Arndt
  Mit Zitat antworten Zitat