Vytvoření formuláře z jiného formuláře? – Delphi – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Vytvoření formuláře z jiného formuláře? – Delphi – Fórum – Programujte.comVytvoření formuláře z jiného formuláře? – Delphi – Fórum – Programujte.com

 

Toto vlákno bylo označeno za vyřešené.
oxidián0
Grafoman
24. 5. 2017   #1
-
0
-

Dá se vytvořit formulář tak že zkopíruju soubor pas a dfm? Já to tak udělal, zeditoval a teď jsem dostal hlášku Warning duplicate resources. Chtěl jsem si ušetřit práci ...

Aktuální verze programu 2.33.

Nahlásit jako SPAM
IP: 78.102.61.–
MilanL+1
Grafoman
24. 5. 2017   #2
-
0
-

#1 oxidián
musíš kompletně přejmenovat, od jména unity přes jméno formuláře a form.metod (tu první část s třídou formu)

pokud nebudeš upravovat metody a fungování není třeba kopírovat stačí vytvořit novou instanci původního

problém u toho tvýho programu je to jak je postavenej z hlediska proměných.

kterej form jsi kopíroval kouknu se.

Nahlásit jako SPAM
IP: 185.112.167.–
oxidián0
Grafoman
24. 5. 2017   #3
-
0
-

#2 MilanL
kopíroval jsem jmeno na book

jméno formuláře tam nikde nevidím... a jo už jsem našel: TBtnBottomDlg

Nahlásit jako SPAM
IP: 78.102.61.–
MilanL+1
Grafoman
24. 5. 2017   #4
-
0
-

#3 oxidián
jednoduchý je tam jen chyba v názvu formuláře, otevři si BOOK.pas přejdi na design a změň název formuláře z btn... na fBook/formBook apod (jen BOOK bejt nemůže nesmí se to jmenovat stejně jako unita), tím se ti změní všechno i v kodu, pak jen uložíš a naimportuješ do projektu.

Nahlásit jako SPAM
IP: 185.112.167.–
oxidián0
Grafoman
24. 5. 2017   #5
-
0
-

Díky, tak už to zas jde.

Nahlásit jako SPAM
IP: 78.102.61.–
MilanL+1
Grafoman
24. 5. 2017   #6
-
0
-

#3 oxidián
ještě drobnost máš tu spoustu vláken, tak knim napiš jestli je to vyřešený nebo označ jako vyřešený pokud jsi si jistej, že už se v tom vlákně nebudeš na nic dalšího ptát.

Nahlásit jako SPAM
IP: 185.112.167.–
oxidián0
Grafoman
25. 5. 2017   #7
-
0
-

Krachne to v té části, kde je showmodal. Verze 2.34 UC_HEB1 line 853

menu Nástroje->Vytvořit učebnici

nevíš čím by to mohlo být?

Nahlásit jako SPAM
IP: 78.102.61.–
MilanL+1
Grafoman
25. 5. 2017   #8
-
0
-

#7 oxidián

nevidím modul BOOK v projektu, musíš si ho tam přidat. fungovalo by to tak kdyby byl book součástí BLP knihovny,Kompilace se na něj sice podívá, použije referenční adresy, ale nezahrne to do programu tzn že se ti tam nevytvoří ten BOOK objekt.

Nahlásit jako SPAM
IP: 91.139.9.–
oxidián0
Grafoman
25. 5. 2017   #9
-
0
-

Aha. Tak díky! O přidávání do Projektu a o Project Manageru jsem ještě nevěděl.

Nahlásit jako SPAM
IP: 78.102.61.–
MilanL+1
Grafoman
25. 5. 2017   #10
-
0
-

#9 oxidián
no já si nepamatuju jak to bylo v D7, já ted používám v práci D2010 a doma 10.1 Berlin.

Primárně jde o to, že se ti bez toho přidání do projektu nevytvoří ten globální objekt BookDialog.

Jinak všechny ty formuláře se ti vytvoří při startu aplikace aniž bys je v aplikaci třeba jedinkrát použil. ikdyž při dnešních velikostech RAM na tom už nezáleží, v případě potřeby se s nimidá pracovat dynamicky.

Nahlásit jako SPAM
IP: 185.112.167.–
MilanL+1
Grafoman
25. 5. 2017   #11
-
0
-

to že ten modul Book není v projektu by šlo obejít přidáním  řádků do main formu

nahoře si vytvořit definici objektu ve

Var
  booksDialog : TbooksDialog

a pak v té za begin té funkce vložit řádek
if booksDialog=nil then booksDialog := TbooksDialog.Create(self);

to je dynamické generování formuláře, dokud není aktivován je v paměti umístěná jen prázdná reference, a až po create se vytvoří celej objekt formuláře.

na konci před opuštěním funkce ho zase můžeš uvolnit

booksDialog.free;

Odzkoušeno a funkční, jen když ho neuvolníš zůstane skrytý na pozadí s předvyplněnými posledními údaji.

Nahlásit jako SPAM
IP: 185.112.167.–
MilanL+1
Grafoman
25. 5. 2017   #12
-
0
-

Pak ještě je možnost mít ten Book.pas v projektu a dynamicky:

1) Project - Options - Forms tem jsou 2 listy formuláře vytvářené automaticky při startu a available tak ten book přehodit do Available.

2) v modulu book zrušit to globální přiřazení objektu
Var
  booksDialog : TbooksDialog

3) ty 3 kroky předchozím příspěvku v Main formu

Mimochodem uprav si v Antiwin i ten ukazatel cmd na PansiChar, musím opravovat v každý nový stažený verzi.

Nahlásit jako SPAM
IP: 185.112.167.–
oxidián0
Grafoman
25. 5. 2017   #13
-
0
-

No já to teď do detailu moc neřeším, časem se k těmhle dynamickým věcem postupně dostanu.

Nahraju aktuální verzi.

Ještě mě napadlo, že bych mohl zavést výuku pomocí obrázků nebo audiozáznamu - dobré třeba pro malé děti co neumí číst nebo i pro dospělé co zase neznají správnou výslovnost.

Místo toho aby v souboru bylo na jednom řádku slovíčko, by tam mohlo být o jeden sloupec oddělený tabulátorem víc; program by pak sám detekoval jestli jde o obrázek nebo audio soubor nebo obojí a podle toho by přehrál zvuk nebo zobrazil obrázek.

Nahlásit jako SPAM
IP: 78.102.61.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 19 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý