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...
vložil Radek Červinka
26. března 2019 22:14
Už od verze 2007 Delphi podporuje procházení přes for - in, bohužel některé třídy stále tuto podporu nemají.
Požadovaný stav:
var
bmk: TBookmark;
begin
for bmk in DBGrid1.SelectedRows do
begin
//xxx
end;
end;
Více...
vložil Radek Červinka
22. ledna 2019 00:14
Sem tam mne Delphi překvapí. Nepřijde vám ta syntaxe u PrintOut trochu zajímavá?
Delphi prý to podporují od verze 2. Myslím, že na pořadí ani nezáleží.
if (OpenDialog1.Execute) then
begin
WinWord := CreateOleObject('Word.Application');
if (not (VarIsEmpty(WinWord))) then
begin
try
WinWord.Visible := false;
Docs := WinWord.Documents;
Doc := Docs.Open(OpenDialog1.FileName);
vFrom := 1;
vTo := 2;
Doc.PrintOut(Background := false, Append := false, Range := wdPrintFromTo, OutputFileName := EmptyParam, From := vFrom, To := vTo);
// err
finally
WinWord.Quit;
end;
end;
Jen pro připomenutí - PrintOut má mnoho parametrů - word.document.printout
0796f7bc-4760-4f9e-8c8a-4df17940fdf9|10|5.0
Tagy:
Praxe
vložil Radek Červinka
16. prosince 2018 10:57
Méně známou vlastností FireDAC je, že obsahuje přímo podporu pro Connection Pool.
Co je Connection pool? Connection pool je třída obsahujicí kolekci otevřených připojeni. V případě vícevláknových aplikací (tj. např. všechny ty REST servery nebo cokoliv kde obsluhuje více požadavků zároveň, případně i normální aplikace, kde používáte více dynamických connection) většinou potřebují přístup do databáze.
FireDAC je threadsafe (tj. bezpečné použítí ve vláknu) jen v případě, že vlákno má vlastní Connection (to je normální požadavek napříč jazyky nebo platformami). Přičemž největší režie je právě vytvoření připojení do DB. Proto se používá mechanismus ConnectionPool, kdy už nepoužívané Connection objekty jsou po nějakou dobu k dispozici a další požadavek na novou connection bude uspokojen některou z těchto Connection.
Nebojte se, FireDAC to má elegantně vyřešeno.
Více...
e0683d1f-8ed9-4781-a984-4e0373238259|7|5.0
Tagy: FireDAC
Praxe
vložil Radek Červinka
5. prosince 2018 21:58
Minulý týden jsem narazil na problém kdy testovací oddělení začalo hlásit problémy při běhu programu na kterém spolupracuji pod Ranorexem.
Odbočka: Ranorex nedávno získala IDERA, tj. vlastník Embarcadero. Tím rozšířila své portfolio pro vývoj aplikací o další zářez, kompletní seznam je na ideracorp.com a obsahuje kromě Embarcadero další akvizice z nedávné doby jako Sencha, Whole Tomato, Test Rail atd. přičemž některé produkty jsou nyní přibalovány k vyšším edicím Delphi. Mimochodem když se podíváte na ideracorp.com/news, uvidíte, že všechny akvizice jsou až po získání Delphi - celkem velké investice do rozšíření portfolia a celkem ve svižném tempu.
Ale zpět k našemu problému s Ranorexem.
Více...
5f14dfd7-9ce3-4ddb-9f0b-7eab88dfe98a|7|3.7
Tagy: praxe
Praxe
vložil Radek Červinka
18. září 2018 22:34
Od Windows XP SP2, resp. Windows Server 2003 operační systém windows obsahuje driver jádra pro obsluhu http požadavků s názvem http.sys. Ve skutečnosti se jedná o plný HTTP server a to přímo v jádře - což mimochodem znamená, že je na nižší úrovni než třeba IIS nebo Apache a bez veškerých závislostí.
Webbroker nabízí několik možností jak překládat výsledné aplikace (např. jako standalone web server), ale http.sys je prostě jiná liga. To si uvědomují i tvůrci komponent, jako např. TMS Sparkle - což je základem jejich nového Delphi web frameworku (pas to JS compiler) WebCore, nebo Intraweb.
A samozřejmě Open Source implementace - Synopse http.sys.
Více...
vložil Radek Červinka
2. července 2018 23:18
Minule jsem psal o MMX code explorer a jeho uvolnění volně ke stažení a tak jsem si řekl, že ho taky zkusím - třeba tam opravdu bude (někdo to naznačoval).
Často píši kód způsobem, že napíši nějakou část a v rámci ní dám volání metod, které následně vytvořím (programování shora dolů). Vždy mi ale chyběla funkce, která by mi ty metodu vygenerovala s korektními parametry.
Více...
vložil Radek Červinka
2. dubna 2018 00:19
Nedávno jsem narazil na prima háček jak udělat v určitých případech víceřádkové ListView položky bez vlastního kreslení.

Ač zastánce VirtualTreeView, sem tam se hodí ListView v report módu a víceřádkový text s fixní výškou.
Více...
28552277-7be9-4d9c-aa4c-3e47ce3f4d17|3|5.0
Tagy: VCL
Praxe
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...
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.

Více...
67228cac-5845-41fc-9143-b4a7c01f85a4|9|4.6
Tagy: ladeni
Praxe
vložil Radek Červinka
9. října 2017 00:50
FireDac je cool a je součástí novějších Delphi. Ale je mi jasné, že i když nové projekty máte v nových verzích, může se stát, že některý
starší projekt zůstává na neunicode verzích, ale přesto by jste rádi i v něm FiredDAC.
Pokud máte legální Delphi XE4 nebo XE3 Enterprise+ (což není zase takový problém, protože součástí každé vyšší verze si můžete vyžádat licenci na starší verze), můžete zkusit stáhnout FireDAC z CodeCentral, poslední verze je cc.embarcadero.com/Item/29458 pro XE4, resp. cc.embarcadero.com/item/29318 pro XE3.
No a pak stačí jen spustit instalátor s parameterem /ShowIDE

a750171a-50c1-4224-a234-8815dca63357|4|5.0
Tagy: FireDAC
Praxe
vložil Radek Červinka
19. září 2017 22:51
EMBT vydalo novou roadmap RoadMap září 2017.
Je znatelný důraz na VCL, Windows 10, High DPI. Novinky v jazyce mají přijít až s další verzí a některé nativní prvky pro Android (input pole, což by mělo řešit bidi vstupy) taky. Zásadnější je 64bit kompilátor pro OS X, což ve spojení s CrossVCL je velmi zajímavé.
Mimochodem: netajím se obdivem k CrossVCL, protože podle všeho chlapci dokázali vyřešit problém VCL x ARC, jak je vidno na kompilátoru pro Linux. Musela být ohromná fuška napsat znovu od píky RichEdit, TreeView, ListView (sice jen v modu Report) atd a to bez podpory WinAPI. To nemluvím o části GDI+ napsané taky z nuly. To pak port Virtual TreeView byl asi proti tomu zábava. Kukněte na Screenshoty a žasněte.
Více...
vložil Radek Červinka
4. července 2017 00:04
Přináším další dávku odkazů co mne zaujalo.
Na embt foru šla informace o tom, že někdo vytvořil nativní androidí FMX TEdit a TMemo - svn.code.sf.net/p/alcinoe/code/source/. Je to součást balíku, který jsem již odkazoval a obsahuje zajímavé další pecky.
Člověk se pořád učí:
net use x: \\http://live.sysinternals.com
Více...
vložil Radek Červinka
3. května 2017 00:09
Mám rád FastReport. Už jsem se mu zde několikrát věnoval, např. jak využít FastScript. Ale až nedávno jsem začal používat ve skriptech dialog.
K čemu je to dobré? Umožňuje mi to flexibilněji reagovat na specifické požadavky uživatelů bez úprav hlavního programu. Lehkou úpravou FastReportu mám zabezpečeno streamování reportů z a do databáze (pořád se držím teze, že na data jsou databáze a kromě ini tam patří v rámci možností vše). To mi umožňuje lehce přidat libovolný report a okamžitě ho uživatel může začít používat. Navíc dialog uložený v reportu rozšíří základní funkcionalitu.

Více...
vložil Radek Červinka
23. března 2017 00:20
Embarcadero dnes (22.3.2017) vydalo další verzi Delphi a C++Builder s podtitulem Tokyo. Hlavní nosnou myšlenkou je přidání kompilace pro Linux 64 bit, bohužel jen pro Enterprise+ edice (nebudu se k tomu dále vyjadřovat).
Co je nového: What's_New, dále Feature matrix, seznam opravených chyb (některé velmi prehistorické).
Download: webinstaller, ISO, FastReport VCL.
Více...