Forum: Object-Pascal / Delphi-Language
Delphi
by choose,
15. Dez 2003
Hallo Hagen,
das Konzept Deiner "forged interfaces" (FI) entsprichte dem der vielen "Garbage Collector for Delphi"-Artikeln. Eine Ähnliche Bibliothek zum Durchführen beliebiger Aktionen sowie einer Implementierung von "SmartPointern", die sogar auf nil zurückgesetzt werden habe ich vor ein paar Monaten geschrieben. Diese von mir als "implicit actions" getaufte Lösung beruht allerdings auf...
Forum: Object-Pascal / Delphi-Language
Delphi
by choose,
7. Dez 2003
Hallo Tiefflieger,
Deine Implementierung von NewInstance stützt sich nach meinem Eindruck wieder auf einen Konstruktor (und der eigentlichen Aufruf verstehe ich nicht ganz!) und damit auf die ursprüngliche Implementierung?
Der diskutierte Ansatz hingegen besteht darin, die Borland-Implementierung
class function TObject.NewInstance: TObject;
begin
Result :=...
Forum: Object-Pascal / Delphi-Language
Delphi
by choose,
7. Dez 2003
Das kommt dem, was ich zZt noch mit dem Borland Memory Manager (BMM) realisiere, ziemlich nahe: Lediglich mit dem Unterschied, dass meine "forgotten Interfaces" als gecachte Werte erst bei Bedarf als "freie Nodes" gekennzeichnet werden, weil sie in den meisten Fällen ohnehin kurze Zeit später erneut "erbaut" werden würden...
Diese Antwort deckt sich mit Deiner Äußerung zur Polymorphie....
Forum: Object-Pascal / Delphi-Language
Delphi
by choose,
6. Dez 2003
Hallo Hagen,
über den Einsatz eines Nodemanagers, der auch recyceln kann, habe ich im Zusammenhang mit Delphi das erste Mal in "The Tomes of Delphi, Aglorithms and Data Structures", Julian Bucknall gelesen. Obwohl ich eine ähnliche Technik bereits erfolgreich bei Tupel-Mengen verwendet habe, war meine Entscheidungsgrundlage nicht wirklich... metrisch fundiert.
Zwar ist in meinem aktuellen...
Forum: Object-Pascal / Delphi-Language
Delphi
by choose,
6. Dez 2003
Exemplare von Klassen (=Objekte) halten neben den Exemplarvariablen noch eine "Referenz auf die Klasse", mit deren Hilfe Konstrukte der Art if myObject is TMyClass thenund Polymorphie iA möglich werden.
Der hierfür benötigte Speicher ist die Größe einer Referenz selbst (zZt 4 Bytes). Darüber hinaus sind Klassen iA für "optimierten Zugriff" ausgerichtet. Diese Optimierung des Compilers hat bei...