AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Wie sollte eine Template-Syntax für Delphi aussehen?
Thema durchsuchen
Ansicht
Themen-Optionen

Wie sollte eine Template-Syntax für Delphi aussehen?

Ein Thema von jbg · begonnen am 6. Jan 2006 · letzter Beitrag vom 9. Jan 2006
Antwort Antwort
Elvis

Registriert seit: 25. Nov 2005
Ort: München
1.909 Beiträge
 
Delphi 2010 Professional
 
#1

Re: Wie sollte eine Template-Syntax für Delphi aussehen?

  Alt 9. Jan 2006, 16:34
Zitat von choose:
Macht das denn überhaupt sinn? Weder die Codeverfolgständigung noch ErrorInsight könnten Dir beim Erstellen der "Generic-Implementierung" helfen. Deiner Aussage
Zitat von jbh:
Dazu müsste das Plugin ja Delphicode "verstehen"
entnehme ich, dass Du bei der Bildung eines Delphi-konforment Alias wie TIntList ohnehin nicht vorhast auf die Typkompatiblität zu prüfen, oder?
Wenn man aus Andreas' Bleistift ein ganz simples Template ableitet...
Delphi-Quellcode:
template
  TTemplate<T : type> = class
  private
    fValue : T;
  public
    property Value : T read fValue write fValue;
  end;
und die typisierte Verwendung in eine eigene Unit packt...
instantiate TTemplate<Integer> as TInteger; ..., die Verwendung schließlich wieder in einer eigenen Unit stattfindet (Ich habe sowie einen Hang dazu möglichst 1 Klasse/Datei zu haben )...
Delphi-Quellcode:
var Instanz : TInteger;
begin
  Instanz := TInteger.Create();
  Instanz.Value := 1;
...
... könnte man die IDE austricksen, da sie lieber DCUs verwendet als PAS-Dateien.
Da Andreas IMHO einen Wrapper um den dcc gebaut hat dürfte der Zeitstempel der TTemplate- und TInteger-PAS somit älter als der der TInteger-DCU sein.
Die eigentliche Prüfung übernimmt schon der Compiler, Intellisense sollte aus der DCU funktionieren.

Ich habe mich hier mal wieder ziemlich weit aus dem Fenster gelehnt, aber ich denke das war doch der Sinn dahinter. Und falls es so funktionieren sollte wäre doch eine super Vereinfachung.
Ich freue mich schon darauf vllt mit einer Vorab-Version spielen zu können...

Was mir noch fehlt wäre die Möglichkeit innerhalb eines generischen Types auf einen generischen Typ zuzugreifen:
Delphi-Quellcode:
template
  ITemplate<T : type> = interface
    function getValue : T;
    procedure setValue(value : T);
    property Value : T read getValue write setValue;
  end;

template
  TTemplate<T : type> = class(TInterfacedObject, ITemplate<T>)
  private
    fValue : T;
    function getValue : T;
    procedure setValue(value : T);
  public
    property Value : T read getValue write setValue;
  end;
Aber ich glaube kaum, dass das möglich ist.
Robert Giesecke
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:23 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz