Einzelnen Beitrag anzeigen

Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.349 Beiträge
 
Delphi 11 Alexandria
 
#29

AW: RAD Studio XE2: Delphi, C++ Builder, Final Builder, FireMonkey - hä???

  Alt 11. Mär 2012, 07:22
Schon alleine durch Generics kann man vieles mit viel weniger Quelltext und zudem typsicher umsetzen.
Kannst Du mir da ein kleines Praxisbeispiel geben? Was genau wird da quasi ausgetauscht bzw. zu weniger gemacht?
Ich habe gerade dort ein Beispiel gepostet, das Generics für die Fensterliste nutzt:
http://www.delphipraxis.net/167037-d...ml#post1155918
Dort gibt es eine Liste aus einem Record (der ist dort nicht wirklich nötig, ich habe den für diesen Thread dort benutzt). Das heißt du hast eine Liste mit bestimmtem Inhalt und musst nicht auf einen bestimmten Typ casten.

Anderes kleines Beispiel:
Delphi-Quellcode:
  TMathGenerics = class
  public
    class procedure Exchange<T>(var Value1, Value2: T);
  end;

class procedure TMathGenerics.Exchange<T>(var Value1, Value2: T);
var
  Temp: T;
begin
  Temp := Value1;
  Value1 := Value2;
  Value2 := Temp;
end;
Jetzt kannst du das benutzen um z.B. den Inhalt zweier Integervariablen auszutauschen:
Delphi-Quellcode:
var
  a, b: Integer;
begin
  ...
  TMathGenerics.Exchange<Integer>(a, b);
Es gibt da noch ganz andere Beispiele, aber die kann ich hier nicht posten, da sie im Rahmen meiner beruflichen Tätigkeit entstanden sind. Auf jeden Fall hat das viele unserer (älteren ) Quelltexte deutlich verkürzt und gleichzeitig viel einfacher gemacht.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat