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
| Old | New | Line | |
|---|---|---|---|
| 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).* |
