vložil Radek Červinka
13. června 2011 23:24
Opět několik navzájem nesouvisejících věcí: dnes náhled zdrojových kódů v průzkumníku pro Windows 7 a Vista, něco o TRTLCriticalSection a spol. a na závěr několik odkazů.
Více...
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...
vložil Radek Červinka
6. května 2011 00:47
Pár zajímavých odkazů, které na disku už nějakou dobu suším a někomu se mohou hodit. Většina lidí se teď věnuje zatím neveřejným akcím, takže je trochu okurková sezóna.
Více...
vložil Radek Červinka
6. května 2011 00:09
Někdy je vhodné použít pro ukládání dat místo datových modulů nebo formulářů "old school" přístup přes resource (např. možnost následně resource vyměnit bez rekompilace).Více...
vložil Radek Červinka
29. dubna 2011 22:00
Opět je tu několik navzájem nesouvisejících výkřiků, které jsou delší než limit twitteru a kratší než článek.
Dnes o tom jak použít RichEdit 4.1, nějaký nástroj, nějaká free komponenta, trochu cool grafiky se zdrojovým kódem, tip pro 64bit kompatibilitu.
Více...
vložil Radek Červinka
2. února 2011 22:40
Dostávám relativně často žádost o pomoc - a hodně často i pomůžu, zvláště pokud se jedná o zajímavý problém (nebo i z jiných důvodů).
Nedávno se mi ozval člověk, který spravuje komunitní stránky kolem jednoho staršího programu napsaného v Delphi 5. Program je celkem speciální a také unikátní, takže časem se rozšířil po světě mezi uživateli v astro komunitě. Více...
vložil Radek Červinka
13. ledna 2011 01:06
Narazil jsem na takovou debatu o velikosti EXE u prázdné VCL aplikace. A jelikož jsem si chtěl upřesnit, jak je to s tou velikostí u jednotlivých verzí Delphi, strávil jsem cca 45 minut vytvářením prázdných aplikací a porovnáváním pomocí JCL Project Analyzeru, který je součástí instalace JCL. Více...
vložil Radek Červinka
28. prosince 2010 01:37
Součástí Delphi XE je i Express verze nástroje CodeSite.
CodeSite je dle mého celkem podařený nástroj pro logování fungující na bázi klient - server, kdy při kompilaci je do programu začleněn kód komunikačního klienta. Komunikace je pomocí zasílání zpráv WmCopyData (standard) nebo pomocí TPC/IP (volitelně, ale v plné verzi i na vzdálené počítače). Tento nástroj poskytuje zajímavé možnosti i v této Express verzi.
Více...
vložil Radek Červinka
5. prosince 2010 23:09
Každý program se dá zrychlit. Nejinak je tomu i u IDE Delphi libovolné verze. V podstatě znám tři možnosti - v závislosti na verzi Delphi.Více...
vložil Radek Červinka
25. listopadu 2010 23:09
FinalBuilder
Napsal Petr Houf: Jednou z novinek, které přinesly aktuální verze vývojových prostředí společnosti Embarcadero, je nástroj FinalBuilder. Ten je součástí dodávky Delphi XE a C++ Builder XE od edice Enterprise a poskytuje bohaté možnosti automatizace procesu sestavování aplikace.
Více...
vložil Radek Červinka
23. listopadu 2010 21:51
Existuje lehce undergroundová aplikace se zdroji pro částečnou dekompilaci DCU, která ale je mimochodem součástí mnoha projektů (namátkou CnPack wizards nebo IDR - Interactive Delphi Reconstructor, o kterém jsem také psal).
Jaký je vlastně rozdíl mezi dekompilaci výsledného EXE a DCU? V EXE nemusí být všechny metody, navíc tam nejsou informace o jménech.Více...
vložil Radek Červinka
19. listopadu 2010 23:32
Další novinkou v Delphi XE jsou nástroje na audit a výpočet metrik kódu a to částečně i ve verze Profesional (tam je jich ale jen několik).
Nebudu nalhávat že bych byl nějaký expert v této oblasti, ale pro zajímavost jsem to zkusil na programu z nedávného článku o RTTI a řekl bych, že pro mou osobu jsou nastaveny celkem přísná měřítka. Naštěstí lze při spuštění akce zvolit které položky jsou pro Vás zajímavé.
Jak audit kódu (QA Audits), tak výpočet metrik kódu (QA Metrics) je spouštěn z menu Project.Více...
vložil Radek Červinka
3. listopadu 2010 23:20
Zase to udělal. Opět všechny překvapil.
Zatím jsem se nikdy nezmiňoval o nějakém beta rozšíření, ale tentokrát udělám malou výjimku. Andreas Hausladen uvedl beta verzi svého IDEFixPacku, kdy pro opakované použití CodeInsight (tj. nápovědy kódu po Ctrl+Space) není žádná prodleva a navíc je hodně robustní k chybám ve zdrojovém kódu, kdy nabídne nekompletní nabídku místo původního mlčení.
Podporované jsou Delphi 7, Delphi 2007, Delphi 2009, Delphi 2010 a Delphi XE.
Hmm, chtěl bych být tak dobrý. Člověk, který napíše plugin do IDE opravující problémy a (pravděpodobně) nemá zdrojové kódy IDE (i když několikrát řekl, že jeho vztahy s vývojáři jsou hodně nadstandardní) je prostě neuvěřitelný. Předpokládám, že se jeho úpravy brzo promítnou i do Delphi XE (jako to už bylo několikrát).
Jo a odkaz na IDEFixPack 4.0 BETA.
vložil Radek Červinka
14. října 2010 01:12
Drag and Drop Component Suite pro Delphi, autor Anders Melander, je freeware VCL knihovna komponent, která do Delphi přidává podporu pro drag&drop na bázi COM, tj. třeba z Průzkumníku nebo Outlooku.Více...
vložil Radek Červinka
7. září 2010 00:14
Dekompilace je zpětný převod binárního souboru na zdrojovou formu.
Nejdříve ta dobrá (nebo taky špatná - jak se to vezme) informace: Aplikace psané v Delphi (na rozdíl od aplikací v .NET - pokud nejsou obfuskované) nejdou převést zpět na úroveň zdrojáků, ale něco se přesto dá dělat.Více...