![]() |
Doppelter FormAufruf!
Hy leute!
Habe folgendes problem ! Ich möchte eine Form 2 mal aufrufen. Das ist nicht das problem nur wenn ich die eine form beende(Form2.Release;) mache schließt er mir das 2 te fenster auch ... meine frage wie kann ich ein und das selbe fenster so öffnen und schließen( anderen FormNAME ) ???! kann ich mir da eine klasse definieren bzw wie mache ich das ! mit besten dank ColdFire |
Re: Doppelter FormAufruf!
Wie üffnest du denn das Formular ein zweites mal ?
Das müsste so aussehen:
Delphi-Quellcode:
Das müsste eigentlich gehen ... :gruebel:
var Form2a: TForm2;
... Form2a := TForm2.Create; Form2a.Show; |
Re: Doppelter FormAufruf!
Hi,
spätestens an dieser Stelle kann man auf die globalen Formularvariablen verzichten. MainForm:
Delphi-Quellcode:
2. Form
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; Button2: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; implementation uses Unit2; {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin with TForm2.Create(Self) do Show; end; procedure TForm1.Button2Click(Sender: TObject); begin with TForm2.Create(Self) do begin ShowModal; Release; end; end; end.
Delphi-Quellcode:
Wenn du allerdings das Form von aussen schliessen musst, musst du auch deine Forma selbst in einem Controller handeln.
unit Unit2;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs; type TForm2 = class(TForm) procedure FormClose(Sender: TObject; var Action: TCloseAction); private { Private-Deklarationen } public { Public-Deklarationen } end; // var // Form2: TForm2; implementation {$R *.dfm} procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction); begin Action := caFree; end; end. Dafür gibt es auch reichlich Beispiele. Cu, Frank |
Re: Doppelter FormAufruf!
einfach in der Unit wo die Variable für form1 deklariert ist noch eine weitere solche variable dazuschreiben:
Delphi-Quellcode:
und dann
var
form1: tform1; //neu form2: tform1;
Delphi-Quellcode:
form1 ist aber immer noch das Hauptformular der Anwendung (application.mainform), d.h. wenn es beendet wird, dann wird die ganze Anwendung beendet.
form2:=tform1.create(application);
form2.dosomething; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:51 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