Sign in Join
Wiki copytemporary

IDE tricks/sk: what changed

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

OldNewLine
11# Vytvorenie nového súboru pomocou Open File
22
33Môžete buď vytvoriť nový súbor a uložiť ho, alebo ho môžete vytvoriť v jednom kroku. Jednoducho vyvolajte otvorenie súboru (Ctrl+O) a vyberte neexistujúci súbor, napr. unit1.pas. IDE sa vás spýta, či súbor vytvoriť.
44
55# Prispôsobenie východzej novej unity / formulára
66
77Od verzie 0.9.27 môžete pravým tlačidlom kliknúť na 'New unit' / 'New form' v paneli nástrojov a nastaviť typ súboru, aký sa bude vytvárať. Môžete zaregistrovať viacero typov súborov pomocou IDEIntf alebo pomocou balíčka šablón projektov.
88
99# Makrá v IDE
1010
1111[[IDE Macros in paths and filenames]]
1212
1313# Získanie parametrov kompilera z príkazového riadka
1414
1515Môžete skopírovať paremetre z Project \| Compiler Options \| Show Options. Cesty sú tu uvedené relatívne k adresáru projektu, preto ich obvykle môže používať bez upravovania.
1616
1717Parametre sú tiež uložené v súbore \<názov projektu\>.compiled v adresári, kde sa vytvára spustiteľný súbor. Je to obyčajný XML súbor, preto ho môžete skopírovať, upraviť cesty a použiť pri kompilovaní na inom počítači.
1818
1919Pre balíčky to funguje úplne rovnako.
2020
2121Takýmto spôsobom môžete kompilovať váš kód mimo Lazarus IDE.
2222
2323# Zatvorenie všetkých editovaných súborov okrem jedného
2424
2525Pod gtk (Linux / Mac OS X / FreeBSD) záložky v okne Source Editor majú napravo tlačidlo 'Zatvoriť'. Stlačte Ctrl+kliknite na tlačidlo, a zatvoria sa všetky ostatné záložky.
2626
2727# Paleta komponentov
2828
2929## Hľadanie komponenty na palete
3030
3131Pravým tlačidlom kliknite na hocijakú komponentu na palete, otvorí sa vyskakovacie menu. Vyberte 'Find component'. Zadajte názov (aspoň časť) hľadanej komponenty.
3232
3333## Otvorenie balíčka z ktorého pochádza komponenta na palete
3434
3535Pravým tlačidlom kliknite na komponentu a vyberte 'Open package'
3636
3737## Nájdenie dekláracie komponenty na palete
3838
3939Pravým tlačidlom kliknite na komponentu a vyberte 'Open unit'
4040
4141# Moja aplikácia spôsobí zatuhnutie mojej linuxovej pracovnej plochy
4242
4343X (vaša pracovná plocha) môže zatuhnúť, ak aplikácia, ktorá sprácováva nejakú udalosť myši bola zastavená debugerom gdb.
4444
4545## Použitie druhej relácie X
4646
4747Druhé X môžete zapnúť príkazom:
4848
49-`  X :1 &`
49+```text
50+ X :1 &
51+```
5052
5153potom pomocou Ctrl-Alt-F7 sa prepnete do :0 a Ctrl-Alt-F8 do :1 Potom ako zapnete druhé X, môžete zapnúť aj druhú reláciu napr. gnome, pomocou:
5254
53-`  gnome-session --display=:1 &`
55+```text
56+ gnome-session --display=:1 &
57+```
5458
5559## Použitie VNC
5660
5761Môžete použiť vncserver/client nainštalovaním tightvncserver/realvncserver. Server zapnete príkazom:
5862
59-`  vncserver :1`
63+```text
64+ vncserver :1
65+```
6066
6167Potom sa na neho môžete pripojiť pomocou vncviewer.
6268
6369## Debugujte aplikácia na druhom servri
6470
6571V Lazarovi, v 'Run Parameters' nastavte 'use display' na:
6672
67-` :1`
73+```text
74+ :1
75+```
6876
6977Teraz vaša aplikácia pobeží na druhom servri, takže keď ju budete debugovať, zatuhne len druhý server (čo ale nie je problém, lebo vy pracujete na prvom).
7078
7179# Ako kompilovať IDE rýchlejšie
7280
7381Práce na samotnom Lazarovi obvykle vyžadujú prekompilovávanie IDE veľmi často. Pokiaľ použijete nasledovné triky, máte dostatok pamäte a výkonný procesor, mali by ste byť schopný rekomplivať IDE za pár sekúnd.
7482
7583- Umiestnite zdrojové kódy Lazara na rýchly harddisk, nie na pomalý sieťový filesystém.
7684- Nainštalujte len potrebné balíčky.
7785- Nastavte USESVN2REVISIONINC=0, aby sa nevykonávala aktualizácia revision.inc.
7886- Kompilujte po častiach. Ak prekompilujete registráciu balíčkov, všetky preinštalované balíčky sa prekompilujú tiež. Ak prekompilujete IDEIntf, všetky nainštalované designové balíčky sa prekompilujú.
7987
8088# Debugovanie IDE pomocou DebugLn
8189
8290IDE zapisuje veľké množstvo použiteľných informácii pomocou DebugLn. Viac [[http://wiki.lazarus.freepascal.org/Lazarus Faq/sk|tu]]
8391
8492# Vyhľadanie zdrojového kódu IDE okna
8593
8694- Otvorte IDE okno.
8795- Stlačte Ctrl+Shift+F1, otvorí sa editor nápovedy.
8896- Zapamätajte si názov triedy okna. Zatvorte okno.
8997- Použite [[IDE Window: Find in files|Find In Files]] na nájdenie zdrojového súboru triedy.
9098
9199# Object Inspector: Events: Frames: Skok na zdrojový kód odvodenej udalosti
92100
93101V okne Object Inspector sa zobrazujú udalosti odvodených udalostí ako *ClassName.MethodName*. Dvojitým kliknutím vytvoríte novú udalosť. Ctrl+kliknutím skočíte rovno do tela odvodenej metódy, bez vytvorenia novej metódy.
94102
95103# Udalosti (Events) v okne Object Inspector
96104
97105Udalosti ("vlastnosti majúce ako hodnotu metódu") sú špeciálne vlastnosti, lebo potrebujú ako hodnotu smerník na adresu kódu, ktorý neexistuje počas designu. Preto Lazarus používa rovnaký trik ako Delphi: Každá metóda sa dá pretypovať do TMethod, ktorá obsahuje *Data* (smerník na objekt alebo triedu) a *Code* (smerník na adresu kódu). Normálne sú obidva nil. IDE nastaví Data na špeciálny kľúč v internej lookup tabuľke a nastaví Code na nil. To znamená
98106
99107- Počas behu programu, keď sa načítava .lfm súbor, sa použije skutočná (Data+Code) metóda.
100108- Počas deignu, hodnota môže byť buď reálna metóda (Data\<\>nil and Code\<\>nil), alebo vymyslená (fake) metóda (Data\<\>nil and Code=nil)
101109- Z dôvodu kompatibility s Delphi má kompiler niekoľko špecialít:
102110
103111Nepoužívajte:
104112
105113``` pascal
106114if OnMyEvent<>nil then OnMyEvent(...); // zle, lebo kontroluje tiež Data
107115```
108116
109117Pretože tento spôsob kontroluje aj Code aj Data, pokúsi sa vykonať vymyslenú (fake) metódu, skočí do nil a nastane výnimka. Namiesto toho používajte funkciu Assign:
110118
111119``` pascal
112120if Assigned(OnMyEvent) then OnMyEvent(...); // správne, kontroluje len Code
113121```
114122
115123Nepoužívajte:
116124
117125``` pascal
118126if OnMyEvent=NewValue then exit; // zle, lebo kontroluje len Code
119127```
120128
121129Namiesto toho používajte
122130
123131``` pascal
124132if CompareMem(@FOnMyEvent,@NewValue,SizeOf(TMethod)) then exit; // správne, kontroluje aj Code aj Data
125133```
126134
127135---
128136*From the Free Pascal wiki, page "IDE tricks/sk", 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