Autor Beitrag
Leuchtturm
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1087

Win Vista, Knoppix, Ubuntu
Delphi 7 Pe, Turbo Delphi, C#(VS 2005 Express), (X)HTML + CSS, bald Assembler
BeitragVerfasst: Sa 27.05.06 15:38 
Hi,
ich öffne durch einen Button Klick ein Fenster und schließe das 1. Fenster.
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
procedure TForm1.Button1Click(Sender: TObject);
var frmHilfe: Tform2;
begin
  frmHilfe := TForm2.Create(nil);
  frmHilfe.ShowModal();
  close;
end;

Das zweite Fenster geht auch auf, das andere schließt sich aber nicht.
Wie kann man das so ändern dass das eine Fenster auf und das andere zu geht :?: :?:
Leuchtturm

_________________
Ich bin dafür verantwortlich was ich sage - nicht dafür was du verstehst.
0xCC
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 150



BeitragVerfasst: Sa 27.05.06 15:49 
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
procedure TForm1.Button1Click(Sender: TObject);   
var frmHilfe: Tform2;   
begin   
  self.hide ;
  frmHilfe := TForm2.Create(nil);   
  frmHilfe.ShowModal();   
  frmHilfe.close; 
  frmhilfe.free;  
  self.show;
end;
Leuchtturm Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1087

Win Vista, Knoppix, Ubuntu
Delphi 7 Pe, Turbo Delphi, C#(VS 2005 Express), (X)HTML + CSS, bald Assembler
BeitragVerfasst: Sa 27.05.06 15:52 
Danke

_________________
Ich bin dafür verantwortlich was ich sage - nicht dafür was du verstehst.
Ironhead
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 57

Win XP,Kanotix 5

BeitragVerfasst: Mo 29.05.06 09:18 
Ich weiß nich warum ihr euch die sache mit so viel Text erschwert

ich schreibe nur:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
 
1:procedure TForm1.Button1Click(Sender: TObject);
2:begin
3:Form2.Show;
4:Form1.Hide
5:end;
jasocul
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 6393
Erhaltene Danke: 147

Windows 7 + Windows 10
Sydney Prof + CE
BeitragVerfasst: Mo 29.05.06 09:23 
user profile iconIronhead hat folgendes geschrieben:
Ich weiß nich warum ihr euch die sache mit so viel Text erschwert

Gnz einfach: weil (dein Beispiel zu Grunde gelegt) Form2 erst zur Laufzeit erzeugt wird. So, wie du programmierst, ist die Form schon erzeugt. Dann geht natürlich auch deine Methode.
Sobald du größere Anwendungen schreibst, wirst du das aber vermeiden und die Forms erst zur Laufzeit erzeugen. Daher ist der Aufwand mit Form2.Create;... leider erforderlich.
Abgesehen davon, handelt es sich auch noch um eine modale Anzeige (ShowModal). Danach muss die alte Form wieder angezeigt werden und die Form, die nicht mehr erforderlich ist, wird wieder zerstört (Free).
Ironhead
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 57

Win XP,Kanotix 5

BeitragVerfasst: Mo 29.05.06 09:27 
Ah so kann natürlich sein, bin ein wenig neu bei dem ganzen.

vielleicht hab ich damit verwirrung gestiftet, dachte es geht nur darum
jasocul
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 6393
Erhaltene Danke: 147

Windows 7 + Windows 10
Sydney Prof + CE
BeitragVerfasst: Mo 29.05.06 09:35 
user profile iconIronhead hat folgendes geschrieben:
Ah so kann natürlich sein, bin ein wenig neu bei dem ganzen.

Waren wir alle mal. :wink:
user profile iconIronhead hat folgendes geschrieben:
vielleicht hab ich damit verwirrung gestiftet

Glaube ich nicht. Vermutlich haben schon mehrere Anfänger sich gewundert. Daher wird es denen (und dir) nur geholfen haben. Und der Fragesteller hat schon seine Lösung bekommen und verstanden (vermute ich).
Leuchtturm Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1087

Win Vista, Knoppix, Ubuntu
Delphi 7 Pe, Turbo Delphi, C#(VS 2005 Express), (X)HTML + CSS, bald Assembler
BeitragVerfasst: Mo 29.05.06 15:22 
Zitat:
Und der Fragesteller hat schon seine Lösung bekommen und verstanden (vermute ich)
Richtig vermutet

_________________
Ich bin dafür verantwortlich was ich sage - nicht dafür was du verstehst.
Hans Dieter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 18



BeitragVerfasst: Di 30.05.06 20:27 
hi,

ich habe ein ähnliches problem, ich habe eine form1, da gibt es ein label.
wenn ich aufs label klicke, dann öffnet sich eine andere form (form2).

diese form2 soll nur eine art ladebalken sein (was auch super funktioniert) und dort soll nach 10 sek. (im einem timer steht das) die form3 geöffnet werden.

(am besten sollen natürlich die forms die inaktiv sind zu sein)

ich bekomme nur leider immer wieder diese fehlermeldung:

www.onlinepictures.d...nannt47a060b2JPG.jpg

Form1:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
procedure TForm1.Label3Click(Sender: TObject);
begin
form2.show;
form1.hide;
end;

Form2:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
procedure TForm6.LadetimerTimer(Sender: TObject);
begin
progressbar1.max:=10;
progressbar1.position:=progressbar1.position+1;
if progressbar1.position=progressbar1.max then
begin
 form7.show;
 ladetimer.Enabled:=false;
 form6.hide;
end;
end;


was mache ich falsch?
jasocul
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 6393
Erhaltene Danke: 147

Windows 7 + Windows 10
Sydney Prof + CE
BeitragVerfasst: Di 30.05.06 20:54 
Der Fehler ist nicht in diesen beiden Routinen. Die Fehlermeldung sagt doch genau, wo das Problem steckt. Auch der Tipp schrittweise zu debuggen, steht in der Meldung.
Paradox
Hält's aus hier
Beiträge: 8



BeitragVerfasst: Fr 23.06.06 16:51 
Hi Leute!! Ich hab das selbe Problem wie der Threadersteller
-> Button-klick ->Form 1 schließt sich, neues geht auf

ich hab auch die Prozedur hier gesehen und denke, dass sie mir helfen kann.

user profile icon0xCC hat folgendes geschrieben:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
procedure TForm1.Button1Click(Sender: TObject);   
var frmHilfe: Tform2;   
begin   
  self.hide ;
  frmHilfe := TForm2.Create(nil);   
  frmHilfe.ShowModal();   
  frmHilfe.close; 
  frmhilfe.free;  
  self.show;
end;


Nur leider weiß ich nicht, was die Befehle bedeuten!!
warum steht da
":= TForm2.Create(nil);" und nicht "Form2.show"?

Was heißt das "Show modal" und was bringt das "free"?

Bitte helft mir schnell^^

Vielen viele Dank
Marc.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1876
Erhaltene Danke: 129

Win 8.1, Xubuntu 15.10

BeitragVerfasst: Fr 23.06.06 17:24 
Wird eine Form mit ShowModal aufgerufen, so kann das Mainprogramm erst dann wieder benutzt werden, nachdem diese Form geschlossen wurde.
Free gibt den durch eine Objektinstanz belegten Speicher wieder frei.

Du initialisiert Objekte mit create, um auf ihre Elemente zugreifen zu können.