Sign in Join
Wiki copytemporary

IDE tricks/hu: what changed

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

Title: IDE tricks/hu

OldNewLine
1+# IDE trükkök
2+
3+# Új fájl létrehozása Fájl megnyitásával
4+
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>
10+
11+# Új unit / form testreszabása
12+
13+<div style="text-align: justify;">
14+
15+A 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.
16+
17+</div>
18+
19+# IDE makrók
20+
21+[[IDE Macros in paths and filenames|IDE makrók az elérési utakban és fájlnevekben]]
22+
23+# IDE direktívák
24+
25+[[IDE directives|IDE direktívák]]
26+
27+# Az IDE által létrehozott fordítói parancssori paraméterek megszerzése
28+
29+<div style="text-align: justify;">
30+
31+Kimá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.
32+
33+A 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.
34+
35+Csomagok esetén is ugyanez az eljárás használható.
36+
37+Ezzel a módszerrel lefordíthatod a - remélhetőleg működő és hibamentes - kódodat, a Lazarus IDE-n kívül is.
38+
39+</div>
40+
41+# Minden szerkesztett fájl bezárása egy kivételével
42+
43+<div style="text-align: justify;">
44+
45+GTK 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.
46+
47+</div>
48+
49+# Komponens paletta
50+
51+## Komponens megkeresése a palettában
52+
53+<div style="text-align: justify;">
54+
55+Tudod 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.
56+
57+</div>
58+
59+## A palettában lévő komponens csomagjának megnyitása
60+
61+Jobb klikk a komponensen a felugró menü megnyitásához, majd válaszd ki a Csomag megnyitását.
62+
63+## A palettában lévő komponens forrásának megnyitása
64+
65+Jobb klikk a komponensen a felugró menü megnyitásához, majd válaszd ki a Unit megnyitását.
66+
67+# Az alkalmazásom lefagyasztja a Linux asztalomat hibakeresés közben
68+
69+Az X (az asztalod) lefagyhat, amikor a gdb (a hibakereső) leállítja az alkalmazást, amelyikben az egér van.
70+
71+## Második X munkamenet használata
72+
73+Egy második X-et elindíthatsz így:
74+
75+`  X :1 &`
76+
77+Ctrl-Alt-F7-tel átváltasz :0-ra és Ctrl-Alt-F8-cal :1-re ezután elindíthatsz egy második gnome munkamenetet így:
78+
79+`  gnome-session --display=:1 &`
80+
81+## VNC használata
82+
83+<div style="text-align: justify;">
84+
85+A VNC szerver/kliens használható a tightvncserver/realvncserver telepítésével. Indítsd el a szervert így:
86+
87+`  vncserver :1`
88+
89+Ha minden igaz, egy munkamenet is el fog indulni. Csatlakozhatsz a VNC szerverhez a vncviewer-rel.
90+
91+</div>
92+
93+## Alkalmazás hibakeresése a második szerveren
94+
95+<div style="text-align: justify;">
96+
97+Lazarus-ban, a projekted futtatási paraméterei között pipáld be a "Megjelenítő használatá"-t és írd be:
98+
99+` :1`
100+
101+Í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.
102+
103+</div>
104+
105+# Az IDE gyors fordítása
106+
107+<div style="text-align: justify;">
108+
109+A 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.
110+
111+- Tedd a Lazarus forrásait egy gyors merevlemezre. Ne egy lassú hálózati fájlrendszerre.
112+- Telepítsd csak a szükséges csomagokat.
113+- Állítsd be a USESVN2REVISIONINC=0-t, hogy átlépd a revision.inc frissítésést.
114+- 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.
115+
116+</div>
117+
118+# IDE vagy LCL alkalmazás DebugLn-jei
119+
120+<div style="text-align: justify;">
121+
122+Az 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.
123+
124+</div>
125+
126+# Egy IDE ablak forrás fájljának megkeresése
127+
128+- 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.
130+- Jegyezd meg az ablak osztályának nevét. Zárd be az ablakot.
131+- Használd az [[IDE Window: Find in files|Find In Files]]-t, hogy megtaláld az osztály forrás fájlját.
132+
133+# Objektum Felügyelő: Események: Keretek: Ugrás az öröklött esemény forrására
134+
135+<div style="text-align: justify;">
136+
137+Az 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.
138+
139+</div>
140+
141+# Események (Metódus tulajdonságok) az Objektum Felügyelőben
142+
143+<div style="text-align: justify;">
144+
145+Az 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:
146+
147+- Futás időben, amikor a program betölti az .lfm fájlt, a valós metódus (Data+Code) van használatban.
148+- 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).
149+- 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.
150+
151+Ne használd:
152+
153+``` pascal
154+if OnMyEvent <> nil then OnMyEvent(...); // hibás, mert ellenőrzi a Data-t is
155+```
156+
157+Mivel 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:
158+
159+``` pascal
160+if Assigned(OnMyEvent) then OnMyEvent(...); // helyes, mert csak a Code-ot ellenőrzi
161+```
162+
163+Ne használd:
164+
165+``` pascal
166+if OnMyEvent = NewValue then Exit; // hibás, mert csak a Code-ot ellenőrzi
167+```
168+
169+Mivel ez így csak a Code-ot ellenőrzi, használd inkább ezt:
170+
171+``` pascal
172+if CompareMem(@FOnMyEvent, @NewValue, SizeOf(TMethod)) then Exit; // helyes, mert a Data-t és a Code-ot is ellenőrzi
173+```
174+
175+</div>
176+
177+---
178+*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