Forum: Sonstige Fragen zu Delphi
Delphi
by jbg,
15. Dez 2005
Mein Ansatz mit dem AutoDelete ist da flexibler. Er erlaubt es auch bereits existierende Klassen mit AutoDelete (RefCount) zu versehen. Und man hat nicht das Problem, dass man nicht mehr an das Objekt selbst herankommt. Bei deinem Ansatz müsste man zu aller erst mal ein "Interface extrahieren" drauf anwenden.
Forum: Sonstige Fragen zu Delphi
Delphi
by jbg,
15. Dez 2005
Wieso object ? Das nutze ich doch gar nicht. Oder hat Borland etwa das class als Makro neu definiert und es mit object initialisiert? Wäre mir ehrlich gesagt neu. :lol:
Forum: Sonstige Fragen zu Delphi
Delphi
by jbg,
15. Dez 2005
Dann muss man eben die Compiler-Magic von Delphi mit dem Erzeugen des try/finally beauftragen
Hier mal eine vereinfachte TAutoDelete Klasse.
type
IAutoDelete = interface
function This: Pointer;
end;
TAutoDelete = class(TInterfacedObject, IAutoDelete)
private
FObject: TObject;
Forum: Sonstige Fragen zu Delphi
Delphi
by jbg,
23. Nov 2005
Was habt ihr immer mit der Dateigröße? Übrigens die Optimierung gibt es schon seit TurboPascal und sie nennt sich Smart Linking. Dabei werden alle nicht benutzen Symbole komplett aus dem Kompilat entfernt bzw. gar nicht erst aufgenommen.
Das ein leeres Formular in Delphi bereits 300-400 KB Exe-Dateien erzeugt liegt darin, dass der Compiler ja nicht ahnen kann, dass mann keine weiteren Features...
Forum: Sonstige Fragen zu Delphi
Delphi
by jbg,
22. Nov 2005
Klar. Ich habe da sogar was eigenes mal angefangen, dass mir aus
type
TTemplateList = class(TList){template<T>}
private
function GetItem(Index: Integer): T;
public
property Items: T read GetItem;
end;
TIntegerList = TTemplateList{template<Integer>};