Autor Téma: FormCreate - poradie volania mi nevyhovuje  (Přečteno 1079 krát)

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 4546
  • Karma: 40
    • Verze Delphi: XE7 professional
FormCreate - poradie volania mi nevyhovuje
« kdy: 19-10-2019, 13:33:25 »
Všetky formulár a podformuláre mám odvodené od
Kód: Delphi [Vybrat]
  1. type
  2.   TBasalForm = class(TForm)
  3.   strict protected
  4.     procedure CreateObjects; virtual;
  5.     procedure CreateSQL; virtual;
  6.     procedure SetForm; virtual;
  7.   public
  8.     constructor CreateForm;
  9.     procedure HandleFormCloseQuery(Sender: TObject; var CanClose: Boolean);
  10.     procedure HandleKeyPress(Sender: TObject; var Key: Char);
  11.   end;
  12.  
  13. constructor TBasalForm.CreateForm;
  14. begin
  15.   inherited Create(nil);
  16.   Self.KeyPreview := True;
  17.   SetForm;
  18.   Self.OnCloseQuery := HandleFormCloseQuery;
  19. end;
Problém je v tom, že sa mi najprv zavolá TBasalForm.CreateForm a až potom MyForm.CreateForm. A ja už v TBasalForm.CreateForm potrebujem mať k dispozícii MyForm. Pri podformulároch nie je problém. Tie si vytváram v rámci CreateObjects. Problém mám pri formulároch.
Pri nich musím tvorbu objektu presunúť do MyForm.CreateForm, čo je práca naviac a potláča význam TBasalForm.
.
Dá sa to vyriešiť nejako elegantne?



Delphi XE7, FireBird
Expert na kladenie nejasne formulovaných otázok.

Offline Slappy

  • Plnoletý
  • ***
  • Příspěvků: 188
  • Karma: 11
  • Slappy
    • Verze Delphi: 10.2 Tokyo + Vsetky :)
    • unSigned
Re:FormCreate - poradie volania mi nevyhovuje
« Odpověď #1 kdy: 19-10-2019, 19:09:52 »
To je standardne vytvaranie objektov: predok - potomok.

Myslim ze ide o XY problem - preco to potrebujes?
Moje projekty: http://www.unsigned.sk Tvorba cool dizajnovych instalatorov v NSIS a Inno Setup. Rozsirenie pre Visual Studio a RAD Studio pre tvorbu NSIS a Inno Setup instalatorov.

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 4546
  • Karma: 40
    • Verze Delphi: XE7 professional
Re:FormCreate - poradie volania mi nevyhovuje
« Odpověď #2 kdy: 19-10-2019, 19:40:14 »
Pri vytváraní objektu narábam s komponentami na formulári. A keďže ešte neexistuje... Teraz som tú tvorbu objektu hodil do MyForm.CreateForm.
.
Hm, nemá význam nad tým špekulovať. Potrebujem to v prípade, keď formulár nemá PageControl a tým pádom ani subfrom.
.
Ten TBasalForm mi len uľahčuje prácu. V MyForm si definujem tie tri funkcie a o ich spustenie sa už nestarám. To je všetko. Nedeje sa nič vážne. Ďakujem za reakciu.
Delphi XE7, FireBird
Expert na kladenie nejasne formulovaných otázok.