» Poradna » Programy

Delphi: propojení dvou form

 |   | 

Mám svou "hlavní" form_main. A z ní (po stitku tlačítka) volám formu, jejíž kód je na unit3 (unit 3 mám v uses). Volám takto: create(form_main). Kompilace v pohodě. Program padá. Kdykoli na to tlačítko ťuknu, nahlásí to chybu stylu: PageControl1_Main stále pracuje. Ukončete ho, nebo pokračute step by step...

No, ukočování nefunguje (terminate; nebo pagecontrol1_main.destroy).
Styp by step hodí chybu...

co s tím?


Jak bez problému spojit dva formy?

Mohlo by vás také zajímat

Odpovědi na otázku

 |   | 

To nejsou formy, ale formuláře. Dost velký rozdíl...

Create vůbec volat nemusíš, o to se stará Delphi, pokud tedy nechceš pracovat s objekty na vyšší úrovni. Metoda Create volá konstruktor daného objektu, to ti asi takto neklapne.
Jinak co s tím druhým oknem (formulářem) chceš přesně dělat? Volat jeho metodu? Pak normálně Form2.Objekt1.Objekt2....Metoda atd.
Nebo chceš po stisku toho tlačítka v hlavním okně otevřít druhé okno? Tak Form2.Show nebo Form2.ShowModal třeba.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   | 

Mám takovouhle představu:

Mám program (form1) ale chci aby se do něj mohli přihlašovat uživatelé a tento login je na form2.

Hned po spuštění spustím z form1 i form2 (někde jsem četl, že jde zabránit zavření, takže zabráním zavření form2) a až se člověk přihlásí/zaregistruje může pokračovat do hlavního programu (form 2 zmizí)...


Ještě jsem narazil na jeden problémek - taky nikde nemůžu najít odpověď. Showmessage - chci aby informace měla více řádků. Jde to nějak?

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   | 

To je velmi primitivní. Zkus help, je skutečně mocný. Ten první požadavek...mrkni se na to, co umí metoda OnClose formuláře. To druhé, mrkni se co umí metoda ShowMessage nebo MessageDialogBox nebo tak nějak. Nebo si můžeš vytvořit své dialogové okno, v Delphi řádný problém. A k tomu prvnímu požadavku...mrkni se co umí metoda...ne...už neřeknu. Uč se. Taky sem se učil z Helpu a ukázkových zdrojáků a z knih. Ty jsi asi na Pascalu, Basicu nebo C pod DOSem nezačínal, že?

Souhlasím  |  Nesouhlasím  |  Odpovědět

Související témata: Form, Step, Unit, Kompilace


Určitě si přečtěte

Zapomeňte na destičky. Raspberry Pi 400 je nový počítač zabudovaný do klávesnice
Lukáš Václavík
Raspberry PiPočítače
Fedora 33 prostě funguje. Linux si zaslouží dobýt laptop, je to ale asi opět marné

Fedora 33 prostě funguje. Linux si zaslouží dobýt laptop, je to ale asi opět marné

** Desktopový Linux funguje a vypadá stále lépe ** Fedora 33 není výjimkou ** Ve stínu Windows a macOS tu vyrostly skvělé alternativy

Jakub Čížek | 162

Jakub Čížek
FedoraOperační systémyLinux
Šéf Spotify: Budeme zdražovat. Náš obsah se zlepšil
Markéta Mikešová
PředplatnéSpotify
Messenger a Instagram přicházejí v Evropě o funkce. Kvůli nové směrnici o soukromí
Vladislav Kluska
EvropaInstagramFacebook Messenger
Archivovat data do cloudu, na HDD, SSD, DVD, nebo Blu-ray? Co je nejvýhodnější?

Archivovat data do cloudu, na HDD, SSD, DVD, nebo Blu-ray? Co je nejvýhodnější?

** Kam doma natrvalo uložit data? Vyplatí se ještě optická média? ** Jaké kapacity disků a médií má smysl koupit? ** Cenovou výhodnost si ukážeme na příkladech s 2TB úložištěm

Lukáš Václavík | 118

Lukáš Václavík
ZálohováníÚložištěPevné disky
Jak se šíří Covid v Česku: Čerstvá data, semafor PES, mapy okresů a obcí. Každý den aktualizované grafy

Jak se šíří Covid v Česku: Čerstvá data, semafor PES, mapy okresů a obcí. Každý den aktualizované grafy

** Vývoj COVID-19 v Česku: nakažení, úmrtí, testovaní, hospitalizovaní ** Mapa podle okresů, přehled podle věku, situace v Evropě i ve světě ** Každý den aktualizované grafy a mapy

Marek Lutonský | 172

Marek Lutonský
COVID-19Koronavirus

Aktuální číslo časopisu Computer

Jak prodloužit výdrž notebooku

Velké testy: gamepady a inkoustové tiskárny

Důkladný test Sony Playstation 5