Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.034 Beiträge
 
Delphi 12 Athens
 
#7

AW: Doppeltes Create?

  Alt 7. Jun 2010, 18:41
Delphi-Quellcode:
LT:=TBintree.Create;
...
LT.create(TString.create(BlattL));
Wenn das/ein instanziertes Objekt in LT existiert, dann kann man einen Konstuctor auch über eine Objektinstanz erstellen und nicht nur über die Klasse.

Allerdings wird hier ein weiteres Objekt erstellt, welches im Nirvana verschwindet ... Ergo sollte ein Speicherleck entstehen.


Nee, wird doch als Methode aufgerufen
Delphi-Quellcode:
type
  TMyClass = class
    constructor Create;
  end;

constructor TMyClass.Create;
begin
  ShowMessage(IntToStr(Integer(Self)));
end;

var
  C: TMyClass;
begin
  C := TMyClass.Create;
  C.Create;

  C := nil;
  C.Create;
end;
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu ( 7. Jun 2010 um 18:48 Uhr)
  Mit Zitat antworten Zitat