Forum Delphi.cz

Delphi => Obecné => Téma založeno: Stanislav Hruška 19-09-2019, 09:35:21

Název: Vytvorenie formulára bez pridania do automaticky vytváraných
Přispěvatel: Stanislav Hruška 19-09-2019, 09:35:21
Vytvorenie formulára bez pridania do automaticky vytváraných formulárov projektu.
Teraz mi ich tam vždy nahádže aj ich musím vyhadzovať. Dá sa to niekde nastaviť?
Název: Re:Vytvorenie formulára bez pridania do automaticky vytváraných
Přispěvatel: vandrovnik 19-09-2019, 10:10:25
Tools, Options, User interface, Form Designer, Auto create forms & data modules.
Název: Re:Vytvorenie formulára bez pridania do automaticky vytváraných
Přispěvatel: KarelHorky 19-09-2019, 10:55:14
Špica! :D
Toto mě už dávno rozčilovalo. Jen poznamenám, že v mých Delphi XE6 je to mírně jinde:
Tools, Options, Environment Options, Form Designer, Auto create forms & data modules.
Název: Re:Vytvorenie formulára bez pridania do automaticky vytváraných
Přispěvatel: Stanislav Hruška 19-09-2019, 11:53:32
Ja tú voľbu nemám zaškrtnutú, a aj tak mi ich tam hádže. Skúsim to zmeniť a reštartovať XE7. 2 x.
Název: Re:Vytvorenie formulára bez pridania do automaticky vytváraných
Přispěvatel: Stanislav Hruška 19-09-2019, 11:59:42
Hádže mi ich tam stále. Bez ohľadu na stav tejto voľby.
Název: Re:Vytvorenie formulára bez pridania do automaticky vytváraných
Přispěvatel: KarelHorky 19-09-2019, 12:46:26
Když přidám přes File - New - VCL Form, vloží se nový form do Available Forms.
Jak je přidáváš a jaké (VCL)?
Název: Re:Vytvorenie formulára bez pridania do automaticky vytváraných
Přispěvatel: Stanislav Hruška 19-09-2019, 15:33:49
Pridávam ich presne tak ako to píšeš. Samozrejme, že ide o VCL.
Otvorím si Project Options a mám ho v zložke Forms
Název: Re:Vytvorenie formulára bez pridania do automaticky vytváraných
Přispěvatel: Morrison 20-09-2019, 08:56:04
To je nějaký divný. Měl by být buď v Autocreate, nebo v Available, určitě ne v obou.
Název: Re:Vytvorenie formulára bez pridania do automaticky vytváraných
Přispěvatel: Stanislav Hruška 20-09-2019, 11:53:33
Pardon. To som napísal somarinu. Je vždy v Auto-Create.
Název: Re:Vytvorenie formulára bez pridania do automaticky vytváraných
Přispěvatel: KarelHorky 20-09-2019, 12:22:42
První v projektu je Mainform a je vždy v autocreate. Další už by měli být v Available. U mně to tak je.
Název: Re:Vytvorenie formulára bez pridania do automaticky vytváraných
Přispěvatel: Stanislav Hruška 20-09-2019, 12:28:32
U mňa nie. V autocreate mám len jediný DataModul. Až po splnení určitých podmienok vytvorím vstupný/prihlasovací formulár a až po prihlásení (v súčasnosti ešte neriešené) vlastný hlavný formulár aplikácie. Všetko dynamicky.
Název: Re:Vytvorenie formulára bez pridania do automaticky vytváraných
Přispěvatel: Stanislav Hruška 20-09-2019, 12:49:19
Dodatok: prihlasovací formulár nie je formulárom aplikácie.
Název: Re:Vytvorenie formulára bez pridania do automaticky vytváraných
Přispěvatel: martinnr 20-09-2019, 12:54:13
v "AutoCreate" nemusi byt v podstate ziaden formular. ak sa to osetri v dpr, kde je kod ktory sa vykonava pri starte aplikacie, tak tam si mozes nakodovat, ze ktory form a kedy sa vytvori, atd.
Název: Re:Vytvorenie formulára bez pridania do automaticky vytváraných
Přispěvatel: vandrovnik 20-09-2019, 12:58:46
U mňa nie. V autocreate mám len jediný DataModul. Až po splnení určitých podmienok vytvorím vstupný/prihlasovací formulár a až po prihlásení (v súčasnosti ešte neriešené) vlastný hlavný formulár aplikácie. Všetko dynamicky.

Možná proto Ti Delphi dávají nový dormulář do Autocreate? Mají třeba pocit, že alespoň jeden formulář tam musí být.
Název: Re:Vytvorenie formulára bez pridania do automaticky vytváraných
Přispěvatel: Stanislav Hruška 20-09-2019, 13:33:40
Tiež mi to napadlo. Ale mám tak nešťastne urobené objekty, že to ináč neviem.
Název: Re:Vytvorenie formulára bez pridania do automaticky vytváraných
Přispěvatel: vandrovnik 20-09-2019, 13:36:21
Pokud by to bylo opravdu tím, tak by možná stačilo v .dpr udělat něco jako:
Kód: Delphi [Vybrat]
  1. {$IFDEF nemame}
  2.   Application.CreateForm(TMainForm, MainForm);
  3. {$ENDIF}
Název: Re:Vytvorenie formulára bez pridania do automaticky vytváraných
Přispěvatel: Stanislav Hruška 20-09-2019, 15:02:27
Použil som {$IFDEF DEBUG or RUNTIME}. Bez zmeny.
Název: Re:Vytvorenie formulára bez pridania do automaticky vytváraných
Přispěvatel: pf1957 20-09-2019, 15:17:34
Tiež mi to napadlo. Ale mám tak nešťastne urobené objekty, že to ináč neviem.
Je otazka, kdo ma co nestatne udelane... Pro inspiraci se podivej na tohle https://forum.delphi.cz/index.php/topic,16566.msg103720.html#msg103720 (https://forum.delphi.cz/index.php/topic,16566.msg103720.html#msg103720)
Název: Re:Vytvorenie formulára bez pridania do automaticky vytváraných
Přispěvatel: Stanislav Hruška 20-09-2019, 16:18:35
Nemyslím si, že by to bol zrovna môj či podobný prípad. Akurát vždy keď vytvorím nový formulár, tak ho musím vybrať z Auto-Create.
Nie vždy mi trkne, prečo mám pri spustení aplikácie chybu. Pokiaľ sa mi daný formulár zobrazí, tak to je jasné.
Název: Re:Vytvorenie formulára bez pridania do automaticky vytváraných
Přispěvatel: vandrovnik 20-09-2019, 16:41:11
.dpr:

Kód: Delphi [Vybrat]
  1. {$DEFINE Pokus}
  2. {$I Pom.inc}
  3.  
  4. begin
  5.   Application.Initialize;
  6.   Application.MainFormOnTaskbar := True;
  7.   {$IFDEF Pokus}
  8.    Application.CreateForm(TForm1, Form1);
  9.   {$ENDIF}
  10.   Application.Run;
  11. end.

Pom.inc:
Kód: Delphi [Vybrat]
  1. {$UNDEF Pokus}

IDE je spokojené, že má MainForm, i když ho pak ve skutečnosti nemá.
Název: Re:Vytvorenie formulára bez pridania do automaticky vytváraných
Přispěvatel: Stanislav Hruška 20-09-2019, 19:17:04
Nepomohlo. Predpokladám že riadok {$I Pom.inc} tam nemá byť, lebo mi hlásil chybu.
A hlavne sa mi ten formulár nevytvorí.
Kód: Delphi [Vybrat]
  1. {$DEFINE Pokus}
  2. {$UNDEF Pokus}
  3. begin
  4. ...
  5.  
  6.     {$IFDEF Pokus}
  7.     Application.CreateForm(TfrmMainFormFOC, frmMainFormFOC);
  8.     {$ENDIF}
  9.     Application.Run;
  10.   end;

Název: Re:Vytvorenie formulára bez pridania do automaticky vytváraných
Přispěvatel: vandrovnik 20-09-2019, 19:37:28
Řádek {$I Pom.inc} je tam zásadní :-)

Aby nehlásil chybu, je pak potřeba vytvořit soubor Pom.inc a do něj dát:
Kód: Delphi [Vybrat]
  1. {$UNDEF Pokus}
Název: Re:Vytvorenie formulára bez pridania do automaticky vytváraných
Přispěvatel: Stanislav Hruška 20-09-2019, 19:48:21
Aha, to bolo potrebné hneď napísať. To sa spomína v odkaze, ktorý dal pf1957 :)