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

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?


Případ FieldByName

vložil Radek Červinka 6. března 2018 00:36

Jak se tak potuluji po zákaznících se školením nebo konzultacemi, tak narážím na opakovanou situaci s FieldByName (případně podobnými funkcemi).

Více...

Tagy: , ,

Optimalizace | Praxe

Debugger znovu

vložil Radek Červinka 14. listopadu 2017 00:37

Ladění je jako vyšetřování vraždy, kdy je člověk sám vrahem. Některé věci užitečné pro ladění jsem naznačoval dříve, ale možná je vhodné je připomenout.

Jedna z nich je okno Evaluate/modify, kde můžete zadat nejen název proměnné, ale prakticky libovolný řádek kódu Delphi a ten bude spuštěn z kontextu laděného procesu. Tedy např.

Watch

Více...

Tagy: ,

Změna pozice vykonávání při ladění programu

vložil Radek Červinka 4. listopadu 2017 22:41

Je mi jasné, že jsem o tom již kdysi psal, ale opakovaně na školeních, které provádím, narážím na tuto vlastnost IDE, která je pro mnohé překvapením: jednoduchá změna pozice aktuálního řádku provádění kódu. Nejedná se o žádnou novinku, ale o věc cca z verze Delphi 2010.

Aktuální pozice je ukázána šipkou, viz obrázek.

debugger

Více...

Tagy:

Praxe

TDataset debug visualizer

vložil Radek Červinka 11. července 2017 00:07

Když v D2010 byla do Delphi přidána podpora Debug visualizer měl jsem radost. Od té doby žádný nový oficiální nepřibyl, ale aspoň komunita něco přidala. Mimochodem RSP-16946 je feature request o nové vizualizery.

TDataset debug visualizer

Více...

Tagy: ,

Nástroje

Unit testing s DUnitX

vložil Radek Červinka 23. února 2015 21:52

Od doby co jsem napsal článek o Delphi unit testování již nějaký čas uplynul. Původní DUnit byl napsáno v době cca Delphi 6 a to odpovídá té době. Proto jsem ocenil, když jsem nalezl DUnitX, který pěkně využívá možností novějších Delphi pro usnadnění práce.

Více...

Tagy: ,

Novinky

DDDebug

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.

DDDebug

Více...

Tagy: , ,

Nástroje

Náhodné výkřiky 46

vložil Radek Červinka 8. října 2014 19:12

Dnes to bude převážně o nástrojích na které jsem nedávno narazil.

Více...

Tagy: , , ,

Poslední pomoc při ladění

vložil Radek Červinka 18. března 2014 00:49

Dnes bych rád ukázal jeden prastarý trik, který vám může pomoci při ladění v poslední instanci.

AV

Delphi v normální situaci instaluje globální ovladač výjimek, který odchytává vaše problémy (to je to okno které se zobrazí při výjimce). Tento globální ovladač samozřejmě můžete nahradit vlastním, je na to několik knihoven - podrobněji jsem o tom psal dříve - Exception dialog v Delphi.

Více...

Tagy: ,

Praxe

Ladění za pomoci SafeMM

vložil Radek Červinka 4. července 2012 16:01

Pravidelní čtenáři snad chápou, že se tématu ladění věnuji dost podrobně.

Schopnost najít chybu je podle mne to, co odlišuje vynikajícího programátora od zbytku. Postupně jsem se snažil ukazovat různé nástroje a finty jak si práci v této oblasti zjednodušit (počínaje fulldebug mode u FastMM, přes seriál o debuggeru atd).

Dnes ukáži zajímavou možnost a tou je SafeMM.

Více...

Tagy: , ,

Remote debugging - v XE2

vložil Radek Červinka 28. května 2012 23:59

O vzdáleném ladění v Delphi jsem již psal. Jenže s příchodem XE2 se situace zjednodušuje a to hodně a v souvislosti s multiplatformností.

Více...

Tagy: , ,

Návody

Případ TinyDB a XE2

vložil Radek Červinka 28. ledna 2012 22:55

Pod článkem s anketou ohledně nejvyšší používané verze jsou i dva komentáře stěžující si na problémy s XE2. Leoš si stěžoval na design mód a stabilitu ohledně IBX komponent a JaroB na problémy s portací TinyDB z XE do XE2. Bohužel Leoše v tom asi musím nechat, jelikož IBX komponenty a já se nemáme rádi, ale ohledně TinyDB jsem si řekl, že bych to mohl zkusit.

Výsledkem byl zajímavý možný problém ohledně TStream.

Více...

Tagy: , ,

Praxe

Unit testing

vložil Radek Červinka 26. července 2011 23:09

Jedna z důležitých věcí je testování. Nevím jak vy, ale já nesnáším opakované testy. Tj. člověk udělá nějaké změny a následně by měl přetestovat úplně všechno. Ale všichni známe jak to dopadne …

A proto je vhodné použít unit testing, tj. nástroj, který za nás bude opakovaně provádět testy, které mu předepíšeme. Pro Delphi se jedná o DUnit, který je navíc součástí vyšších verzí Delphi (tj. od D2007 nebo možná i starších).Více...

Tagy: , , , , ,

Návody

Užitečné pomůcky pro ladění

vložil Radek Červinka 1. června 2011 23:16

Ladění se zde věnuji často, ale jelikož se některé otázky stále opakují, zde je seznam aplikací, které mi pomáhají a které mohou pomoci i při řešení Vašich problémů.

Možná je to tím, jaký druh programů píši, ale na mém HDD nesmí chybět následující aplikace, které používám jako pomůcky při ladění:

  • WireShark
  • Process Monitor (nahradil dříve používaný RegMon a FileMon nefungující na Windows 7)
  • PortMon (už jen sporadicky)
  • Process Explorer
  • Sampling Profiler - profiler kódu viz. můj odkazovaný článek
  • wget - původně unix program, který např. uloží stáhnutou odpověď z HTTP serveru (např. i včetně hlaviček) do souboru a tam se dá pak prozkoumat co je špatně
  • Unlocker - ukáže, kdo zamkl soubor, kdo ho drží a umožní ho odblokovat nebo kopírovat

No a když už jsem v tom tak i následující nástroje

  • Dependency Walker - co používá váš program za knihovny a které knihovny používají ty knihovny atd.
  • PeInfo, PEiD, StudPe (to ale jen pro případ práce s cizími programy, už jsem je zmiňoval dříve)
  • HiJackThis - pokud Vás zajímá co se zavádí ve Windows

a další Více...

Tagy: , ,

Praxe

Něco o exceptions

vložil Radek Červinka 10. dubna 2011 23:49

Koncept výjimek v Delphi je dobře vymyšlen a dokonce jsem kdesi četl, že je částečně patentován, jelikož v době Delphi 1 byl naprosto převratný způsobem zpracování za běhu (nějak to souviselo s efektivním odvíjením zásobníku při výjimce, detaily si nepamatuji a snad se nepletu).

Mimochodem Windows podporují výjimky až od 32bit verzí, tj. Delphi 1, které bylo 16bit mělo výjimky vlastní a až Delphi 2 mapují část výjimek na výjimky Windows.

Od Delphi 1 je základem třída Exception, která byla v Delphi 2009 trochu rozšířena - přece jen je to už pár let. Více...

Tagy: , , ,

Novinky v Delphi

FastMM4 a detekce přepisu paměti

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

Tagy: , ,

Praxe

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

love Delphi

O Delphi.cz

Delphi je moderní RAD nástroj podporující tvorbu nativních aplikací pro platformu Win32, Win64, Mac OSX, Linux a na iPhone a Android.

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

Dle měsíců