Revision 1 of 2, by Trev on 2-17-2020. The page as it is now.
How To Write Lazarus Component/hu
Bevezetés
Ez egy alap útmutató. Abban segít, hogy létre tudjunk hozni saját komponenseket. A művelet Windows 7 -en lett tesztelve Lazarus 0.9.30 segítségével.
1. lépés: Csomag létrehozása
- A Lazarus IDE menüjén kattints a Package > New Package menüelemre, hogy futtasd Package Manager -t.
<figure> <img src="package_menu.png" title="package_menu.png" /> <figcaption>package_menu.png</figcaption> </figure>
<figure> <img src="package_menu_(lazarus-1.0_RC1-fpc-2.6.0-win64).png" title="package_menu_(lazarus-1.0_RC1-fpc-2.6.0-win64).png" /> <figcaption>package_menu_(lazarus-1.0_RC1-fpc-2.6.0-win64).png</figcaption> </figure>
- Egy Save dialog fog megjelenni. Válassz egy mappát, és egy fájlnevet majd nyomd meg a save(mentés)-t. Ékezetes elnevezést ne használj.
<figure> <img src="save_dialog_(lazarus-1.0_RC1-fpc-2.6.0-win64).png" title="save_dialog_(lazarus-1.0_RC1-fpc-2.6.0-win64).png" /> <figcaption>save_dialog_(lazarus-1.0_RC1-fpc-2.6.0-win64).png</figcaption> </figure>
Ha az IDE szól, hogy kisbetűs legyen a fájlnév, nyomj 'Yes'-t.
<figure> <img src="lowercase_filenames(lazarus-1.0_RC1-fpc-2.6.0-win64).png" title="lowercase_filenames(lazarus-1.0_RC1-fpc-2.6.0-win64).png" /> <figcaption>lowercase_filenames(lazarus-1.0_RC1-fpc-2.6.0-win64).png</figcaption> </figure>
- És gratulálok, elkészítetted az első csomagod.
.png "How_to_write_lazarus_component_package_maker(lazarus-1.0_RC1-fpc-2.6.0-win64).png")

2. lépés: Unit készítése
Csinálhatsz egy új unitot vagy használhatsz egy már meglévőt.
Új unit készítése
- Használd az Add button > New component lehetőséget.
<figure> <img src="package_new_component.png" title="package_new_component.png" /> <figcaption>package_new_component.png</figcaption> </figure>
- Válassz egy komponenst, például TComboBox.
- Válaszd mondjuk például a customcontrol1.pas fájlnevet. Ékezeteket itt se használj.
- Kattints OK gombra.
- A forráskód szerkesztőben az alábbi kód jelenik meg. A példa egy komponens létrehozását mutatja be, ezért most a kódhoz nem nyúlunk.
unit CustomControl1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, StdCtrls;
type
TCustomControl1 = class(TComboBox)
private
{ Private declarations }
protected
{ Protected declarations }
public
{ Public declarations }
published
{ Published declarations }
end;
procedure Register;
implementation
procedure Register;
begin
RegisterComponents('Standard',[TCustomControl1]);
end;
end.- Telepítsd a csomagot az 'Install' gombbal amely a package editor tetején van.
<figure> <img src="package_install.png" title="package_install.png" /> <figcaption>package_install.png</figcaption> </figure>
- Figyelem! Például a Lazarus-1.0_RC1 -ben az 'Install' már máshol található!
<figure> <img src="package_install_(lazarus-1.0_RC1-fpc-2.6.0-win64).png" title="package_install_(lazarus-1.0_RC1-fpc-2.6.0-win64).png" /> <figcaption>package_install_(lazarus-1.0_RC1-fpc-2.6.0-win64).png</figcaption> </figure>
- Utána az IDE meg kérdezi tőled, hogy maga az IDE újra fordítódjon-e. Nekünk most ez kell, kattints a 'Yes' -re.
.png "package_rebuild_(lazarus-1.0_RC1-fpc-2.6.0-win64).png")

- Fordítás után újraindul a Lazarus, és látnod kellene a komponens palettán az újonnan telepített saját komponensed. Gratulálok: Ezzel telepítetted az első csomagod az első komponenseddel.
<figure> <img src="package_installed.png" title="package_installed.png" /> <figcaption>package_installed.png</figcaption> </figure>
- Megjegyzés: Ha nem látod az új komponensed a komponens palettán: a legtöbb esetben ez azért van mert neked nem az újrafordított Lazarus fut. Be kell állítanod mondjuk, hogy a Lazarus melyik mappába fordítódjon le: Kattints a Tool-> Options-> Environment -> Environment options -> Files -> Lazarus directory(default for all porjects). Ahelyett hogy a Lazarust közvetlen hívnád, használhatod a startlazarus, ezzel valóban az újonnan fordított Lazarust indítod. Például a Lazarus futtatható bináris benne van a ~/.lazarus mappában, ha nincs írási jogod erre a mappára, akkor hiába fordítasz, a fordítatlan Lazaruson kívül mást nem tudsz futtatni.
Egyéb megjegyzések a témával kapcsolatban
1. Új komponens (csomag) készítésénél figyeljünk oda az ékezetes nevekre. Ne használjuk azokat. Csomagunk mentésénél például ne csináljunk ilyet: d:\Program Files\Lazarus\Gyakorlás\ <-(á betű!) Emiatt később abba a hibába üktüzünk, hogy a fordító nem fogja találni a Gyakorlás mappánkat, és végső soron a Lazarus nem fog újból lefordítódni a csomagunkkal.
<figure> <img src="error1_(lazarus-1.0_RC1-fpc-2.6.0-win64).png" title="error1_(lazarus-1.0_RC1-fpc-2.6.0-win64).png" /> <figcaption>error1_(lazarus-1.0_RC1-fpc-2.6.0-win64).png</figcaption> </figure>
From the Free Pascal wiki, page "How To Write Lazarus Component/hu", as it stood on 2020-02-17 after a change by Trev, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's Licensing page. If you have concerns about this material, message the admin.
