Sign in Join
Wiki copytemporary

IDE tricks/hu: what changed

Revision 1 to 2. Removed lines have a minus sign; added lines have a plus sign.

OldNewLine
11# IDE trükkök
22
33# Új fájl létrehozása Fájl megnyitásával
44
5-<div style="text-align: justify;">
6-
7-Létrehozhatsz új fájlt és elmentheted, vagy létrehozhatsz egy új fájl fájlnévvel és típussal egy lépésben is: egyszerűen nyiss meg egy fájlt (<span class="kbd">CTRL</span> + <span class="kbd">O</span>) és válassz ki egy nem létező fájlt. Például: unit1.pas. Az IDE rá fog kérdezni, hogy létrehozza-e.
8-
9-</div>
5+Létrehozhatsz új fájlt és elmentheted, vagy létrehozhatsz egy új fájl fájlnévvel és típussal egy lépésben is: egyszerűen nyiss meg egy fájlt (`CTRL` + `O`) és válassz ki egy nem létező fájlt. Például: unit1.pas. Az IDE rá fog kérdezni, hogy létrehozza-e.
106
117# Új unit / form testreszabása
128
13-<div style="text-align: justify;">
14-
159A 0.9.27-es verziótól kezdve jobb gombbal klikkelve az 'Új unit' (Új form) gyorsgombra, beállíthatod a létrehozandó fájl típusát. Regisztrálhatsz további fájltípusokat az IDEIntf-en vagy a projekt sablonok csomagon keresztül.
1610
17-</div>
18-
1911# IDE makrók
2012
2113[[IDE Macros in paths and filenames|IDE makrók az elérési utakban és fájlnevekben]]
2214
2315# IDE direktívák
2416
2517[[IDE directives|IDE direktívák]]
2618
2719# Az IDE által létrehozott fordítói parancssori paraméterek megszerzése
2820
29-<div style="text-align: justify;">
30-
3121Kimásolhatod a paramétereket a Projekt -\> Fordító beállításai ... menü Beállítások megjelenítése gombra klikkelve megnyíló ablakból. Itt a projekt könyvtárhoz képest relatív elérési utak vannak megadva. Tehát a legtöbb esetben módosítás nélkül felhasználhatod őket.
3222
3323A paraméterek a *.compiled fájlban is megtalálhatók. Például, ha a projekted neve test1.lpi, akkor a test1.compiled is létrejön. Ez egy egyszerű XML fájl, tehát egyszerűen kimásolhatod az opciókat, és beállíthatod az elérési utakat, hogy egy másik számítógépen is le tudd fordítani a projektedet. A fájl ugyanabba a könyvtárba kerül, ahol a futtatható fájl létrejön.
3424
3525Csomagok esetén is ugyanez az eljárás használható.
3626
3727Ezzel a módszerrel lefordíthatod a - remélhetőleg működő és hibamentes - kódodat, a Lazarus IDE-n kívül is.
3828
39-</div>
40-
4129# Minden szerkesztett fájl bezárása egy kivételével
4230
43-<div style="text-align: justify;">
44-
4531GTK alatt (elérhető Linux-on, Mac OS X-en és FreeBSD-n), a forráskód szerkesztő lapfülein bezáró gombok is megjelennek. Ha a bezáró gombra klikkelsz a CTRL lenyomásával egy időben, akkor minden szerkesztett fájl be lesz zárva, kivéve amelyikre klikkeltél.
4632
47-</div>
48-
4933# Komponens paletta
5034
5135## Komponens megkeresése a palettában
5236
53-<div style="text-align: justify;">
54-
5537Tudod a komponens nevét, vagy egy részét, de nem tudod, melyik lapon található? Ez az eszköz segít: klikkelj a jobb egérgombbal az egyik komponensre a palettában, hogy a felugró menüt megjelenítsd. Válaszd ki a 'Komponens megkeresése' menüpontot. Írd be a komponens nevének részletét, hogy szűrd a listát.
5638
57-</div>
58-
5939## A palettában lévő komponens csomagjának megnyitása
6040
6141Jobb klikk a komponensen a felugró menü megnyitásához, majd válaszd ki a Csomag megnyitását.
6242
6343## A palettában lévő komponens forrásának megnyitása
6444
6545Jobb klikk a komponensen a felugró menü megnyitásához, majd válaszd ki a Unit megnyitását.
6646
6747# Az alkalmazásom lefagyasztja a Linux asztalomat hibakeresés közben
6848
6949Az X (az asztalod) lefagyhat, amikor a gdb (a hibakereső) leállítja az alkalmazást, amelyikben az egér van.
7050
7151## Második X munkamenet használata
7252
7353Egy második X-et elindíthatsz így:
7454
7555`  X :1 &`
7656
7757Ctrl-Alt-F7-tel átváltasz :0-ra és Ctrl-Alt-F8-cal :1-re ezután elindíthatsz egy második gnome munkamenetet így:
7858
7959`  gnome-session --display=:1 &`
8060
8161## VNC használata
8262
83-<div style="text-align: justify;">
84-
8563A VNC szerver/kliens használható a tightvncserver/realvncserver telepítésével. Indítsd el a szervert így:
8664
8765`  vncserver :1`
8866
8967Ha minden igaz, egy munkamenet is el fog indulni. Csatlakozhatsz a VNC szerverhez a vncviewer-rel.
9068
91-</div>
92-
9369## Alkalmazás hibakeresése a második szerveren
9470
95-<div style="text-align: justify;">
96-
9771Lazarus-ban, a projekted futtatási paraméterei között pipáld be a "Megjelenítő használatá"-t és írd be:
9872
9973` :1`
10074
10175Így az alkalmazásod a második szerveren fog futni, tehát amikor a hibakereső fut, csak a második szerver fog lefagyni, de ez nem fog befolyásolni téged, mivel az elsőn megy a hibakeresés.
10276
103-</div>
104-
10577# Az IDE gyors fordítása
10678
107-<div style="text-align: justify;">
108-
10979A Lazarus-szal való dolgozás során sokszor előfordul, hogy újra kell építeni az IDE-t. Ha a következő trükköket használod és van elég memóriád egy újabb CPU-val, akkor lehetőséged van pár másodperc alatt újrafordítani az IDE-t.
11080
11181- Tedd a Lazarus forrásait egy gyors merevlemezre. Ne egy lassú hálózati fájlrendszerre.
11282- Telepítsd csak a szükséges csomagokat.
11383- Állítsd be a USESVN2REVISIONINC=0-t, hogy átlépd a revision.inc frissítésést.
11484- Fordíts csak részeket. Ha a csomagkezelő újrafordul, akkor minden csomag újrafordul vele. Ha az IDEIntf újrafordul, akkor minden telepített tervezés idejű csomag is újrafordul.
11585
116-</div>
117-
11886# IDE vagy LCL alkalmazás DebugLn-jei
11987
120-<div style="text-align: justify;">
121-
12288Az IDE sok hasznos tippet kiír a DebugLn-en keresztül. Windows alatt elmentheted őket a Lazarus *--debug-log=filename.txt* parancssori paraméterével. Linux/BSD/Mac OS X/Solaris alatt: egyszerűen indítsd a Lazarus-t egy terminálból. Ez egy általános LCL lehetőség.
12389
124-</div>
125-
12690# Egy IDE ablak forrás fájljának megkeresése
12791
12892- Nyisd meg az IDE ablakot.
129-- Nyomd meg a <span class="kbd">CTRL</span> + <span class="kbd">Shift</span> + <span class="kbd">F1</span> billentyűkombinációt a súgó szerkesztő megnyitásához.
93+- Nyomd meg a `CTRL` + `Shift` + `F1` billentyűkombinációt a súgó szerkesztő megnyitásához.
13094- Jegyezd meg az ablak osztályának nevét. Zárd be az ablakot.
13195- Használd az [[IDE Window: Find in files|Find In Files]]-t, hogy megtaláld az osztály forrás fájlját.
13296
13397# Objektum Felügyelő: Események: Keretek: Ugrás az öröklött esemény forrására
13498
135-<div style="text-align: justify;">
136-
13799Az Objektum Felügyelő megjeleníti az öröklött események eseményeit *Osztálynév.Metódusnév*-ként. Dupla kattintásra egy új esemény jön létre. Ctrl+Klikk az esemény legördülő menüjén közvetlenül az öröklött metódusra ugrik, anélkül, hogy új eseményt hozna létre.
138100
139-</div>
140-
141101# Események (Metódus tulajdonságok) az Objektum Felügyelőben
142102
143-<div style="text-align: justify;">
144-
145103Az események (Metódus tulajdonságok) különleges tulajdonságok, mert értékként egy kódra (függvényre) mutató pointer-t kérnek, ami nem létezik tervezés közben. Ez az, amiért a Lazarus ugyanazt a trükköt alkalmazza, mint a Delphi: Minden metódus értékének típusa konvertálható ("type cast"-elhető) TMethod-ra, ami tartalmazza a *Data* (az objektum vagy osztály pointer) és a *Code* (a cím pointer) mezőket. Alap esetben, egyik sem nil (null pointer). Az IDE beállítja a Data-t egy különleges kulcs értékre a belső kereső táblája alapján, és a Code-ot nil-re. Ez azt jelenti:
146104
147105- Futás időben, amikor a program betölti az .lfm fájlt, a valós metódus (Data+Code) van használatban.
148106- Tervezési időben a egy metódus értéke lehet egy valós metódus (Data \<\> nil és Code \<\> nil) vagy egy hamis metódus (Data \<\> nil, Code = nil).
149107- A fordító - Delphi kompatibilitási okokból - használ néhány különlegességet a metódus értékek összehasonlításához.
150108
151109Ne használd:
152110
153111``` pascal
154112if OnMyEvent <> nil then OnMyEvent(...); // hibás, mert ellenőrzi a Data-t is
155113```
156114
157115Mivel ez így ellenőrzi a Data-t és a Code-ot is, és egy hamis metódusra fog ugrani, magyarán ugrás lesz nil-re. Ez kivételt fog generálni, szóval nem okoz különösebb gondot, de az IDE hibaüzenetet fog küldeni, és a program futása leáll. Helyette használd inkább az Assigned függvényt:
158116
159117``` pascal
160118if Assigned(OnMyEvent) then OnMyEvent(...); // helyes, mert csak a Code-ot ellenőrzi
161119```
162120
163121Ne használd:
164122
165123``` pascal
166124if OnMyEvent = NewValue then Exit; // hibás, mert csak a Code-ot ellenőrzi
167125```
168126
169127Mivel ez így csak a Code-ot ellenőrzi, használd inkább ezt:
170128
171129``` pascal
172130if CompareMem(@FOnMyEvent, @NewValue, SizeOf(TMethod)) then Exit; // helyes, mert a Data-t és a Code-ot is ellenőrzi
173131```
174-
175-</div>
176132
177133---
178134*From the Free Pascal wiki, page "IDE tricks/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](/wiki-contact).*

Back to history