Delphi-PRAXiS
Seite 1 von 4  1 23     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   FreePascal Formular neu createn? (https://www.delphipraxis.net/192455-formular-neu-createn.html)

Maurooon 19. Apr 2017 18:40

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

a.def 19. Apr 2017 18:57

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?

Maurooon 19. Apr 2017 19:04

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

bnreimer42 19. Apr 2017 19:05

AW: Formular neu createn?
 
Bist Du im Editor oder geht es um eine Frage zur Runtime?

a.def 19. Apr 2017 19:17

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.

EWeiss 19. Apr 2017 19:30

AW: Formular neu createn?
 
Zitat:

Zitat von a.def (Beitrag 1368315)
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.

Wenn es für ihn so einfach wäre würde er nicht fragen.
Bitte tue hier nicht so überheblich, nicht vergessen du hast auch mal angefangen.
Dein Ton wird immer rauer habe ich den Eindruck.

gruss

Darlo 19. Apr 2017 19:31

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;

hoika 19. Apr 2017 19:43

AW: Formular neu createn?
 
Hallo,

1. Es geht nicht um MDI?

2.
Zitat:

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.
eine Form zu schließen
(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.

a.def 19. Apr 2017 19:56

AW: Formular neu createn?
 
Zitat:

Dein Ton wird immer rauer habe ich den Eindruck.
:roll: :roll:

t.roller 19. Apr 2017 20:31

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 09:58 Uhr.
Seite 1 von 4  1 23     Letzte »    

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