![]() |
Ein TForm in eine Variable kopieren
Hallo. Ich habe ein Formular den ich aus einen bestimmten Grund im Programm an zwei stellen benutzen mus: So gehe ich vor:
Delphi-Quellcode:
Das Problem ist, das ich in f_ag eine Funktion deklariert habe die ich in neueform aufrufen muss:
var neueform : TForm;
begin neueform := Tf_ag.create(Self); with neueform do begin FormStyle := fsNormal; Visible := False; Height := 560; Width := 750; Showmodal; Free; end; end; neueform.Suche; Das geht aber nicht, undefenierter bezeichner. Warum? |
Re: Ein TForm in eine Variable kopieren
Hallo Karstadt!
Dein Problem liegt hier:
Delphi-Quellcode:
Du gibst hier als Typ TForm an. Richtig wäre es, den Typ Deiner Form anzugeben, dieser ist sicherlich von TForm abgeleitet.
var neueform : TForm;
Dann kannst DU auch alle Methoden der Form benutzen. Gruß onlinekater |
Re: Ein TForm in eine Variable kopieren
Delphi-Quellcode:
Nun habe ich aber eine FMeldung:
var neueform : Tf_ag;
begin neueform := neueform.create(Self); with neueform do begin FormStyle := fsNormal; Visible := False; Height := 560; Width := 750; Showmodal; Free; end; Komponente mit dieser Bezeichnung existiert bereits |
Re: Ein TForm in eine Variable kopieren
Delphi-Quellcode:
oder hast du einfach ne zweite Variable deklariert, die "neueform" heisst?
var neueform : Tf_ag;
begin neueform := Tf_ag.create(Self); //Hier war ein Fehler with neueform do begin FormStyle := fsNormal; Visible := False; Height := 560; Width := 750; Showmodal; Free; end; |
Re: Ein TForm in eine Variable kopieren
Das funktioniert. Nun habe ich eine weiter frage.
Beim Starten kommt ein Fenster was nach 1 Sekunde verschwindert und dann kommt das eigentliche Fenster. Was kann das sein? |
Re: Ein TForm in eine Variable kopieren
Geh mal auf "Ansicht -> Units" und öffne die Unit die so heisst wie das Projekt und schau dir die mal durch, such nach einem Formular, das vor dem eigentlichen Fenster erzeugt wird.
|
Re: Ein TForm in eine Variable kopieren
Kann das sein das dieses Verhalten deswegen auftritt, weil das Fenster was ich in die Varialbe übergebe FormStyle : fsMDIChild hat
|
Re: Ein TForm in eine Variable kopieren
Wenn das Form, auf dem Du neueform generierst ein MDIForm ist, ist das durchaus möglich.
Du kannst neueform ja mal auf nil oder über Application.CreateForm generieren. Gruß Thomas |
Re: Ein TForm in eine Variable kopieren
Delphi-Quellcode:
var neueform : Tf_ag;
begin neueform := Tf_ag.create(Self); //Hier war ein Fehler //Das Form f_ag ist ein MDI Form das soll ich nun als Modal aufrufen with neueform do begin FormStyle := fsNormal; Visible := False; Height := 560; Width := 750; Showmodal; Free; end; Zitat:
|
Re: Ein TForm in eine Variable kopieren
Zitat:
|
Re: Ein TForm in eine Variable kopieren
du könntest die Reihenfolge verändern oder das was gezeigt wird nicht erzeugen lassen, was dazu führen würde das es nicht gezeigt wird.
|
Re: Ein TForm in eine Variable kopieren
Zitat:
|
Re: Ein TForm in eine Variable kopieren
Zitat:
Delphi-Quellcode:
Weiter gehe ich davon aus, dasß dieses hier durch Self angesprochenen Form ein MDI-Form ist.
neueform := Tf_ag.create(Self);
Somit wird dann das neueform als MDI-Child des durch Self angesprochenen Forms generiert. Dann änderst Du den Style des neueform in fsNormal, machst es unsichtbar und holst es dann durch showmodal wieder hervor. Du kö nntest stattdessen folgendes versuchen:
Delphi-Quellcode:
Hope it helps
with Tf_ag.create (nil) do
begin visible := False; FormStyle := fsNormal; Height := 560; Width := 750; ShowModal; Free; end; Thomas |
Re: Ein TForm in eine Variable kopieren
Hallo. Das klappt auch nicht. Schade.
Wenn ich zuhause bin, erstelle ich ein Beispiel und lade das hoch, vielleicht wird die Sache dadurch verständlicher :) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:06 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz