vložil Radek Červinka
6. dubna 2022 10:31
Při představení Delphi 11 jsem prakticky vynechal přidání TWinControl.LockDrawing a TWinControl.UnlockDrawing, což ovlivňuje provádění windows zprávy WM_SETREDRAW.
Více...
vložil Radek Červinka
30. března 2022 08:48
Pokud potřebujete používat SOAP, tj. web services, má Delphi léta pro to podporu přes THTTPRIO. Od verze 10.3 RIO je jako komunikační vrstva použit THTTPClient, což je ve většině případů optimální řešení, protože používá preferované řešení operačního systému (např. na Windows SChannel).
Ale: mohou nastat případy, kdy dané řešení nevyhovuje, a pak je tu možnost relativně jednoduše nahradit komunikaci za vlastní (v mém případě to bylo nutnost rychlé změny self signed klientských certifikátů na různých OS). Zvolil jsem synapse. Takže jdeme na to, není to nic hrozného.
Více...
vložil Radek Červinka
16. března 2022 00:43
Je dostupná aktualizace Delphi 11.1 . Aktualizace je binárně kompatibilní s D11, tj. dcu a komponenty z D11 se dají použít bez rekompilace.

Musím říct, že jsem se na okamžik kdy bude nový update oficiálně dostupný těšil z prostého důvodu, že jeho testovací verze používám delší dobu a vím na co se těšit.
Verze Delphi 11.1 se soustředí na kvalitu a "štelování" toho co bylo zásadní pro Delphi 11, tj. např. LSP, High DPI IDE, Welcome page bez exploreru, ladění atd.
Platformy: oficiální podpora Windows 11, macOS 12 Monterey, iOS 15 a Android 12
Zkusím některé věci co mne zajímají vyzvihnout. Ale nejdříve nezbytnosti:
Více...
vložil Radek Červinka
18. ledna 2022 18:54
Kolega si mi dnes stěžoval, že ho štve chování IDE ve stromu projektů, kdy při dvojkliku mezi projekty, nebo i na unitě dojde k zabalení nebo rozbalení uzlu. Jelikož je to určitě varianta VirtualTreeView, že by stačilo vypustit z TreeOptions.MiscOptions hodnotu toToggleOnDblClick.
Vzpomněl jsem si, že jsem dříve ve starších Delphi použival háček, kdy jsem natvrdo změnil velikost fontu v ObjectInspektoru protože se zvětšilo rozlišení a zhoršil se zrak. Mimochodem Quick Delphi plugin to change font size in the Object Inspector (vytvořte si balíček a přidejte do něj tu jednotku).
Pokud se zavede balíček, volá se procedure Register a lze procházet objekty IDE a pokud znáte co chcete změnit, tak máte šanci.
Otazkou tedy zůstává jen jak najít to co je třeba změnit. A zde přichází ke slovu nástroje na procházení objektů IDE, třeba IDE Explorer (ale jsou i další).

IDE explorer - hlavní okno je AppBuilder
Více...
vložil Radek Červinka
13. ledna 2022 02:48
Recykluji starší článek (2016) a ukáži jak za pomoci Delphi a pár minut vytvoříte jednoduchou mobilní aplikaci pro Android s tím, že pokud máte Apple tak ji jen přeložíte pro iOS.
Veškerý vývoj bude probíhat na Windows jako Win32 aplikace a jen výsledek upravíme na zařízení. Naše aplikace umožní zadat IČO a z webu si dotáhne informace o firmě ve formě JSON, ten zpracujeme a zobrazíme.
Co budeme potřebovat
Více...
vložil Radek Červinka
29. prosince 2021 18:23
Upozornění: článek obsahuje různé věci obecně pro vývoj na Android, ne jen ohledně synapse.
Už je to nějakou dobu, kdy jsem portoval Synapsi pro iOS a Linux (2014). V té době mobilní kompilátory nemají AnsiString a proto jsem tam trošku kouzlil a jen část kódu (speciálně hlavně ssPosix.inc, což je implementace soketů společná pro všechny Embarcadero kompilátory mimo windows) se dostala do oficiálního SVN. I to stačilo pro desktopové kompilátory (Mac, Linux). Ale od té doby je už nějakou dobu Android součástí i Professional nebo Community verze, takže zde bude i více článků o něm, protože ho najdete v čemkoliv.
Více...
vložil Radek Červinka
30. listopadu 2021 17:57
Podpora TLS 1.3 je čím dál zásadnější věc. Minule zde byla Synapse a OpenSSL 1.1.1 s podporou TLS 1.3, předtím Indy OpenSSL 1.1.1 IO Handler s podporou TLS 1.3 (stále experimentální) a nyní jsem narazil na Indy SChannel IOHandler (i pro TLS 1.3).
Více...
vložil Radek Červinka
14. října 2021 20:47
Je to už neuvěřitelných 7 let, kdy jsem se zmínil o Delphi MVC frameworku a musím říct, že když jsem tehdy říkal, že mi přijde jako nejprogresivnější tak jsem nelhal.
Od té doby zrobustněl, bylo přidáno spousta funkcí (jako podpora swaggeru, JWT autentizaci, JSON-RPC 2.0, Cors a desítky dalších), nebudu to tady vyjmenovávat, ale přímo odkáži na github.com/danieleteti/delphimvcframework. Součástí archívu je spousta dem. Výhodou je taky kompletní zdrojový kód.
Cílem dnešního článku je ukázat jak jednoduše vytvoříte základní službu (celý REST full je podobně jednoduchý) odpovídající na vaše pořadavky.
Více...
vložil Radek Červinka
14. září 2021 00:27
Embarcadero uvolnilo novou řádovou verzi RAD Studio 11 Alexandria. Po delším čase se změnilo číslování i v reakci na Windows 11 a za mne správné rozhodnutí.
Na úvod Wiki What's New, Release Notes a Feature Matrix.
K instalaci: instálator je částečně paralelizován kde to jde, takže je to trošku rychlejší. A druhá věc, že offline instalace je možná i přes gof soubor, který přihrajete k setupu - viz. release notes. A poslední: při instalaci je konečně zvolit adresář pro Catalog repository, takže to nemusí být na C:

Více...
c2f8c5aa-658f-4e0a-886a-49021886b3b5|16|4.8
Tagy: D11
Delphi
vložil Radek Červinka
9. srpna 2021 22:46
DEC je zkratkou pro Delphi Encryption Compendium, což je knihovna Open Source šifrovacích, hashovacích, CRC a dalších kódů, primárně kompatibilní s unicode Delphi (Delphi 2009 - Delphi 10.4.2 Sydney). Je udržovaná, podporuje moderní šifry a hashe a je kvalitně napsaná.
Rozsáhlý seznam podporovaných šifer, hash a dalšího je na stránkách projektu.
github.com/MHumm/DelphiEncryptionCompendium
vložil Radek Červinka
27. května 2021 19:06
Aktualizace:
Hlavní autor synapse publikoval oficiální nový plugin pro OpenSSL 1.1.1 s názvem ssl_openssl11, tj. nyní je podpora součástí zdrojáků oficiálně.
Synapse je na sourceforge.net/p/synalist/code/HEAD/tree/trunk/.
Původní:
Po minulém příspěvku ohledně TLS a OpenSSL 1.1.1 v Indy se mi ozval jeden člověk na fóru se svojí podpora OpenSSL 1.1.1 v Synapse, takže rád předávám: základní podpora pro TLS a OpenSSL 1.1.1 v knihovně Synapse update.pepak.net/far/filters/src, pokud se někdy objeví i v trunku synapse, tak link opravím.
4ff33c63-b043-4066-9144-dd3295dfa6cc|12|4.7
Tagy: synapse
vložil Radek Červinka
11. května 2021 00:49
Lehce jsem to nakousl při uvedení verze 10.4.2, ale nechtěl bych aby to zapadlo.

A kromě oficiálních typů to funguje i pro RawByteString.
552b8fe9-87fa-4c6d-9d4a-4438bf9a16e6|8|5.0
Tagy:
vložil Radek Červinka
9. května 2021 23:58
Embarcadero uvolnilo tři malé patche řešící speciální problémy, z nichž nejzávažnější je podle mne řešení chyby F2046 out of memory RSP-32768, která u některých velkých projektů mohla nastat.
Každý patch by měl být dostupný přes welcome page nebo přes my.embarcadero.com.
Detaily na RAD Studio 10.4.2 General Patch and Delphi Compiler Patch
Jako ověření můžete zkontrolovat verzi "c:\Program Files (x86)\Embarcadero\Studio\21.0\bin\dcc32.exe", po aplikaci patche by měla být 27.0.41310.5003 nebo novější. Kontrolu proveďte zvláště pokud máte instalován GExpert, který někdy způsobuje problémy s instalací.
877c0751-922d-4b4c-9a3c-9eea7579639e|4|5.0
Tagy:
Aktualizace
vložil Radek Červinka
9. března 2021 18:57
Málo známou vlastností Threads dialogu (View / debug windows / threads) je zobrazení Wait Chain. Asi jsem to nikdy nepopsal a moc se to asi nezdůrazňuje, ale je to užitečná vlastnost, kterou oceníte až ji potřebujete.

Na obrázku jsou nějaké vlákna, některé jsou pojmenované (ale to jsem už popisoval v několik typů pro debugger), ale zajímavější je poslední sloupec, který říká čím je vlákno blokované.
Popravdě nevím v které verzi to bylo přidané, ale v Delphi XE to ještě není a v Delphi 10.2 to už je. Nic mezi tím nemám instalováno.
e693f151-be6c-4dca-80c7-965766f2ee11|6|5.0
Tagy:
vložil Radek Červinka
25. února 2021 23:35
Nový update Delphi 10.4.2 byl uvolněn. Seznam novinek je celkem velký a velký je taky seznam chyb.
Ve zkratce: What’s New in RAD Studio 10.4.2 a na Wiki, bug list
A teď detailněji protože ta verze si to zaslouží:
Jedna z velkých oblastí se týká optimalizace, a to jak z hlediska rychlosti kompilace kde bylo převzato kolem 30 úprav dle IDEFixPack a to v důsledku znamená, že kompilátor je opravdu rychlý nebo i drobných optimalizací codegen (ano dívám se na tebe RSP-27375) nebo RTL. Jako přímé porovnání mám zkušenost, kdy jsem nedávno migroval jeden z menších projektů (cca 200 tisíc řádků) z D2007 právě na 10.4.2 a původní rychlost kompilace na mém Ryzenu byla přes msbuild 3.5s a po migraci 1.2s.
Jedna z klíčových oblastí, která se mne zatím netýká je Windows MSIX Support, dále byla vylepšena podpora TEdgeBrowser, která by měla použivat konečně finální verzi Edge.
Za to se mne ale týká Android 11 a podpora App Bundle, opravy v Paralelní knihovně, zrychlení TCameraComponent na Androidu a import SOAP (WSDL).
Některé z obrázků jsou z prezentace, kde je i po proběhnutí možnost zpětného prohlížení.

Na obrázku je vidět nové (volitelné) informace ohledně stavu řádku (chyba, warning …) a v kódu volitelně různě podtrhnutí. Reakce okamžitá díky LSP. Přiznám se, že se už hodně spoléhám na pohled do structure view, kde jsou okamžitě chyby a méně kompiluji. Navíc přibyla podpora pro CTRL+click na inherited, což mne dlouhodobě iritovalo.
Více...