Delphi.cz

Český portál Delphi

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

Navštivte adresář nejpopulárnějších open source Delphi komponent

Platform status - podporované platformy v jednotlivých verzích

Free Delphi Starter Edition download

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

Lehký úvod do Virtual TreeView - pokračování

Minule jsem nastínil základy práce s Virtual TreeView, ale uvědomil jsem si, že jsem pořádně nezdůraznil virtuální aspekt práce této komponenty. Zkusím to dnes ještě napravit. Více...

Datum: 2010-01-22 21:27:00 Tagy: komponenty, VCL, Virtual TreeView, super

Praxe

Jak nastavit layout Delphi 7 v Delphi 2010

Mnoho lidí je konzervativních (v určitých oblastech třeba i já) a prostě nemůžou přenést přes srdce změnu IDE nových Delphi proti Delphi 7 a to zvláště ve dvou oblastech:

  • nahrazení palety komponent za seznam (na to jsem si zvykl celkem rychle, zvláště díky rychlému hledání)
  • "undocked" okna (to v případě více monitorů může být trochu problém) Více...

    Datum: 2010-01-21 22:36:00 Tagy: Delphi 2010, IDE, Delphi 7,

    Návody

Lehký úvod do Virtual TreeView

Virtual Treeview jsem již uváděl v přehledu zajímavých komponent pro Delphi. Abych se přiznal, tak tuto komponentu považuji za jednu z nejlepších co pro Delphi existují a navíc se jedná o Open Source kód. Dá se použít jako pekelně rychlý strom nebo něco jako ListView nebo kombinace obojího a nebo prostě cokoli. Více...

Datum: 2010-01-20 22:07:00 Tagy: komponenty, VCL, Virtual TreeView

Praxe

Dočasné řešení pro shell extensions v Delphi a Windows 64

Jelikož je Delphi64 stále jen ve vývoji a pro shell extensions pro Windows 64 je třeba 64 bit DLL, je třeba si dočasně pomoci jinak (tedy pokud potřebujete rozšiřovat shell).

Na CodeCentral je k dispozici malý program, který po kompilaci v 64 bit. verzi FreePascalu umožňuje spustit externí program již v Delphi, tj. 32 bit. Jinak jde samozřejmě i zkompilovat v Delphi, ale výsledek bude jen pro 32bit Windows.

originální vlákno na Non-Technical

Mimochodem svoje přání ohledně vývoje delphi lze prezentovat hlasováním na delphi.uservoice.com.

Více...

Datum: 2010-01-18 20:35:00 Tagy: delphi64, dll

Praxe

OOP přístup k souborům v Delphi 2010

Titulek je lehce zavádějící, jelikož Delphi má OOP přístup k souborům odjakživa, ale nyní se jedná ještě o jiný přístup. Raději to ukáži na příkladu.

V jednotce jsou definovány tyto třídy (resp. jsou to spíše nové recordy - jak již víme tak Delphi od D2007 - nebo tak nějak - umožňují definovat u záznamů metody):

  • TDirectory
  • TPath
  • TFile

Tento objektový přístup je podobný jako v .NET. Více...

Datum: 2010-01-13 20:59:00 Tagy: Delphi 2010, RTL

Recenze

Migrace existujících Delphi aplikací na Unicode - PDF

Jelikož se mi stále nechce napsat o problémech s migrací na unicode (je to na dost velký článek), tak aspoň nabídnu další možnost: na blogu caryjensen.blogspot.com je dostupný volně ke stažení mnoha informacemi plný PDF o Delphi a unicode.

Mimochodem již dříve jsem upozornil na Delphi 2009 handbook, no a snad se k tomu někdy prokoušu i já.

Více...

Datum: 2010-01-11 21:11:00 Tagy: Delphi 2009, unicode, Delphi 2010,

Knihy

Memory mapped soubory v Delphi

Delphi umožňuje různé možnosti pro přístup k souborům (TFileStream, BlockRead, Read atd), ale ještě je možné použít vysoce efektivní přístup přes soubory mapované do paměti (Memory mapped files) za pomoci Windows. Více...

Datum: 2010-01-09 22:49:00 Tagy: delphi, VCL

Návody

Optimalizovaná RTL pro Delphi 7

update: Již i verze pro Delphi 2007

Na webu se objevila neoficiální optimalizovaná verze RTL knihovny z Delphi 7, resp. z licenčních důvodů jen její diff. Autoři tvrdí, že ji používají v kritických projektech a podle popisu a používaných knihoven to vypadá zajímavě. Na zmiňované stránce je přehled změn.

Součástí je např. FastMM, některé části FastCode, části RTL optimalizované a opravené některé chyby ve Windows Vista, takže pokud používáte Delphi 7 tak to asi stojí aspoň za pohled.

Více...

Datum: 2010-01-08 22:58:00 Tagy: Delphi 7, RTL, Delphi 2007,

Optimalizace

Spoluautor?, návštěvnost burzy

Původní myšlenka portálu byla (tedy kromě toho archívu konference), že zkusím vyplnit informační prázdno, které zde bylo ohledně novinek Delphi a zároveň ukáži, kam se Delphi posunulo po velmi používané verzi 7 a plus zajímavé (spíše odbornější) texty. To samozřejmě platí a baví mne to.

Postupem času se ozvalo pár lidí, že by uvítalo i články pro začátečníky (ale ne zas typu hello world). Jenže já už tak jsem celkem zaneprázdněn a navíc mne takové věci moc neberou. Nenašel by se mezi čtenáři někdo, kdo by rád sem tam přihodil článeček? Klidně mi napište přes kontaktní formulář nebo na radekc zavinac delphi.cz. Dokonce jsem uvažoval, že bych zkusil přesvědčit autora seriálu na zive.cz Václava Kadlece zda by nepovolil publikování aspoň některých dílů (pokud se na něj dokáži dostat)…

Druhá věc je burza. Prakticky každý čtvrtý návštěvník stránky s burzou navštěvuje, ale nikdo se moc nemá k tomu aby dal inzerátek. Přitom si myslím, že lepší možnost pro hledání lidí (a podle reklam se programátoři hledají) asi moc není. No uvidím, třeba se to prolomí.

Poslední věc jsou odezvy serveru. Trošku jsem podcenil zájem, navíc server na kterém delphi.cz momentálně běží vypadá, že je dost zatížen takže v brzké době se bude migrovat na (doufám) lepší hosting. Zatím se tedy omlouvám za někdy opožděné odezvy.

Více...

Datum: 2010-01-07 00:24:00 Tagy: Delphi cz

Server

Delphi 2009 - Anonymní metody

Delphi už dlouho má procedurální typy (tj. typu procedura nebo funkce, v podstatě pointer) a ukazatele na metody ( tj. typ pointer na metodu). To druhé je základem celé VCL - kdykoliv deklarujete třeba OnClick obsluhu jedná se právě o druhý případ. První případ je používaný méně, ale třeba já ho často používám pro různé callback funkce atd.

Anonymní metody rozšiřují stávající stav, kdy místo jména procedury nebo metody prostě napíšete kód. Navíc se v takovém případě mění platnost lokálních proměnných. Více...

Datum: 2010-01-06 00:29:00 Tagy: kompilátor, Delphi 2009, anonymni metody

Jazyk Recenze

Delphi 2010 a debug vizualizers

S Delphi 2010 přichází i další vylepšení v debuggeru. Už v Delphi 2007 byla třeba přidána podpora breakpointů přes callstack (viz mé poznámky o Delphi 2007) a mnoho dalších rozšíření debuggeru Delphi (např. pojmenování vláken pro debugger), ale dnes něco o debug vizualizerech. Více...

Datum: 2010-01-02 22:29:00 Tagy: Delphi 2010, ladeni, debugger

Recenze

Delphi 2009 - změny v kompilátoru a RTL (část 2) - generika

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

Datum: 2009-12-31 01:50:00 Tagy: Delphi 2009, RTL, kompilátor, generics

Jazyk Recenze

Delphi 2009 - změny v kompilátoru a RTL (část 1)

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.

Začneme od konce - dnes tedy ten zbytek.

Delphi 2009 je následníkem Delphi 2007 a proto je vhodné začít čtení se shrnutím předchozí verze Delphi 2007. Více...

Datum: 2009-12-31 01:37:00 Tagy: Delphi 2009, RTL, kompilátor, unicode

Recenze

Přidán přehled verzí Delphi

Byla založena stránka Verze Delphi, která obsahuje seznam verzí Delphi spolu s klíčovými vlastnostmi. Seznam bude postupně doplňován a odkaz na něj je v pravém sloupci.

Více...

Datum: 2009-12-29 21:18:00 Tagy: delphi, verze

Novinky

RTTI a nové RTTI v Delphi 2010

V nových Delphi 2010 bylo konečně vylepšeno RTTI (Run Time Type Information - tj. informace o typech získané za běhu).

Jen ve zkratce dřívější stav: pokud při deklaraci třídy uvedete published, budou členy v této skupině mít sice viditelnost jako public, ale kompilátor k nim navíc přigeneruje speciální RTTI informace. Více...

Datum: 2009-12-29 01:07:00 Tagy: RTL, delphi, Delphi 2010, RTTI, super

Jazyk Recenze

Delphi SOAP Runtime a Importer Update pro D7, D2005 a D2006

Jak jsem psal tak v Delphi 2007 byla výrazně vylepšena podpora WSDL/SOAP včetně nové verze importního nástroje pro WSDL.

Pro ty, kdo nemohou upgradovat své projekty na D2007 je nyní od firmy Embarcadero dostupná možnost vylepšit podporu SOAP/SWDL i pro projekty v Delphi 7, 2005 a 2006 o podporu z Delphi 2007.

Stahujte na codecentral.

Více...

Datum: 2009-12-27 21:51:00 Tagy: Delphi 7, Delphi 2005, Delphi 2006, SOAP, VCL

Podpora

Delphi 2010 a podpora pro gestures

Nové Windows 7 obsahují podporu pro gestures (gesta - rozeznávání pohybu myši nebo dotyku na touch screenu). Jedná se o velmi užitečné rozšíření zvláště pro multitouch obrazovky popř. kiosky, i když např. taková Opera používá gesta i pro myš.

Ale jelikož je oficiálně podpora od MS jen pro Windows 7, byla autory Delphi přidána do nové verze Delphi podpora i pro XP a Vista (a 2000 asi taky). Navíc byla přidána virtuální klávesnice. Více...

Datum: 2009-12-23 21:08:00 Tagy: Delphi 2010, VCL, komponenty, touch,

Recenze

ToolCloud licence pro Delphi

Embarcadero: S okamžitou platností jsou k dispozici kromě stávajících licencí i licence typu ToolCloud pro RAD Studio 2010, Delphi 2010 a C++Builder 2010, které umožňují používat volitelně verze 2010, 2009 i 2007 všech těchto produktů. Více...

Datum: 2009-12-23 20:57:00 Tagy: embarcadero,

Tiskové zprávy

Neoficiální RAD Studio 2007 Debugger fix řeší problémy ve Windows 7

Nedávno jsem zmiňoval hotfix pro debugger v Delphi 2009 a Windows 7 64 bit, nyní se objevil neoficiální fix pro Delphi 2007 a Windows 7 64bit .

Ačkoliv byla úprava vytvořena jedním z autorů Delphi, není oficiální a tudíž i není podporována Embarcaderem, tj. pokud Vám bude fungovat OK, jinak prostě nic.

Stažení z CodeCentral, informace.

Popřípadě zde je jiné řešení: http://www.monien.net/delphi-2009-windows-7-64-bit-debugger-crash-workaround/

Více...

Datum: 2009-12-20 23:30:00 Tagy: Delphi 2007

Aktualizace

Nástroj na detekci možných problémů při migraci na unicode Delphi 2009+

Existuje nástroj, který proběhne Váš kód a dá celkem přesnou představu kde může být problém při přechodu na unicode.

unicode parser

Program není úplně 100%, ale celkem může napomoci. Testovány jsou konstrukce typu WriteBuffer, ale i práce s pointery (ne všechno je samozřejmě nebezpečné).

Program je dostupný na code central registrovaným uživatelům.

A nezapomeňte: migraci určitě začněte aktualizací komponent - určitě to někdo už udělal za vás. Někdy příště podrobněji.

Více...

Datum: 2009-12-16 19:41:00 Tagy: Delphi 2009, unicode

Praxe

Detekce problémů za pomoci FastMM4

O FastMM4 jsem již psal a zmínil jsem se také, že pomáhá detekovat problémy s uvolňováním paměti. Více...

Datum: 2009-12-15 19:30:00 Tagy: RTL, delphi, ladeni, FastMM

Praxe

RAD Studio 2010 aktualizace 4 a 5 dostupná

Aktuálně je dostupný update pro všechny uživatele Delphi 2010 nebo RAD Studio 2010. Jedná se o opravený update 2 a 3, který způsoboval na některých instalacích problémy. Podle autorů se aktualizace dají aplikovat pro všechny verze 2010 ať už s nebo bez předchozích aktualizací.

Aktualizace 4 je aktualizace celého produktu bez databázové části, aktualizace 5 je jen databázová část.

Obě aktualizace se dají stáhnout na code central nebo nechejte zkontrolovat aktualizace vaše IDE a instalace proběhne automaticky.

Seznam oprav pro Delphi

Více...

Datum: 2009-12-15 18:41:00 Tagy: Delphi 2010

Aktualizace

Integrovaný HTML prohlížeč bez IE

V současnosti je moderní integrovat HTML prohlížeč do programu. Ono je to nejen moderní, ale i někdy praktické. Typické použití jsou Welcome pages, různé dynamické klikací logy nebo navigace a nebo třeba jen integrované HTML stránky s popisem.

Hodně často se to řeší pomocí integrace Internet Exploreru. Výhodou je opravdu mocný browser, nevýhodou je právě závislost na IE (kdoví jak to bude v budoucnosti, problémy s aktualizacemi windows atd.).

Naštěstí existuje i jiné řešení a to THtmlViewer. Tato původně komerční komponenta je napsaná v Object Pascalu, původní autor je Dave Baldwin a je nyní Public Domain (tj. volně dostupná). Díky tomu je nyní skupinou programátorů na adrese code.google.com/p/thtmlviewer dále vyvíjena, a tam se také dá stáhnout poslední verze kompatibilní i s Delphi 2009.

Samozřejmě neočekávejte perfektní ACID 2 a spol., ale podpora je překvapivě komplexní a zahrnuje jak tabulky, frames, animovane gify, png, onhover apod a hlavně částečně CSS2 včetně třeba background image atd.

Důležité ale je, že pokud svůj program odladíte na vlastním HTML tak vás nemůže v budoucnosti nic překvapit, jelikož je komponenta částí výsledného EXE, tudíž se jich žádné aktualizace IE netýká. Takže dejte THtmlVieweru šanci. Možná vás překvapí (třeba i malou velikostí ve výsledném EXE).

Více...

Datum: 2009-12-13 22:03:00 Tagy: komponenty, delphi, open source

Komponenty

Výpis z logu Delphi

Na blogu Allena Bauera (Chief Scientist v Embarcadero Technologies) se objevil zajímavý příspěvek - výpis z check-in logu pro Delphi (kompilátor je psaný v C++, IDE pak převážně v Delphi):

25232 trunk/com/ scanner.c Thu Oct 8 20:41:10 2009 UTC ytagawa

Log:

[dcc64]
(scanner.c) Don't define ASSEMBLER for x64 for awhile.

25224 trunk/com/ codegen.c Thu Oct 8 12:35:00 2009 UTC eboling

Log:

Refactoring in PassParams to support changes to stack alignment code.
Changed the logic for aligning the stack for parameter lists for the Mac.

eboling je Eli Boling (dříve Delphi a Kylix, nyní pracuje podle všeho hlavně na DelphiX)

Jak píše Allen Bauer - nelze z toho vyvozovat žádné závěry. Jen je jasné, že Embarcadero opravdu pracuje zároveň na Delphi64 a DelphiX (multiplatformní verze) jak bylo naznačeno v roadmapě a na delphi.uservoice.com.

Můj osobní názor k dcc64 - vypadá to, že už existuje 64 bit kompilátor, ale zatím neumí překládat integrovaný assembler (pokud se rádi hrabete ve zdrojových kódech RTL a VCL tak snad víte, že hodně funkcí je tam ve dvou variantách - čistě v object pascalu a někdy v assembleru). Mimochodem: na blogu zmíněného Eli Bolinga je spousta zajímavostí ohledně problémů s portací na Mac a Linux.

Více...

Datum: 2009-12-12 20:46:00 Tagy: delphiX, delphi64

Novinky

Mini recenze Delphi 2007 (část 2 / 2)

Jak jsem slíbil - je tu druhá část ohledně Delphi 2007 (Delphi 2009 a Delphi 2010 budou někdy následovat). Dnes tedy o RTL a VCL. Doporučuji čtení začít nejprve první částí popisující IDE, kompilátor a změny v jazyce zhruba tak od Delphi 7. Více...

Datum: 2009-12-11 00:32:00 Tagy: delphi, Delphi 2007, embarcadero, komponenty, RTL, VCL, super

Recenze

Mini recenze Delphi 2007 (část 1 / 2)

Hodně lidí stále používají starší verze Delphi (nejčastěji 5-7) a nemají přehled o novinkách v novějších Delphi (a změn je hodně, hlavně ohledně jazyka), takže si je rychle prosvištíme. A to samé pak udělám s Delphi 2009 a snad i s Delphi 2010 (kde se pak budu jen odkazovat na tento článek).

Delphi 2007 je první verzí, která vznikla po oddělení vývojových nástrojů od Borlandu a je znát, že to programátorům dalo novou chuť pracovat a odstraňovat chyby (je pravdou, že Delphi 8 bylo neodladěné). IDE je interně nazýváno Galileo, první verze byla pro neštastné Delphi 8, pro Delphi 2007 se jedná již o 5 verzi IDE a proti předchozím verzím je opravdu stabilní. Delphi 2007 je poslední ne unicode verze a jedná se o nonbreaking verzi, tj. je binárně kompatibilní s Delphi 2006 (tj. dcu z Delphi 2006 lze používat ve 2007). Více...

Datum: 2009-12-08 22:57:00 Tagy: Delphi 2007, delphi, embarcadero, optimalizace, IDE, kompilátor, super

Jazyk Recenze

Profiler kódu pro Delphi

Profilery kódu nejsou moc často používanou pomůckou, ale někdy pomohou velmi výrazně zrychlit běh programu.

Zjednodušeně řečeno je profiler nástroj, který po dobu běhu programu zjišťuje informace o době trvání běhu jednotlivých částí programu a následně po ukončení běhu tyto statistiky zobrazí.

Existují (pokud vím) dva druhy profilerů: instrumentační a vzorkovací (samplovací).

Kdy použít profiler? Jednoduše když máte pocit, že by váš program mohl běžet rychleji. Někdy pak stačí malá změna ve výsledném kódu (např. odstranění zbytečného volání funkce, použitím nějaké cache nebo odstranění opětovného vyhodnocování špatně udělané property tím, že si zapamatujete její hodnotu) a výsledný kód běží rychleji a uživatel to ocení. Více...

Datum: 2009-12-06 21:11:00 Tagy: nastroje, delphi, optimalizace, profiler

Praxe

RAD Studio 2009 Debugger hotfix řeší problémy ve Windows 7

Delphi 2009, C++Builder 2009 a RAD Studio 2009 hotfix je dostupný a řeší některé problémy s debuggerem pod Windows 7 (většinou 64 bit verzí).

Hotfix je dostupný na CodeCentral cc.embarcadero.com/item/27476.

Nejdůležitější oprava je výskyt assert při ladění aplikace s více vlákny na 64-bit verzi Windows 7. Text při assert je:

Assertion failure: "(!"SetThreadContext failed")"
in ..\win32src\thread32.cpp at line 434
Continue execution?

Kromě toho bylo opraveno několik dalších chyb pro Windows 7. Všechny opravy jsou také obsaženy v 2010 nebo v připravovaném servis packu pro D2010.

Více...

Datum: 2009-12-04 20:04:00 Tagy: Delphi 2009, embarcadero

Aktualizace

Marco Cantú a REST servery

Embaradero: Technická studie ZDARMA a exkluzívní nové videoprezentace pro RAD Studio 2010.

Reprezentační převod stavů (Representational State Transfer, REST) je nová architektura webových služeb, která má rozsáhlý dopad na celý průmysl. Množství nových veřejných webových služeb používá REST jako technologii pro sdílení a slučování informací z mnoha různých zdrojů. Delphi 2010 přidává zvláštní podporu pro vývoj serverů REST v rámci infrastruktury DataSnap. Ale toho, co můžete dokázat s Delphi a využitím REST při vaší vývojářské práci, je mnohem víc. Nyní máte příležitost dozvědět se více od mistra v oboru Delphi. Více...

Datum: 2009-12-01 22:02:00 Tagy: video, embarcadero, REST

Novinky

Jak je to s burzou?

Burza má sloužit pro podporu programátorů v Delphi. Ze začátku (dejme tomu do konce roku 2009) bude inzerování zadarmo (max. 1 inzerát) jak pro firmy tak pro jednotlivce. Později se budou platit, ale nijak přemrštěně - cílem je zaplatit hosting a trošku naší energie.

Podle statistik návštěvnosti burzu navštíví cca každý třetí návštěvník delphi.cz a ten určitě ví, že je na serveru ohledně delphi, takže cílení je zaručeno. Myslím, že inzerce zde má větší dosah než obecné servery s nabídkou práce.

Jen pro ukázku jsem přidal jeden demo inzerát.

Více...

Datum: 2009-12-01 21:17:00 Tagy: Delphi cz

Server