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