Lazarus: Porovnání verzí
Skočit na navigaci
Skočit na vyhledávání
Bez shrnutí editace |
Bez shrnutí editace |
||
Řádek 30: | Řádek 30: | ||
* Chybí novější schopnosti Delphi - chybí syntaxe jazyka, není podporování FMX |
* Chybí novější schopnosti Delphi - chybí syntaxe jazyka, není podporování FMX |
||
* Chybí podpora pro Subversion - přejmenování souborů nutno provádět dvakrát |
* Chybí podpora pro Subversion - přejmenování souborů nutno provádět dvakrát |
||
* Při sestavení se vypisuje plno varování a hlášek z FCL a LCL - zahlcuje okno zpráv, pro vývojáře nezajímavé |
|||
* Strom v inspektor projektu se stále zavírá - nedrží si svůj stav, např. při přejmenování souborů |
|||
==Výhody== |
==Výhody== |
Verze z 1. 6. 2023, 20:02
Tipy
- Převod UTF-8 řetězců na WideString pro volání WinAPI funkcí
Prostředí Lazarus a knihovny LCL využívají řetězce kódované do UTF-8. Před jejich použitím v WinAPI funkcí je potřeba je nejdříve převést na WideString. Pokud i samotný editor využívá UTF-8, je nutné převést také konstantní řetězce.
TFileStream.Create(UTF8Decode('ěščřžýáí.txt', fmOpenRead));
Více informací: LCL Unicode Support
Křížová kompilace z Windows pro ARM
- Stáhněte balík CodeTyphon
- Rozbalte jej a nainstalujte
- Pokud požadujeme verzi rozhraní eabi verze 5, tak je nutno nastavit parametry kompilace. Stáhněte Soubor:Aswrapper arm linux as.zip. Soubor arm-linux-as.exe přejmenujte na arm-linux-asa.exe ve složce c:\codetyphon\bin\bincross\win32-arm-linux\ a zkopírujte do ní soubory arm-linux-as.exe a arm-linux-as.ini do složky c:\codetyphon\bin\bincross\win32-arm-linux\ se staženého zip archívu. Tento krok zajistí kompilaci s parametry dle ini souboru konkrétně -meabi=5 -mfpu=vfp3 -mfloat-abi=softfp
- Spusťte codetyphon centrum a v menu Cross-build - FreePascal 32bit - FPC32 Build cross element arm-linux. Tím dojde k sestavení FPC pro arm-linux.
- Dále sestavte FPC pro win32-i386 a Lazarus pro win32-i386.
Problémy vývoje s Free Pascalem a Lazarusem
Nevýhody
- Oddělený projekt od Free Pascalu - release cyklus je odlišný, neladí spolu plně
- Design time balíčky Lazarusu rozbíjejí prostředí - pokud různé aplikace obsahují různé verze stejného balíku, tak Lazarus přestává fungovat s chybou řešení závislostí
- Chybějící ukotvení oken - stále už mnoho let nemá ukotvení oken jako Delphi či jiná moderní vývojová prostředí
- Chybějící podpora moderních API - chybí podpora GUI pro GTK 5+ a Qt 5+ a další.
- Chybějící podpora pro skupiny projektů - project group známý z Delphi stále není dostupný, díky tomu se nehodí pro vývoj větších projektů
- Slabá podpora pro vysoké DPI (high DPI, DPI scaling) - FCL se snaží být VCL kompatibilní a nepodporuje plně moderní souřadnicový systém nezávislý na DPI
- Chybějící podpora pro mobilní operační systémy Android a iOS
- Nelze změnit výchozí jazyk projektů z Free Pascal na Delphi - do nových jednotek se neustále vkládá {$mode fpc}{$H+}, i když je jazyk znám z nastavení projektu
- Chybí novější schopnosti Delphi - chybí syntaxe jazyka, není podporování FMX
- Chybí podpora pro Subversion - přejmenování souborů nutno provádět dvakrát
- Při sestavení se vypisuje plno varování a hlášek z FCL a LCL - zahlcuje okno zpráv, pro vývojáře nezajímavé
- Strom v inspektor projektu se stále zavírá - nedrží si svůj stav, např. při přejmenování souborů
Výhody
- Podpora Windows, Linux, OSX
- Free & open source
- Přeloženo do češtiny - díky otevřenému kódu lze překládat do češtiny
- Silně typový jazyk pascal - mnoho chyb lze zjistit už v době překladu
- Generické typy jako v Delphi - nejsou plně podporovány Lazarusem