![]() |
Delphi-Version: 5
Formular neu createn?
Guten Abend,
gibt es eine Möglichkeit, per Buttonclick oder Ähnlichem eine Form zu löschen und wieder neu zu createn? Also dass man quasi nur diese eine Form neu startet als würde man neu kompilieren. Ich hoffe ihr könnt mir weiterhelfen. LG |
AW: Formular neu createn?
Ehrlich gesagt verstehe ich nur Bahnhof.
Du willst ein neues Formular haben oder ein bestehendes löschen das habe ich verstanden. Aber was hat das mit Kompilieren zu tun? |
AW: Formular neu createn?
zum Beispiel: Ich habe zwei Formen. Auf der einen habe ich einen Button über den ich zur zweiten komme. Dort bewege ich über einen weiteren Button ein Objekt von der linken oberen Ecke in die untere rechte. Wenn ich die zweite Form schließe und erneut über den ersten Button die zweite öffne, ist das Image immer noch in der unteren rechten Ecke. Ich suche jetzt nach einer Möglichkeit, eine Form zu schließen, um sie bei erneutem Öffnen so vorzufinden, wie ich sie createt habe also wie sie nach dem Kompilieren aussah.
Ich hoffe jetzt ist es etwas verständlicher :D LG |
AW: Formular neu createn?
Bist Du im Editor oder geht es um eine Frage zur Runtime?
|
AW: Formular neu createn?
Wieso dann mit Kanonen auf Spatzen schießen?
Speichere doch einfach die Originalposition des Objekts und setze es im FormShow des Formulars #2 an die Originalposition zurück. |
AW: Formular neu createn?
Zitat:
Bitte tue hier nicht so überheblich, nicht vergessen du hast auch mal angefangen. Dein Ton wird immer rauer habe ich den Eindruck. gruss |
AW: Formular neu createn?
Ja, klar geht das. Ungefähr so:
Delphi-Quellcode:
var
myform2: TForm2; begin form2.close; form2.free; myform2 := TForm2.Create(self); myform2.show; end; |
AW: Formular neu createn?
Hallo,
1. Es geht nicht um MDI? 2. Zitat:
(Form2) OnButton1Click Self.Close; erneut öffnen Form2 := TForm2.Create; Form2.ShowModal; wie ich sie createt habe das sollte genauso sein Es sei denn: Du erzeugst Form2 gar nicht bei jedem (Form1)-Button-Klick, sondern zeigst sie nur mit Form2.Show an. Dann musst du dir die Positionen im FormCreate merken und im OnShow wiederherstellen Ansonsten: Ein bisschen mehr Code wäre schön, am besten das ganze (Minimal-)Projekt als Zip. |
AW: Formular neu createn?
Zitat:
|
AW: Formular neu createn?
Das geht so:
Delphi-Quellcode:
program Project1;
uses Vcl.Forms, Unit1 in 'Unit1.pas' {Form1}, Unit2 in 'Unit2.pas' {Form2}; {$R *.res} begin Application.Initialize; Application.MainFormOnTaskbar := True; Application.CreateForm(TForm1, Form1); // Application.CreateForm(TForm2, Form2); Application.Run; end. ---------------------- procedure TForm1.Button1Click(Sender: TObject); begin Application.CreateForm(TForm2, Form2); Form2.Show; end; ---------------------- procedure TForm2.Button1Click(Sender: TObject); begin Close; Self.Free; end; ---------------------- |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:19 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-2025 by Thomas Breitkreuz