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.
Použití Richedit 4.1 s Delphi
Standardně je součástí Delphi zapouzdřený RichEdit verze 2, ale s příchodem XP je možno používat novější verzi 4.1, která umí lépe pracovat s tabulkami a dalšími vlastnostmi. Je pravděpodobné, že verze 4 RichEdit bude součástí nových Delphi, ale pokud máte potřebu, tak Richedit 4.1 s Delphi (popsáno pro D2010, ale asi by to šlo i pro jiné verze).
Dependency Walker
Pokud potřebujete zjistit, které knihovny (nejen) Váš program používá, tak máte několik možností. Já mám nejraději FileMon resp. Process Monitor, který ukazuje všechny soubory se kterými aplikace pracuje. Ale existuje speciální program Dependency Walker, který Vám zjistí snad i číslo ponožek. Program je zdarma a je i pro 64bit programy.
EmbeddedWB
Embedded Web Browser Component Pack je balík free komponent, které umožňují pracovat nejen s vloženým IE a to i v módu editor. Součástí je několik dem, včetně kompletního prohlížeče a ukázkového editoru.
Verze: D5 - DXE
Plasma v OpenGL
Nepublikuji zde často cizí kódy, ale tento jsem opravdu vyhrabal po dlouhém hledání kdesi ve fóru a přijde mi moc pěkný, překvapivě krátký a efektivní. Jedná se o klasický plasma efekt, ale přes OpenGL. Ale opravdu mne překvapilo, jak je ten kód krátký (a dobře komentovaný).
Kromě jiného kód ukazuje, jak vytvořit minimální OpenGL aplikaci.
Autor: Jan Horn
Stáhnout: Zdrojové kódy a přeložená plasma (40K - a to jsou tam dvě EXE!)
Mimochodem: výsledné exe má cca 24K - nevím, kterou verzí Delphi to překládal, ale je to fakt impozantní.
Tag je NativeInt
Už jsem to poznamenal na twitteru - ale obrázek je obrázek.
tj. např.:
Button.Tag := NativeInt(můj objekt)
Pro méně zkušené: Tag (např. u TComponent.Tag) je nyní Integer, tj. 32bit, což je shodou okolností velikost pointeru (náhodička co?). A i v helpu je psáno, že Tag se dá použít pro uložení pointeru. Tudíž pro 64bit se v RTL musela provést změna, kdy místo Integer je použit NativeInt (s velkou pravděpodobností bude definován i alias IntPtr) , tj. Integer, který má velikost podle velikosti pointeru (na 32bit=32bit, na 64bit=64bit).
Ono kolem toho bylo spousta dohadů, takže to raději zde uvádím.
Něco na závěr
FastCode z fastcode.sourceforge.net - funkce v Delphi RTL:
- Delphi 2005: CompareText, Int64Div and FillChar
- Delphi 2006: CompareText, Int64Div and FillChar, FastMM4
- Delphi 2007-Delphi XE: ArcCos, ArcSin, Power, PosEx, Move, FastMM4 , FillChar, Pos, __lldiv, LowerCase, UpperCase, CompareStr, CompareMem, CompareText, StrLen, StrCopy, StrComp