vložil Radek Červinka
17. května 2020 22:30
V novějších Delphi, nejméně XE3 - hlouběji jsem se nedíval, je v jednotce System.SysUtils definováno pár generických a zaroveň anonymních metod.
// Generic Anonymous method declarations
type
TProc = reference to procedure;
TProc<T> = reference to procedure (Arg1: T);
TProc<T1,T2> = reference to procedure (Arg1: T1; Arg2: T2);
TProc<T1,T2,T3> = reference to procedure (Arg1: T1; Arg2: T2; Arg3: T3);
TProc<T1,T2,T3,T4> = reference to procedure (Arg1: T1; Arg2: T2; Arg3: T3; Arg4: T4);
TFunc<TResult> = reference to function: TResult;
TFunc<T,TResult> = reference to function (Arg1: T): TResult;
TFunc<T1,T2,TResult> = reference to function (Arg1: T1; Arg2: T2): TResult;
TFunc<T1,T2,T3,TResult> = reference to function (Arg1: T1; Arg2: T2; Arg3: T3): TResult;
TFunc<T1,T2,T3,T4,TResult> = reference to function (Arg1: T1; Arg2: T2; Arg3: T3; Arg4: T4): TResult;
TPredicate<T> = reference to function (Arg1: T): Boolean;
Více...
3380aa1b-277f-48f8-b2f0-56680e49303c|6|5.0
Tagy: generics
trik
vložil Radek Červinka
28. června 2015 15:18
David Berneda (autor TChart) zveřejnil krátkou jednotku TeeGenericTree.pas, která implementuje strom pro obecný datový typ na bázi generik. Podle mne je to pěkný studijní materiál na použití generik, pokud se nechcete omezovat je na pouhé použití existujících List<T> atd..
Více...
vložil Radek Červinka
26. prosince 2013 09:57
Nick Hodges (dřívější product manager Delphi) napsal knihu o moderních způsobech programování jako je Dependency injection, Mocking, unit testing, programování za pomocí rozhraní atd.
V knize používá některé známé open source knihovny jako DUnit (ve variantě DUnitX - Delphi 2010+), Delphi Mocks (Open Source Mocking framework for Delphi XE2 or later), DSharp (mocking, MVVM framework, dependency injection atd), Delphi Spring Framework (dependency injection container …).
Všechny uvedené frameworky potřebují moderní verze Delphi z důvodu např. RTTI, generik atd., ale to asi pro Vás nebude problém. Ne vždy sice s Nickem souhlasím, ale pokud se chcete něco nového naučit tak máte šanci.
Knihu mohou stáhnout registrovaní uživatelé XE5 zadarmo - cc.embarcadero.com/item/29670. Informace se dají najít na twitteru s hashtagem #codingindelphi nebo na leanpub.com/codingindelphi.
vložil Igor Gottwald
2. února 2012 20:46
Dnes bych se s našimi čtenáři rád podělil o jednu nepříjemnou zkušenost z Delphi XE, související s použitím generických struktur a tříd.
Dobrá zpráva je, že v Delphi XE2 Update 3 se tato chyba již neprojevuje. Problém se týká případů, kdy nadefinujete generickou strukturu s více jak dvěma typy (TMyStruct<A,B> = record … end), velikost implementace není větší než 4 byty a voláte funkci, která má tuto strukturu vrátit jako svůj výsledek.
Více...
vložil Radek Červinka
20. října 2010 23:43
Zkoušel jsem si hrát s RTTI (Run Time Type Information) a byl jsem tak nadšen jednoduchostí použití, že výsledkem je jednoduchý program, který ve stromě zobrazuje známé typy včetně metod, property a polí. Zároveň ukazuje efektivní použití anonymních metod, generických typů a to vše na 100 řádcích včetně deklarace.
Více...
vložil Radek Červinka
31. prosince 2009 02:50
Delphi 2009 přináší několik novinek kompilátoru a RTL z nichž nejzásadnější je podpora Unicode, Generika (generics), anonymní metody a pak zbytek.
Minule byla první část změn v Delphi 2009, nyní přicházejí na řadu generika - generics (dobré číst postupně od Delphi 2007).Více...