Lazarus
Lazarus 0.9.30 - Erőforrás kezelés
A Lazarus következő verziójában megjelenő egyik legnagyobb változás az a módosított erőforrás kezelés lesz. A fő probléma a "régi" erőforrás kezeléssel az volt, hogy minden .lfm streamet egy .lrs fájlból be kellett illeszteni a unit initialization részébe. Mi a rossz ebben?
- Először is az .lrs fájlokat is tárolni kell a projektben, ami elég tárhely igényes.
- Második rossz dolog az
initializationrész használata (az ebből a részből hívott utasítások a program indulásakor hajtódnak végre). Ha pl. 200 form van az alkalmazásban, akkor a program indulásakor kétszáz rutint kell végrehajtani. Ez nem túl jó dolog, ha a sebesség is számít. - Végül pár szó az erőforrásokhoz szükséges memóriáról és a memória lefoglalásának módjáról. Az .lrs erőforrások a program kódjában (amelyek induláskor végrehajtódnak) és
TListosztálban egyaránt tárolva vannak. Tehát minden erőforrás kétszer van tárolva. Sőt ha újabb erőforrást akarunk hozzáadni aTList-hez, akkor az összes erőforrás memóriáját újra le kell foglalni:TList.Grow
Ezek a problémák tökéletesen megoldhatók az FPC 2.4.0 bevezetett natív erőforrás kezeléssel. Az FPC 2.4.0-s változatától kezdve lehetőség van a form erőforrások használatára az {$R *.lfm} direktíva használatával. Természetesen nincs szükség az .lrs fájlok tárolására és az initialization részre, valamint minden erőforrást is csak egyszer kell tárolni.
Mivel az erőforrás kezelésnek ezen módja sokkal hatékonyabb, a Lazarus fejlesztői úgy döntöttek, hogy ez legyen az alapértelmezett erőforrás kezelés. Természetesen az .lrs fájlok továbbra is használhatók maradnak, valamint a felhasználó eldöntheti, hogy az erőforrások tárolásának melyik módját választja.
Még egy az erőforrásokat érintő változás történt az XP manifest, a verzió információ és a projekt ikon kezelésben. Eddig több mint 5 fájlra volt szükség ezeknek az erőforrásoknak a tárolásához: egy ikont tartalmazó .lrs fájl, egy a manifest fájlra hivatkozó .rc fájl, verzió infó és projekt ikon fájlok. A projekt könyvtár leginkább egy állatkertre hasonlított. Ezentúl már csak egy .res és egy ikon fájlra lesz szükség. A .res fájt az új FreePascal állítja elő az fcl-res csomag segítségével. Ez azt jelenti, hogy nem kell többé a windres-t használni. A .res fájl minden platformon használható, míg korábban az .rc csak Windowson, az .lrs pedig a többi platformon volt használható.
Figyelem: a {$ifdef windows}{$R you_project.rc}{$endif} sort manuálisan kell kitörölni a az .lpr fájlból (ha van benne). Elképzelhető, hogy a jövőben készül erre automatikus megoldás.
Az új erőforrás kezelés előnyei tehát:
- Kevesebb szemét a projekt könyvtárban, kisebb méret
- Kisebb és gyorsabb programok (nincs szükség az
initializationrészre) - Kevesebb memória használat
- Egységes erőforrás kezelés minden platformon
Delphi formok Lazarusban
A FreePascal 2.5.1 használatával a Lazarus lehetővé teszi a formok lfm formátumba mentését lrs fájlok használata nélkül. Ez még jobban megkönnyíti a Delphi kódok átültetését Lazarusra.
Előfeltételek:
- Lazarus trunk verzió
- FreePascal trunk verzió (2.5.1-el tesztelve, de állítólag a 2.4.0-val is működik)
Lépések:
- A Project options-nál, Miscellaneous fülön válasszuk ki a Fpc resources-t.
- Másoljuk a dfm fájlt az lfm fájlba.
- Lazarusban nyissuk meg a pas fájlt.
- Keressük meg a dfm fájl hivatkozását, majd cseréljük le erre:{$IFDEF LCL}
{$R *.lfm}
{$ELSE}
{$R *.dfm}
{$ENDIF} - Az
initializationrészben keressük meg az lrs fájl beillesztését{$I valami.lrs}, majd távolítsuk el. - Az F12 (View menü: Toggle form/unit view) megnyomása után már láthatjuk is a formunkat.
- A természetesen figyelmeztetéseket fogunk kapni a Lazarusban nem létező tulajdonságokról, de ezeket nyugodtan figyelmen kívül hagyhatjuk. Ez a legtöbb esetben megfelelő, de egy komoly fejlesztő mindig elolvassa és elemzi az ilyen üzenetek fontosságát és következményeit.
- Mentés után jöhet a fordítás.
Mint mindig, most se felejtsük el hozzáadni a unit fejlécében a uses szekcióhoz a szükséges unitokat (LclType, LResources, stb).
Lazarus 0.9.28
A Lazarus fejlesztőcsapata kiadta a szoftverfejlesztő eszköz 0.9.28-as verzióját. Ez a kiadás a 2.2.4-es FreePascal-ra épül. A kiadás letölthető a SourceForge letöltési oldaláról szerezhető be:
http://sourceforge.net/projects/lazarus/files/
Újdonságok, fõbb változások
LCL:
- Az LCL a gtk2-t használja alapértelmezett widgeset-ként Linux-on és BSD-n
- Windows CE: implementált TCalendar, TFloatSpinEdit, TOpenDialog és TSaveDialog
- TFrame támogatás. Vizuális nesting az IDE-ben.
- TMonitor osztály: multi-monitor támogatás
- Új komponensek: TShellTreeView, TShellListView és TFilterComboBox
- Az LCL refoktorálásával a futtatható állományok mérete 15%-al csökkent
IDE:
- Az új IDE beállító ablak magában foglalja a környezeti, a szerkesztő, a kódeszközök, a kód navigátor, debugger és a súgó beállításait.
- Az alkalmazás ikonok a Projekt beállításoknál állíthatók be
- Számos fejlesztés történt a forráskód szerkesztőben, pl. „dupla szélességű” betűtípusok (japán, kínai, arab, stb.), jobb kód összecsukás, kiemelés, perzisztens blokkok
- Codetools: üres metódusok eltávolítása, blokk kiegészítés, referenciák frissítése unit átnevezéskor
- Debugger: assembler ablakok, könnyebb kivétel kezelés, töréspont tulajdonságok
Ezen kívül több ezer javítás és kisebb változtatás történt. A változások teljes listája itt olvasható:
http://wiki.lazarus.freepascal.org/Lazarus_0.9.28_release_notes
Ismert problémák:
- Debian csomagok: az alapértelmezett Lazarus könyvtár hibás. Az IDE az első induláskor megkeresi a helyes könyvtárat. Csak az Ok-ra kell kattintani.
- Egy teszt alkalmazás fordításakor nem találja a project1.lrs fájlt. Megoldás: fordítás előtt mentsd el a projektet vagy hozz létre egy üres project1.lrs fájlt a temp könyvtárban
Megjelent a Lazarus 0.9.26
A Lazarus fejlesztőcspata bejelentette a 2.2.2-es Free Pascal-ra épülő Lazarus 0.9.26-os verzióját.
Főbb újdonságok, változások:
- Az LCL minden platformon UTF-8 kódolású Unicode stringeket használ. A régi kódok konvertálására szolgáló dokumentációk, eszközök és függvények szintén elérhetők.
- Az LCL belső grafikus rendszere a jobb konzisztencia, a rugalmasság, a Delphi kompatibilitás, ikon támogatás és a natív képlisták érdekében újra lett írva.
- A Lazarus a 'carbon' widgeset segítségével Mac OS X-en is futtatható.
- Az IDE tervezője lehetővé teszi a formok kapcsolását, mint a TDataModule-ban használt adatbázisoknál.
Ebben a verzióban 11 hónap alatt több mint 3900 fejlesztés és hibajavítás történt. Összehasonlításképpen a 0.9.24-es verzióban 8 hónap alatt fele ennyi változás történt.
A változások teljes listája itt található.
Letöltés: Lazarus 0.9.26








Friss hozzászólások
5 nap 5 óra
5 nap 5 óra
6 nap 12 óra
1 hét 1 nap
1 hét 2 nap
1 hét 2 nap
2 hét 9 óra
2 hét 1 nap
3 hét 3 óra
3 hét 3 nap