AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Generics in Delphi

Ein Thema von Neutral General · begonnen am 25. Nov 2009 · letzter Beitrag vom 27. Nov 2009
Antwort Antwort
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

Generics in Delphi

  Alt 25. Nov 2009, 17:31
Hi,

Gibt es irgendwo eine wirklich ausführliche, alles erklärende Dokumentation der Generics in Delphi? Die Grundlagen kann ich ja, aber jetzt habe ich mal folgendes versucht:

Delphi-Quellcode:
type
  TBeispiel<T: Class>
  private
    FTest: T;
  public
    procedure TestProc;
  end;

implementation

procedure TBeispiel<T>.TestProc;
begin
  FTest := T.Create;
end;
Eigentlich sogar recht logisch, dass das nicht funktioniert, aber bekomme dann folgende Meldung von Delphi:

Zitat:
[DCC Fehler] Neue Instanz kann ohne CONSTRUCTOR-Einschränkung in der Typparameterdeklaration nicht erstellt werden
Es geht also scheinbar doch irgendwie. Aber diese Meldung sagt mir leider überhaupt nichts und ich finde im Internet weder zu dieser Meldung noch zu Generics in Delphi eine (wie oben schon gesagt) umfassende Dokumentation und Erklärung.

Gruß
Neutral General
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.920 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Generics in Delphi

  Alt 25. Nov 2009, 17:35
Versuche es mal mit <T : Constructor > Damit schränkst Du die Typenvielfalt ein und forderst, dass das, was da kommen mag, auf jeden Fall einen Kontruktor besitzen muss.
Daniel R. Wolf
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#3

Re: Generics in Delphi

  Alt 25. Nov 2009, 17:58
Ok Danke

Aber gibts trotzdem nicht irgendwo ne ausführliche Dokumentation über die Generics? Damit man mal nen Überblick hat was möglich ist und wies geht.
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#4

Re: Generics in Delphi

  Alt 25. Nov 2009, 19:18
Hallo Michael,

Marco Cantù hat eine kleine Einführung geschrieben, die du bei Embarcadero herunterladen kannst: klick

Gruß Hawkeye
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#5

Re: Generics in Delphi

  Alt 27. Nov 2009, 09:27
Hi,

Habe gerade ein kleines Problem...

EDIT: Und die Lösung lautet:

Result := Default(T); =====

Delphi-Quellcode:
IAssignable = interface(IUnknown)
  procedure Assign(AObject: TObject);
end;

TMeineKlasse<T: Class, Constructor, IAssignable> = class;
Funktioniert prinzipiell wunderbar. Aber ich habe dann folgendes in meinem Code:

Delphi-Quellcode:
function TMeineKlasse<T>.GetT: T;
begin
  if FIndex = -1 then
    Result := nil
  else
    Result := FData[FIndex];
end;
Das funktioniert allerdings nur wenn ich IAssignable aus den Einschränkungen entferne...

So funktioniert es:
TMeineKlasse<T: Class, Constructor> = class; Und so
TMeineKlasse<T: Class, Constructor, IAssignable> = class; bekomme ich die Fehlermeldung

Zitat:
[DCC Fehler] Inkompatible Typen: 'T' und 'Pointer'
in der Zeile

Result := nil Das finde ich ziemlich...blöd! Wieso funktioniert das denn jetzt nicht mehr? -.-

Gruß
Neutral General
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
generic

Registriert seit: 24. Mär 2004
Ort: bei Hannover
2.416 Beiträge
 
Delphi XE5 Professional
 
#6

Re: Generics in Delphi

  Alt 27. Nov 2009, 15:59
Hier steht auch noch etwas zu "generics".

http://info.codegear.de/newsletter/n...hiGenerics.htm
Coding BOTT - Video Tutorials rund um das Programmieren - https://www.youtube.com/@codingbott
  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 15:44 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz