Autor Téma: TAlarmPlannerEditForm.CreateNew(AOwner); - nepozná vlastné komponenty  (Přečteno 574 krát)

Offline Morrison

  • Hrdina
  • ****
  • Příspěvků: 313
  • Karma: 12
    • Verze Delphi: D5, XE2, 10.4
Pokud sis vytvořil .dfm ručně a už ho máš uložené, tak to WriteComponentResFile() k ničemu nepotřebuješ. To je imho právě pro vytvoření .dfm v případě, že ho ještě nemáš.
Proč teď už nezavoláš jednoduše FAlarmForm := TfrmAlarmPlannerEditForm.Create(AOwner); ?
nil

Offline pf1957

  • Padawan
  • ******
  • Příspěvků: 3178
  • Karma: 137
    • Verze Delphi: D2007, XE3, DX10
Kód: Delphi [Vybrat]
  1.   WriteComponentResFile('Temp.dfm', TfrmAlarmPlannerEditForm.Create(nil));
  2.   FAlarmForm := TAlarmPlannerEditForm(TForm.CreateNew(AOwner));
  3.   ReadComponentResFile('Temp.dfm', FAlarmForm);
Dalo mi to trocha zabrať a pritom neviem či to je správne.
Tady mi unika smysl snazeni: proc tu instanci TfrmAlarmPlannerEditForm nevytvoris rovnou a delas to takovym krkolomnym zpusobem tj. proc neudelas rovnou:
Kód: Delphi [Vybrat]
  1. FAlarmForm := TfrmAlarmPlannerEditForm.Create(AOwner)

Citace
Pri ReadComponentResFile dostanem:
Citace
Project JasotSVB.exe raised exception class EClassNotFound with message 'Class TAdvPanel not found'
Mám uvedenú jednotku AdvPanel.
Nezaregistrovana trida TAdvPanel?

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 5681
  • Karma: 42
    • Verze Delphi: W10 + Delphi 10.4 professional
No viete, som už silne znechutený a mozog mi tak funguje možno na 30 % - vek.
Ďakujem.
W10 64b, Delphi 10.4, FireBird 3.05
Expert na kladenie nejasne formulovaných otázok.