Synchronizace TThread za pomocí anonymních metod

vložil Radek Červinka 21. července 2014 23:32

Před několika verzemi byla metoda TThread.Synchronize rozšířena o několik možností volání, mezi jinými i anonymní metody. Nepřikládal jsem tomu moc význam, ale poslední dobou jsem to viděl v několika projektech a nabývám dojmu, že to má větší možnosti než jsem si myslel.

Více...

Tagy: , ,

Praxe

DisposeOf, ARC, Free, WEAK a další

vložil Radek Červinka 11. července 2014 22:28

Laskavý čtenář mého blogu jistě už naznal, že Delphi neznamená jen Win32 (Win64, OSX) ale i kompilátory pro iOS a Android.

Tyto kompilátory (kromě kompilace do ARM) přinášejí i podporu ARC (Automatic Reference Counting) pro objekty (podobně jako k tomu došlo před nedávnem Apple). Princip není v Delphi v podstatě nový - Delphi odjakživa používají stejný mechanismus nejméně pro řetězce a interface.

V podstatě existují dvě možnosti automatického uvolňování paměti - ARC a Garbage Collector, kdy GC je ten nedeterministický (tj. problematický viz Android a nový runtime ART to taky řeší), ale to sem asi nepatří.

Obecně ale oba modely musí řešit cyklické reference. Takže ARC je moc pěkné, ale není vše tak sluníčkové jak by mohlo vypadat. V nejhorším ale jen nedojde k uvolnění, pokud se tomu chceme vyhnout, je nutno jít trochu hlouběji. Upozorňuji, že právě následující text jde v některých detailech hlouběji než je nutné pro normálního programátora.

Více...

Tagy: , , , , ,

Jazyk | Novinky v Delphi

DateUtils.TTimeZone

vložil Radek Červinka 29. května 2014 22:36

V XE byla výrazně rozšířena jednotka DateUtils přidáním podpory pro TTimeZone, doporučuji Vaší pozornosti, zvláště instanci TTimeZone.Local. Pokud potřebujete pracovat s časovými zónami tak tato třída Vám velmi ulehčí práci.

Více...

Tagy:

Novinky

Delphi XE4 - pár novinek

vložil Radek Červinka 23. dubna 2013 23:10

Firemonkey byla výrazně rozšířena. Trial verze je nově dostupná i jako Instant Trial, tj. via AppWave.

Pro zajímavost nově TOSVersion obsahuje nové platformy.

  TOSVersion = record
  public type
    TArchitecture = (arIntelX86, arIntelX64, arARM32);
    TPlatform = (pfWindows, pfMacOS, pfiOS, pfAndroid, pfWinRT, pfLinux);
  public const
    AllArchitectures = [arIntelX86, arIntelX64, arARM32];
    AllPlatforms = [pfWindows, pfMacOS, pfiOS, pfAndroid, pfWinRT, pfLinux];

Hmm, pfWinRT?

Více...

Tagy: ,

FireMonkey

Operátory u záznamů a TBytes

vložil Radek Červinka 4. dubna 2013 01:39

Myslím, že celkem nedoceněnou vlastností je přetěžovaní operátorů u datové struktury record. Z cvičných důvodů ukáži jak např. emulovat 8bit string za pomocí TBytes.

Více...

Tagy: ,

Novinky v Delphi | Praxe

Dynamické zavádění knihoven v MAC OSX

vložil Radek Červinka 7. listopadu 2012 01:17

Kreténi. Tak jedině mohu nazvat autory OS X. Vysvětlím proč. Minule jsem popisoval jak staticky linkovat knihovny na OSX. V podstatě si musíte dát jen pozor, aby se při importu u symbolů přidalo podtržítko. Tj. pokud se exportovaná funkce jmenuje Foo, při importu musíte specifikovat název

_Foo

Ok, prostě taková úchylka, člověk se s tím smíří. Více...

Tagy: , ,

Praxe

Náhodné výkřiky 32

vložil Radek Červinka 1. listopadu 2012 23:34

Ve zkratce několik novinek a poznámek.

Více...

Tagy: , , , , , ,

Novinky

Problémy s TStringList

vložil Radek Červinka 17. dubna 2012 23:35

Přišel mi mail od čtenáře Jiří Milička a zkusím ho zde publikovat - třeba to někomu pomůže.

Ve zkratce tvrdí, že přišel na dvě chyby s TStringList: Více...

Tagy: ,

Praxe

Náhodné výkřiky 22

vložil Radek Červinka 1. února 2012 23:10

Dnes to bude o Delphi 1, nějaký Open Source pro syntézu řeči, kousek kódu z RTL, device drivers a Delphi nebo FPC, TMethod, GDI+ a vyhlazování a seminář bude nakonec v Olomouci atd.

Více...

Tagy: , , , ,

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

Náhodné výkřiky 20

vložil Radek Červinka 17. ledna 2012 22:04

Dnes tu bude pár poznámek ohledně unigui, FireMonkey, nějaký kousek kódu a další efektové. V zahraničí se všichni bohužel hádají ohledně FreeAndNil (čemuž se chci vyhnout), takže zde nic takového nečekejte.

Více...

Tagy: , , , , ,

Novinky

Ještě pár informací o XE2

vložil Radek Červinka 27. září 2011 21:59

Napadlo mne ještě pár drobností o XE2, co by se někomu mohlo hodit.Více...

Tagy: ,

Novinky v Delphi

Delphi XE2 - pár tipů

vložil Radek Červinka 13. září 2011 23:39

Na FireMonkey se mi líbí x věcí a jedna z nich je portabilita. Nyní se objevila nová "platforma", resp. implementace Canvas pro Windows (kromě standardních GDI+ a Direct2D) tak přibyla FMX.Canvas.VPR. Jedná se o malou knihovnu, jejíž autorem je Mattias Andersson ze serveru graphics32.org a projektu VPR, což je polygon rasterizer.

Více...

Tagy: , , ,

Novinky

Delphi XE2 TZipFile a TOSVersion

vložil Radek Červinka 7. září 2011 22:19

Jelikož je XE2 multiplatformní je vhodné mít nástroj na kontrolu platforem, potažmo verze.

Jednotka System.SysUtils byla rozšířena o záznam TOSVersion.

Více...

Tagy: ,

Novinky v Delphi

XE2, iOS, RDP a dotted unit - pár informací

vložil Radek Červinka 11. srpna 2011 01:16

Několik dalších informací o tom co nás čeká. Podrobné informace (určitě včetně benchmarku x64bit) budou po RTM verzi, do té doby jen útržky z toho co je povoleno publikovat.Více...

Tagy: , , , ,

Novinky

Naše nabídka

Partial English version.

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 nebo burzy práce).

Pokud chcete podpořit tento server libovolnou částkou, můžete použít PayPal. Moc děkuji.

Delphi Certified Developer

O Delphi.cz

Delphi je jediný moderní RAD nástroj podporující tvorbu nativních aplikací pro platformu Win32 a Win64 (a Mac OSX a na iPhone a s výhledem na Android a další platformy díky FireMonkey) na současném trhu (včetně Windows 7).

V současnosti je světová komunita přes dva miliónů vývojářů.

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.

Anketa


Poslední komentáře

Comment RSS