Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Vorgefertigte Form duplizieren. (https://www.delphipraxis.net/110267-vorgefertigte-form-duplizieren.html)

dazar_t 15. Mär 2008 20:04


Vorgefertigte Form duplizieren.
 
Guten Tag

Ich habe mir in delphi einfachmal eine Main Form und eine "Zusatz" Main gebastelt.

Wie bekomme ich es nun hin das ich aus der vorgefertigten form eine neue erzeuge und somit auch beliebig viele damit erzeugen kann mein bisheriger Code ist sehr nüchtern :

Delphi-Quellcode:
    Form := TForm.Create(Self);
    Form := Form2;
    Form.Show;
Dies Funktioniert einmal danach wird nur noch ein blankes fenster erzeugt

mkinzler 15. Mär 2008 20:08

Re: Vorgefertigte Form duplizieren.
 
Die Anweisung Form := Form2 dupliziert das Fenster auch nicht, sondern setzt die Referenzvariable auf ein anderes Objekt.

Delphi-Quellcode:
Form.Assign ( Form2);

dazar_t 15. Mär 2008 20:11

Re: Vorgefertigte Form duplizieren.
 
Bei diesem Code bekomme ich immer die Fehlermeldung "TForm2 kann nicht TForm zugewisen werden"

mkinzler 15. Mär 2008 20:18

Re: Vorgefertigte Form duplizieren.
 
Der Typ muss natürlich gleich sein.

dazar_t 15. Mär 2008 20:20

Re: Vorgefertigte Form duplizieren.
 
Auf wenn ich dem Form den Tys TForm2 zuweise funktoiniert es nicht :
Delphi-Quellcode:
var
FoeRM: TForm2;
begin
[...]
    Foerm := TForm2.Create(Self);
    Foerm.Assign(Form2);
    Foerm.Show;
Dann bekomme ich den Fehler " TForm2 kann nicht TForm2 zugewiesen werden" ? :gruebel:

IceTube 15. Mär 2008 21:09

Re: Vorgefertigte Form duplizieren.
 
so...

Delphi-Quellcode:
var
FoeRM: TForm;
begin
[...]
    Foerm := TForm2.Create(Self);
    Foerm.Assign(Form2);
    Foerm.Show;

Hansa 15. Mär 2008 21:10

Re: Vorgefertigte Form duplizieren.
 
Benutze die Objektablage. Also Form da rein und dann weiter. Siehe auch "Entwickler" 2/2008.

mkinzler 15. Mär 2008 21:14

Re: Vorgefertigte Form duplizieren.
 
Ich glaube er will die Eigenschaften von einem Formular zur Laufzeit auf ein anderes übertragen, sonst könnte er ja gleich mehrere Instanzen erzeugen.

Hansa 15. Mär 2008 22:50

Re: Vorgefertigte Form duplizieren.
 
Zitat:

Zitat von dazar_t
.. aus der vorgefertigten form ..
Delphi-Quellcode:
    Form := TForm.Create(Self);
    Form := Form2;
    Form.Show;
Dies Funktioniert einmal danach wird nur noch ein blankes fenster erzeugt

Du willst also bereits vorhandenes weiterverwenden ? Fensterkoordinaten, KeyPress etc.-Ereignisse ? Dann gilt das gesagte.

Macci 15. Mär 2008 22:59

Re: Vorgefertigte Form duplizieren.
 
Du musst Form2 nur aus den automatisch zu erzeugenden Formularen des Projekts herausnehmen, dann klappts.


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:57 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz