Sign in Join
Wiki copytemporary

IDE tricks/sk: what changed

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

Title: IDE tricks/sk

OldNewLine
1+# Vytvorenie nového súboru pomocou Open File
2+
3+Môž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ť.
4+
5+# Prispôsobenie východzej novej unity / formulára
6+
7+Od 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.
8+
9+# Makrá v IDE
10+
11+[[IDE Macros in paths and filenames]]
12+
13+# Získanie parametrov kompilera z príkazového riadka
14+
15+Môž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.
16+
17+Parametre 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.
18+
19+Pre balíčky to funguje úplne rovnako.
20+
21+Takýmto spôsobom môžete kompilovať váš kód mimo Lazarus IDE.
22+
23+# Zatvorenie všetkých editovaných súborov okrem jedného
24+
25+Pod 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.
26+
27+# Paleta komponentov
28+
29+## Hľadanie komponenty na palete
30+
31+Pravým tlačidlom kliknite na hocijakú komponentu na palete, otvorí sa vyskakovacie menu. Vyberte 'Find component'. Zadajte názov (aspoň časť) hľadanej komponenty.
32+
33+## Otvorenie balíčka z ktorého pochádza komponenta na palete
34+
35+Pravým tlačidlom kliknite na komponentu a vyberte 'Open package'
36+
37+## Nájdenie dekláracie komponenty na palete
38+
39+Pravým tlačidlom kliknite na komponentu a vyberte 'Open unit'
40+
41+# Moja aplikácia spôsobí zatuhnutie mojej linuxovej pracovnej plochy
42+
43+X (vaša pracovná plocha) môže zatuhnúť, ak aplikácia, ktorá sprácováva nejakú udalosť myši bola zastavená debugerom gdb.
44+
45+## Použitie druhej relácie X
46+
47+Druhé X môžete zapnúť príkazom:
48+
49+`  X :1 &`
50+
51+potom 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:
52+
53+`  gnome-session --display=:1 &`
54+
55+## Použitie VNC
56+
57+Môžete použiť vncserver/client nainštalovaním tightvncserver/realvncserver. Server zapnete príkazom:
58+
59+`  vncserver :1`
60+
61+Potom sa na neho môžete pripojiť pomocou vncviewer.
62+
63+## Debugujte aplikácia na druhom servri
64+
65+V Lazarovi, v 'Run Parameters' nastavte 'use display' na:
66+
67+` :1`
68+
69+Teraz 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).
70+
71+# Ako kompilovať IDE rýchlejšie
72+
73+Prá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.
74+
75+- Umiestnite zdrojové kódy Lazara na rýchly harddisk, nie na pomalý sieťový filesystém.
76+- Nainštalujte len potrebné balíčky.
77+- Nastavte USESVN2REVISIONINC=0, aby sa nevykonávala aktualizácia revision.inc.
78+- 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ú.
79+
80+# Debugovanie IDE pomocou DebugLn
81+
82+IDE zapisuje veľké množstvo použiteľných informácii pomocou DebugLn. Viac [[http://wiki.lazarus.freepascal.org/Lazarus Faq/sk|tu]]
83+
84+# Vyhľadanie zdrojového kódu IDE okna
85+
86+- Otvorte IDE okno.
87+- Stlačte Ctrl+Shift+F1, otvorí sa editor nápovedy.
88+- Zapamätajte si názov triedy okna. Zatvorte okno.
89+- Použite [[IDE Window: Find in files|Find In Files]] na nájdenie zdrojového súboru triedy.
90+
91+# Object Inspector: Events: Frames: Skok na zdrojový kód odvodenej udalosti
92+
93+V 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.
94+
95+# Udalosti (Events) v okne Object Inspector
96+
97+Udalosti ("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á
98+
99+- Počas behu programu, keď sa načítava .lfm súbor, sa použije skutočná (Data+Code) metóda.
100+- 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)
101+- Z dôvodu kompatibility s Delphi má kompiler niekoľko špecialít:
102+
103+Nepoužívajte:
104+
105+``` pascal
106+if OnMyEvent<>nil then OnMyEvent(...); // zle, lebo kontroluje tiež Data
107+```
108+
109+Pretož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:
110+
111+``` pascal
112+if Assigned(OnMyEvent) then OnMyEvent(...); // správne, kontroluje len Code
113+```
114+
115+Nepoužívajte:
116+
117+``` pascal
118+if OnMyEvent=NewValue then exit; // zle, lebo kontroluje len Code
119+```
120+
121+Namiesto toho používajte
122+
123+``` pascal
124+if CompareMem(@FOnMyEvent,@NewValue,SizeOf(TMethod)) then exit; // správne, kontroluje aj Code aj Data
125+```
126+
127+---
128+*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