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?


FastMM4 AVX, FastMM5

vložil Radek Červinka 13. srpna 2020 16:21

Už je to nějakou dobu, co jsem psal o FastMM4 naposledy a mezitím se něco změnilo. Vývoj FastMM4 byl nahrazen za FastMM5 s možnou komerční licencí a objevil se fork FastMM4-AVX. Fork mají na svědomí autoři známého emailového klienta Bat!, což není špatná vizitka. Více...

Tagy:

Komponenty | Praxe

DLL a WideString

vložil Radek Červinka 26. listopadu 2016 23:37

Myslím, že normální programátor používající DLL v Delphi obecně chápe, že předávat string jako parametr do DLL není možné bez použití berličky typu SimpleShareMem, která propojí memory manager v hlavní aplikaci s memory managerem v DLL. Což ovšem znemožňuje použití DLL z jiných jazyků a proto se musíme snížit na úroveň předávání přes PChar nebo PWideChar.

Více...

Tagy: , ,

Delphi | Praxe

FastMM, UseReleaseStack a další

vložil Radek Červinka 29. května 2016 03:39

Před nedávnem Primoz Gabrijelcic přidal do nejnovější verze FastMM další option, který by měl vylepšit chování FastMM při mnoha vláknech. Od té doby se ozvalo několik lidí, že to s úspěchem používají na velmi zatížených serverech (např. Eric Grange na beginend.net se 180 vlákny). Původní oznámení je na googleplus - velmi zajímavé.

Pozadí: při uvolňování, resp. alokaci používá FastMM zámek, kterým chrání své struktury. Čím více je vláken, tím větší je šance, že na sebe narazí a budou soupeřit (resp. čekat na uvolnění). Primoz přišel s myšlenkou, že nejméně při uvolňování pokud se nepodaří uvolnění k vůli zámku, tak se takový blok odloží a zkusí se uvolnit při dalším volání, nebo ho uvolní nové čistící vláknou na pozadí.

Více...

Tagy:

Praxe

SapMM - Efektivní Memory Manager pro multithreaded aplikace

vložil Radek Červinka 5. září 2015 01:27

FastMM4 je geniální. V podstatě ve většině instancí je nepřekonatelný - a že se o to stále někdo pokouší. Ale v případech brutálních vícevláknových (hodně vláken), paměťově intenzivních programů je možné, že FastMM přestane dobře škálovat díky tomu, že své interní struktury chrání spinlocky.

Více...

Tagy: , ,

Optimalizace | Praxe

Útržky - Trasování alokace a dealokace paměti

vložil Radek Červinka 6. října 2014 00:18

Znáte ten pocit, kdy Vás napadne podle Vás skvělá myšlenka, tu začnete implementovat a přijdete na to, že to v praxi nebude úplně přesně fungovat jak si člověk vymyslel, ale je Vám líto to vyhodit, protože jsou v tom určité myšlenky, které se někomu mohou hodit? Tak to je případ dnešního kódu.

Více...

Tagy: ,

Praxe

Zvětšení dostupné paměti 32bit programů v Delphi

vložil Radek Červinka 19. září 2014 23:09

Jednoho krásného dne Váš program zjistí, že trpí nedostatkem paměti. Přirozeným krokem je přechod na 64bit aplikace, ale existuje i jiná možnost. U EXE (resp. PE souboru) se dá specifikovat flag IMAGE_FILE_LARGE_ADDRESS_AWARE. Tento flag byl původně určen pro speciální mód 32bit Windows, kdy místo normálních cca 2GB paměti pro 32bit proces nabízel celých úžasných 3GB volné paměti. Praktická využitelnost tedy nic moc, protože tento mód Windows se moc nepoužíval.

Situace se obrátila s příchodem 64bit Windows (jen aby nedošlo k nedorozumnění - dávejte pozor kdy mluvím o 32bit procesu, kdy o 32bit Windows a kdy o 64bit Windows).

Více...

Tagy: , , , ,

Praxe

Náhodné výkřiky 41

vložil Radek Červinka 8. ledna 2014 23:22

Do nového roku s další hrstí odkazů, poznámek a vůbec věcí co mne zaujalo.

Více...

Tagy: , , , , , , ,

Náhodné výkřiky 31

vložil Radek Červinka 20. října 2012 00:54

Další dávka věcí co mne zaujalo z oblasti Delphi nebo IT.

Frank Borland

Fast Report uvedl Fast Report FMX - multiplatformní report generator pro Apple Mac OS X a Microsoft Windows na bázi FireMonkey, kompatibilní s Embarcadero RAD Studio XE2/XE3.

Více...

Tagy: , , ,

Akce | FireMonkey | Novinky

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: , ,

FastMM4 a využití paměti

vložil Radek Červinka 22. června 2012 22:37

Kdysi jsem popisoval jakým způsobem FastMM využívá paměť a jak optimalizuje její používání. Pokud chcete vědět opravdu kolik Váš program používá paměti můžete použít Process Explorer (ale tam je to velmi zkreslené cache memory manageru, protože ten hned paměť nevrací systému, ale dá ji zase programu až si požádá) nebo využít kód, který dodal přímo autor FastMM a který využívá přímo reálných informací.

Více...

Tagy:

FastMM4 pro OSX

vložil Radek Červinka 12. června 2012 22:52

FastMM nyní nově podporuje OSX. Kukněte do SVN, od revize 59. Podle testerů je výkon výrazně lepší, mluví o 20 - 40%. A to je jen verze bez ASM. Více o FastMM viz tag FastMM.

Tagy: ,

Novinky

Náhodné výkřiky 15

vložil Radek Červinka 17. října 2011 22:36

Kupodivu mne stále ještě něco napadá, takže opět pár dalších poznámek. Dnes to bude zmínka o 64bit assembleru, FireMonkey, memory manageru, linkování COFF v Delphi a CnWizards. A na závěr kousek elegantního kódu.

Více...

Tagy: , , ,

Free, FreeAndNil, Assigned a spol

vložil Radek Červinka 13. května 2011 21:39

I pokud je člověk začátečníkem, v Delphi narazí na objekty a třídy v podstatě hned - např. i formulář je objekt.

Jen pro úplnost: objekt je instancí třídy, ale to modří již vědí. Vytvoření objektu je provedeno voláním konstruktoru patřičné třídy. Následně objekt existuje v paměti dokud programátor neuzná za vhodné ho uvolnit (zjednodušeně).

Více...

Tagy: , , ,

Začátečníci

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

Zrychlení IDE různých verzí Delphi

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

Tagy: , , ,

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ů