vložil Radek Červinka
19. února 2015 22:53
Jistě znáte jméno Andreas Hausladen - člověk který stojí za IDEFixPack (mimochodem zrovna vyšla nová verze 5.8) , v půlce jednotek z JCL najdete jeho jméno atd.
Několikrát jsem zde jeho dílo velmi obdivoval a to platí stále. Tak on částečně z nudy napsal nový JSON parser, dostupný na github a nepřekvapivě všem ostatním natrhl…
Více...
vložil Radek Červinka
22. ledna 2015 00:05
Nedávno jsem zde ukazoval svůj malý pokus o trasování alokace a dealokace s případným vyhodnocením co se uvolňovalo. A pak jsem narazil na DDDebug - on moji myšlenku dotáhnul až tak, kam jsem si to nedokázal představit. Za pár desítek dolarů dostanete profesionální nástroj na live trasovaní alokací, včetně statistik a výpisu zásobníku pro neuvolněné objekty. Autor nabízí trial demo pro všechny možné verze Delphi.
Více...
vložil Radek Červinka
11. července 2014 22:28
Laskavý čtenář mého blogu jistě už naznal, že Delphi neznamená jen Win32 (Win64, OSX) ale i kompilátory pro iOS a Android.
Tyto kompilátory (kromě kompilace do ARM) přinášejí i podporu ARC (Automatic Reference
Counting) pro objekty (podobně jako k tomu došlo před nedávnem Apple). Princip není v Delphi v podstatě nový - Delphi odjakživa používají stejný mechanismus nejméně pro řetězce a interface.
V podstatě existují dvě možnosti automatického uvolňování paměti - ARC a Garbage Collector, kdy GC je ten nedeterministický (tj. problematický viz Android a nový runtime ART to taky řeší), ale to sem asi nepatří.
Obecně ale oba modely musí řešit cyklické reference. Takže ARC je moc pěkné, ale není vše tak sluníčkové jak by mohlo vypadat. V nejhorším ale jen nedojde k uvolnění, pokud se tomu chceme vyhnout, je nutno jít trochu hlouběji. Upozorňuji, že právě následující text jde v některých detailech hlouběji než je nutné pro normálního programátora.
Více...
vložil Radek Červinka
4. ledna 2012 22:40
Nestává se mi často aby mi poklesla čelist až na zem a zůstal jsem s prominutím čučet s otevřenou pusou - (naposledy když jsem pochopil jak je FireMonkey zamýšlena), ale tohle je snad i větší maso. Nikdy jsem nic podobného neviděl.
UniGUI je duální framework pro psaní normálních a webových aplikací, který jednoduše funguje. Prostě vytvoříte za pomocí komponent svoji aplikaci a pak stejná aplikace (tj. jeden exe) funguje jako webový server, který za pomocí AJAXu na bázi Ext JS vytvoří ve webovém prohlížeči prakticky stejnou aplikaci. Exe funguje jednak jako klasická aplikace, druhak jako HTTP server (díky Indy) obsluhující (nejen AJAX) požadavky.
Alternativně můžete stejnou aplikaci překompilovat jako ISAPI modul pro IIS.
Sakra kdybych si to sám nezkusil, tak tomu nebudu věřit. Mimochodem: Přidal jsem tag "super" kterým zpětně pak označím i další články, které považuji za významné.
Více...
vložil Radek Červinka
15. září 2011 22:24
Konečně se objevují nové informace o Windows 8. Ale to dnes nebude vše.
Více...
vložil Radek Červinka
6. září 2011 23:34
FireMonkey je nová multiplatformní knihovna komponent. Zkuste ji považovat jako alternativu k VCL, přičemž VCL bude i nadále podporována a rozvíjena. VCL je ale striktně vázána na Windows, naopak FireMonkey momentálně existuje pro Windows, Mac OSX a iOS, přičemž je deklarována budoucí podpora pro Linux a Android (a další mobilní platformy).
Na rozdíl od CLX, která byla postavena na QT (která je díky situaci momentálního vlastníka Nokia na konci života), je FireMonkey nativně vytvořena v Object Pascalu a jen pro přístup k HW je používána příslušná knihovna - na Windows GDI+ nebo Direct2D, na MAC to je OpenGL, pravděpodobně pro Linux také, pro iOS je to OpenGL_ES, Android asi také.
Vše je v podstatě "CustomDraw" a jen např. práce s okny, myší je přes instanci Platform předávána OS. Tzn. že cca 90% kódu je nezávislé na OS (protože je to CustomDraw a vše je kresleno HW).
Více...
vložil Radek Červinka
2. června 2011 15:41
A MS to udělal zase. Opět střelil do hlavy svoje vývojáře, kteří používají jeho nástroje. Jako už po několikáté
se vykašle na svůj framework a nabídne nové řešení, takže si svůj kód můžete dát zarámovat.
Nově aplikace pro Windows 8 budou na bázi HTML5 a JS (preferovaně). Stávající aplikace budou označeny jako "old technology", ale budou provozu schopné. Takže ti co investují do .NET nebo Silverlight budou … a SL je tím pádem mrtvější než už byl (pěkné shrnutí).Více...
vložil Radek Červinka
6. května 2011 23:23
Delphi od nějaké verze 3 podporují balíčky (packages). Jedná se o speciální DLL, které podporují speciální vlastnosti Delphi a jejich RTL (tj. zachování objektového modelu, sdílení správce paměti, bezproblémové operace s řetězci a dynamickými poli atd.). Použití balíčků umožňuje velkou modularitu.
Více...
vložil Radek Červinka
30. března 2011 22:17
Zkusím napsat něco typu string, unicode a příbuzných typech v návaznosti na minulý článek o TEncoding. Předem upozorňuji, že:
- většinou (cca 99%) si člověk vystačí s typem string a zde uvedený text ho nemusí moc trápit
- nebude to 100% výklad, ale třeba to někomu pomůže a popř. to někdo upřesní, kdybych něco popletl
- je to trochu hutnější text, tak snad to nebude zmatené
Více...
vložil Radek Červinka
8. března 2011 23:20
Už jsem několikrát naznačil, že Virtual TreeView považuji za nejlepší open source komponentu (a pravděpodobně i komponentu vůbec) pro Delphi.
Dnes jsem potřeboval udělat specifické řešení: rozklikávací položky, na které se dá kreslit, a které mají variabilní výšku. A napadlo mne použít TVirtualDrawTree.Více...
vložil Radek Červinka
3. ledna 2011 22:17
Snad už naposledy malá poznámka ohledně využití FastMM4 při ladění. Tentokráte jak na detekci zápisu mimo alokovanou paměť.Více...
vložil Radek Červinka
20. září 2010 22:26
Laděním našinec zabije velkou část času u vývoje programu. Nebudu Vás podceňovat a ukazovat základní věci jako zadávání breakpointu, ale s debuggerem zkusíme jiné věci.Více...
vložil Radek Červinka
21. června 2010 21:38
Sem tam se ke mně dostane na posouzení nějaký kód a v mnoha případech jsem překvapen, proč si autor trochu neusnadní práci. Konkrétně třeba za pomocí komponenty ActionList.Více...
vložil Radek Červinka
18. května 2010 00:15
Pořád cítím, že bych měl něco napsat i pro začátečníky, kde bych osvětlil některé věci ohledně Object Pascalu, když už se na jejich znalost spoléhám.
A tak jsem se podíval do svého archívu a spojil několik útržků textů, které jsem kdysi napsal z jiných důvodů a výsledek trošku upravil. Nejedná se o učebnici, ani o kompletní přehled, ale spíše takové základy a postřehy. Pro pochopení předpokládám aspoň základní znalosti Pascalu. Více...
vložil Radek Červinka
10. května 2010 23:08
Ten člověk je bůh. Už jsem to psal minule, když jsem popisoval některé jeho komponenty - viz. Synopse a Arnaud Bouchez.
Nyní ale má velký zářez na pažbě a můj nehynoucí obdiv. Publikoval PDF engine, které nemá problém s češtinou, nepoužívá externí knihovnu a hlavně funguje. A je to open source.Více...