Rozcestník: Jste tu poprvé? Pro začátečníky jsem napsal úvod do programování v Delphi. Můžete si přečíst informace ohledně změn v jednotlivých verzích Delphi a případně mezi jednotlivými edicemi Delphi. Pokud přecházíte ze starších verzí tak si všimněte mého pojednání řetezce a unicode.
Možná Vás bude zajímat spolupráce databáze a Delphi, nebo se budete rozhodovat mezi různými druhy Delphi projektů.
Uvažujete o vývoji pro mobilní zařízení? V tom případě navštivte sekci FireMonkey.

Pokud Vám nestačí náš přehled komponent, navštivte adresář nejpopulárnějších open source Delphi komponent

Free Delphi Starter Edition download

Potřebujete Delphi školení nebo konzultace na různá témata?


Custom VCL Title Bar v Delphi 10.4

vložil Radek Červinka 27. září 2020 15:58

Od Delphi 10.4 je součástí VCL možnost jednoduše implementovat svůj titulek okna s vlastními prvky tak jak to má Chrome, Delphi IDE nebo jiné aplikace.

TitleBar_VCL

Více...


Nabízíme Delphi školení a konzultace na různá témata, primárně ve Vaší firmě.

Tagy:

Delphi 10.4.1 vydáno

vložil Radek Červinka 2. září 2020 23:37

Je dostupný update Delphi 10.4.1. Tato aktualizace se zaměřuje na opravy a vylepšení verze 10.4.

Hlavní oblasti:

  • IDE
  • Delphi Code Insight (LSP)
  • SOAP
  • RTL
  • Firemonkey
  • Optimalizace a zrychlení kompilátoru

Release notes s detailním popisem jednotlivých významných oblastí - doporučuji přečíst, nemá to cenu opakovat. Fix list

Za mne jen poznámku, že došlo k úpravám ohledně SOAP, což byla dlouho ignorovaná oblast k vůli preferenci REST. Jinak si případně přečtěte v release notes tu část ohledně float designeru, pokud se Vás to týka.

Update je binárně kompatibilní s existujícími komponentami (vždy např. v rámci 10.4.x), instalátor provede odinstalaci a pokud zaškrtnete, že chcete nechat v registrech informace, tak Vám zůstanou komponenty a další (asi vyjma GetIt). POZOR: pokud provedete manuálně odinstalaci sami, tak to neplatí!


Nabízíme Delphi školení a konzultace na různá témata, primárně ve Vaší firmě.

Tagy:

Aktualizace

Speciální akce

vložil Radek Červinka 25. srpna 2020 00:13

Embarcadero nabízí do 25. 9. 2020 speciální akci, kdy kromě výrazné slevy přidá k vybraným produktům velmi zajímavé komponenty. Slevy jsou slušných 35%, což embt prezentuje jako cenu za dřívější upgrade.

Mně ale zaujal přídavek ve formě komponent pro Ent+, kde je několik pro mne zajímavých věcí (kompletní seznam). Z těch co mne zaujalo

1) DelphiParser - nástroj na analýzu a migraci zdrojových kódů s důrazem na konverzi BDE aplikací. Dále umožňuje optimalizaci databázových dotazů, přechod na Unicode, přechod na 64bit, převod z VCL do UniGUI, vyčištění a refaktoring kódu, nebo i přenesení C/S aplikací do prostředí RAD Serveru. Osobně jsem nezkoušel.

2) Winsoft Component Library - Rozsáhlá sada komponent pro řešení typických požadavků týkajících se PDF, OCR, USB, XML, JSON, NFC, Barcode, komunikačních portů a mnoha dalších. Zdravím Erika do Košic. Některé věci jsem během času použil.

3) SecureBridge od DevArt - osobně jsem použil

4) Gnostice Document Studio

5) /n Software WebSocket Pack pro Delphi a C++Builder

6) Steema: TeeGrid pro VCL a FMX

Kompletní podmínky v sekci Akční nabídky na jejich webu.

P.S.: Nevím zda jsou komponenty včetně zdrojových kódů.


Nabízíme Delphi školení a konzultace na různá témata, primárně ve Vaší firmě.

Tagy:

Akce

FastMM4 AVX, FastMM5

vložil Radek Červinka 13. srpna 2020 16:21

Už je to nějakou dobu, co jsem psal o FastMM4 naposledy a mezitím se něco změnilo. Vývoj FastMM4 byl nahrazen za FastMM5 s možnou komerční licencí a objevil se fork FastMM4-AVX. Fork mají na svědomí autoři známého emailového klienta Bat!, což není špatná vizitka. Více...


Nabízíme Delphi školení a konzultace na různá témata, primárně ve Vaší firmě.

Tagy:

Komponenty | Praxe

Zajímavé komponenty - MiTeC

vložil Radek Červinka 9. července 2020 23:47

V dalším díle bych rád ukázal komponenty od MiTeC a musím se přiznat, že je to trochu ostuda, že to zde nebylo dříve.

komponenty MiTeC

Michal Mutl alias MiTeC nabízí za pakatel (cca 110EUR) nejobsáhlejší komponenty ohledně všeho možného v systému, od detekce HW s neskutečnými detaily (System Information Component Suite), přes monitorování systému, přes Portable Executable Reader (včetně detekce kompilátoru) až po Key a Mouse logger komponenty.

System Information X

Více...


Nabízíme Delphi školení a konzultace na různá témata, primárně ve Vaší firmě.

Tagy: ,

Zajímavé komponenty - ZXing.Delphi - VCL, FMX

vložil Radek Červinka 22. června 2020 22:41

Další zajímavou komponentou, resp. balíčkem je ZXing.Delphi. Jedná se o port ZXing (Zebra Crossing) což je populární knihovna pro čtení všech možných čárových kódu, včetně QR.

Port je plný, tj. bez DLL knihovny, celý je v Object Pascalu a podporuje jak VCL, tak FMX i pro mobilní kompilátory. FMX má automaticky podporu kamery i na mobilech, pro VCL je v demech jednoduché zapouzdření kamery přes DirectShow, ale můžete použít cokoliv jiného.

Licence: free, Apache 2.0 license


Nabízíme Delphi školení a konzultace na různá témata, primárně ve Vaší firmě.

Tagy:

FireMonkey | Komponenty

Zajímavé komponenty - TECNativeMap (VCL, FMX)

vložil Radek Červinka 14. června 2020 18:27

Pokračujeme v seznamu zajímavých komponent balíkem TECNativeMap. Nejedná se o žádný další wrapper nad prohlížečem k zobrazování map, ale plnohodný nativní zobrazovač map k různým datovým podkladům psaný celý v Delphi na bázi jak VCL tak FMX takže kompletně bez závislosti na nějakém prohlížeči.

Co ho odlišuje od nějakého obyčejného zobrazovače map? Jednak široká podpora mapových podkladů, dále si do něho můžete šáhnout a hlavně může být celý v módu OFFLINE a co byl můj případ, můžete mu v módu OwnerDraw šoupat svoje podklady (Tile) které nejsou veřejné např. z DB, nebo v mém případě číst z proprietárního formátu s neveřejnými daty.

A to celé bez nutnosti připojení k internetu nebo naopak pro online data to automaticky transparentně stahuje.

Zároveň komponenta umožňuje volitelně vytvářet na disku cache stažených obrázků, takže se příště nic nemusí stahovat. Všechno je to svižné a máte to pod kontrolou.

Více...


Nabízíme Delphi školení a konzultace na různá témata, primárně ve Vaší firmě.

Tagy: , ,

Komponenty

Delphi 10.4 - Per-Control styly ve VCL

vložil Radek Červinka 10. června 2020 00:37

V nové verzi je možno specifikovat ve VCL různé styly pro jednotlivé vizuální komponenty. Předtím byla možné použít styl pro celou aplikaci.

Jednotlivé vizuální komponenty mají property StyleName, kde se napíše jako text jméno stylu.

styl

Styl musí být v aplikaci zaveden (buďto za běhu nebo třeba jako výchozí styl přes Project Options - je pak zaveden v dpr).

styl

Více...


Nabízíme Delphi školení a konzultace na různá témata, primárně ve Vaší firmě.

Tagy:

Delphi 10.4 vydáno

vložil Radek Červinka 28. května 2020 21:13

Embarcadero vydalo verzi Delphi 10.4 Sydney.

Základní info

Klíčové vlastnosti

  • už jsem psal o LSP (nové Code Insight)
  • managed records
  • odstranění ARC u mobilních platform (děkuji, děkuji, fakt mi to výrazně zjednodušilo život)
  • offline instalace má stejný instalátor jako online
  • konečně aktualizace v rámci IDE
  • pro IDE je doporučeno Windows 10, Windows 7 nejsou oficiálně pro IDE podporovány, toto neplatí pro výsledné aplikace

Více...


Nabízíme Delphi školení a konzultace na různá témata, primárně ve Vaší firmě.

Tagy:

Delphi

Delphi 10.4 - očekávané novinky - RTL, aktualizace

vložil Radek Červinka 25. května 2020 01:21

Publikováno se speciálním svolením Embarcadero - beta blogging.

Následující hlavní verze je Delphi 10.4 Sydney.

Marco zveřejnil něco o RTL v 10.4, Delphi RTL 10.4. Kromě věcí jako optimalizace JSON nebo RTTI optimalizace je pro mne důležitá hlavně změna deklarace FreeAndNil.

Pozadí: během refaktorizace kódu často dojde k tomu, že z původní např. třídy se stane rekord nebo interface. Což by ničemu navadilo, ale někdy se zapomene, že FreeAndNil to zkousne, protože jeho deklarace je celkem volná, ale ve výsledku se mohou dít věci.

Více...


Nabízíme Delphi školení a konzultace na různá témata, primárně ve Vaší firmě.

Tagy:

Delphi trik 6: generické anonymní metody

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...


Nabízíme Delphi školení a konzultace na různá témata, primárně ve Vaší firmě.

Tagy:

trik

Delphi 10.4 - očekávané novinky - LSP

vložil Radek Červinka 12. května 2020 20:13

Publikováno se speciálním svolením Embarcadero - beta blogging.

Následující hlavní verze je Delphi 10.4 Sydney a z toho co jsem vyzkoušel je na co se těšit.

Jak Marco Cantu, tak David Millington (oba produkt manažeři za Rad Studio) již publikovali dvě ze zásadních novinek a to New in Delphi 10.4: Redesigned Code Insight a Custom Managed Records Coming to Delphi 10.4.

Proč se těšit? Prvním důvodem je LSP, který je jádrem změn v Code Insight.

Jak jsem již psal, jedná se o zkratku Language Server Protocol. V podstatě se jedná o největší změnu v IDE za takových 15let (od Delphi 2005, které změnilo IDE).

Více...


Nabízíme Delphi školení a konzultace na různá témata, primárně ve Vaší firmě.

Tagy:

Delphi trik 5: zrychlení kompilace

vložil Radek Červinka 17. března 2020 23:18

Je několik možností jak zrychlit build aplikace (budeme ignorovat nový HW).

Většinou stačí mít dobře stukturovaný projekt bez kruhových referencí, tj. že kompilátor nic nemusí řešit a jde od základních unit směrem k složitějším. Samozřejmě IDEFixPack hlavně pro starší verze také pomůže, ale následující už tak známé není.

Pokud máte hodně jader je možné, že se už začne projevovat přehazování scheduleru Windows, což zejména u starších verzí (třeba XE) může způsobit už trošku zpomalení.

Zkuste ve správci úloh omezit počet procesorů (osvědčilo se mi na 2 kousky) - nebojte se, platí to jen pro aktuálně spuštěný program, Windows si to nezapamatují.

bds

bds

Tímto způsobem jsem zrychlil kompilaci 1.2MLOC z cca 28s na 19s, což není špatné.

Pokud to zafunguje a má to přínos, máte několik možností (kromě na to zapomenout):

  • Process Lasso
  • teoreticky se dá patchnout bds.exe, v exe je info o tom na kolika procesorech to má běžet, je na to malinký program, který byl kdysi součástí Windows 2000 Server Resource Kit a použivají to převážně hráči na patch starších her, které na více jádrových systémech neběží - https://robpol86.com/imagecfg.html , nezkoušel jsem

V důsledku nefunguje jen rychleji kompilace, ale i třeba napovídání atd. což do brzké (doufám že v další verzi) doby než bude napovídání kódu řešeno přes language server taky potěší.


Nabízíme Delphi školení a konzultace na různá témata, primárně ve Vaší firmě.

Tagy:

trik

Delphi trik 4: Disable Windows Ghosting

vložil Radek Červinka 1. března 2020 22:34

Na fóru Karel Horký sdílel pěkný tip řešící občasný problém s mizením modálního okna za hlavní formulář (např. při různých přepínání - nemyslím TForm.PopupMode) často ve Windows 10.

procedure DisableProcessWindowsGhosting;
var
  DisableProcessWindowsGhostingProc: procedure;
begin
  DisableProcessWindowsGhostingProc := GetProcAddress(
    GetModuleHandle('user32.dll'),
    'DisableProcessWindowsGhosting');
  if Assigned(DisableProcessWindowsGhostingProc) then begin
    DisableProcessWindowsGhostingProc;
  end;
end;

Karel Horký k tomu píše: Volá se to z Create hlavního okna aplikace.

Celé vlákno: forum.delphi.cz/index.php/topic,16907.msg107189.html#msg107189


Nabízíme Delphi školení a konzultace na různá témata, primárně ve Vaší firmě.

Tagy:

trik

Delphi trik 3: ForceQueue

vložil Radek Červinka 30. prosince 2019 21:53

Už dříve jsem psal o TThread.Queue, ale možná jsem nezdůraznil, že v případě volání z hlavního vlákna je takový kód proveden okamžitě, tj. bez volání synchronize, což třeba nejen u Android aplikací může být požadováno.

Pro takový případ je k dispozici TThread.ForceQueue který zaručí, že i v případě volání z hlavního vlákna je takový kód prováděn se synchronizací.

Zkuste si novou aplikaci a na tlačítko Button1.OnClick dejte


procedure TForm6.Button1Click(Sender: TObject);
begin
  TThread.ForceQueue(nil,
     procedure
     begin
       Button1.Caption := 'hello'; // break point 1
       //Button1.Repaint;
     end
    );
end;// break point 2

A nyní program otestujte. Měl by se nejdříve zastavit na break point 2 a pak až na break point 1. Pokud ForceQueue nahradíte za Queue, tak se pořadí zastavení prohodí.


Nabízíme Delphi školení a konzultace na různá témata, primárně ve Vaší firmě.

Tagy:

trik

Naše nabídka

MVP
Ing. Radek Červinka - Embarcadero MVP
profil na linkedin, Twitter:@delphicz

Nabízím placené poradenství a konzultace v oblasti programování a vývoje SW.
Dále nabízíme i vývoj speciálního software na zakázku.

Neváhejte nás kontaktovat (i ohledně reklamy).

Pokud chcete podpořit tento server libovolnou částkou, můžete použít PayPal. Moc děkuji.

Delphi Certified Developer

O Delphi.cz

Delphi je jediný moderní RAD nástroj podporující tvorbu nativních aplikací pro platformu Win32, Win64 , Mac OSX a na iPhone a Android (s výhledem na další platformy díky FireMonkey) na současném trhu (včetně Windows 10).

V současnosti je světová komunita přes dva miliónů vývojářů.

Delphi.cz je nezávislý portál pro uživatele Delphi. Portál není koncipován pro úplné začátečníky, i když i ti se zde nebudou nudit, ale spíše na programátory, kteří již něco znají a chtějí své znalosti dále rozvíjet a sledovat novinky.

Poslední komentáře

Comment RSS