AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Modales Fenster schließen bzw. verstecken
Thema durchsuchen
Ansicht
Themen-Optionen

Modales Fenster schließen bzw. verstecken

Ein Thema von Chewie · begonnen am 27. Okt 2002 · letzter Beitrag vom 28. Okt 2002
Antwort Antwort
Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#1

Modales Fenster schließen bzw. verstecken

  Alt 27. Okt 2002, 18:52
Ich will ein Fenster für eine bestimmte Zeit modal anzeigen und anschließend wieder schließen. Leider geht das mit folgendem Code nicht:

Code:
Form2.ShowModal;
//Tu irgendwas
Form2.Close;
Kann ich das irgendwie mit der VCL machen, oder muss ich das mit der WinAPI lösen?

[edit=Daniel B]Verschoben nach Sonstiges; Hat nicht mit Komponentenentwicklung zutun![/edit]
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat
Daniel B
(Gast)

n/a Beiträge
 
#2
  Alt 27. Okt 2002, 18:57
Hallo,

Du hast in Unit2 "uses Unit1;" vergessen;

Grüsse, Daniel
  Mit Zitat antworten Zitat
Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#3
  Alt 27. Okt 2002, 19:00
Ich hätt mein Probblem wohl präziser beschreiben müssen.
Kompilieren lässt sich das ganze, nur wird das Fenster beim Betrieb eben nicht geschlossen.
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat
Daniel B
(Gast)

n/a Beiträge
 
#4
  Alt 27. Okt 2002, 19:13
Hi,

kann ja gar nicht gehen. Du öffnest es ja Modal, somit musst DU erst aus Form2 was machen, bzw. schliessen, damit es weiter geht, bei Modal ist nunmal nur Form2 aktiv. Machst Du es mit Form2.Show; dann wird es gehen.

Grüsse, Daniel
  Mit Zitat antworten Zitat
Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#5
  Alt 27. Okt 2002, 19:17
Hmm, Form1 kann gar nichts machen, d.h. es empfängt z. B. keine Nachrichten mehr. Und es sendet keine. Klar, dass dann Form2.Close nicht geht und auch klar, dass meine Idee mit der eigenen Nachricht an die Nachrichtenschleife nicht geht.
Das Problem ist: Wie kann Form1 der Form2 etwas mitteilen? Zuvor stellt sich aber die Frage, ob Form1 überhaupt die Berechnung fortführt, während Form2 modal angezeigt wird. Kann mir das jemand beantworten?
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat
Daniel B
(Gast)

n/a Beiträge
 
#6
  Alt 27. Okt 2002, 19:20
Hi,

ich hintergrund wird da nicht mehr viel Laufen.

Wenn Du folgendes machst:

Form2.ShowModal;
ShowMessage('Hallo'):
Form2.Close;

dann kommt die Message erst wenn Du selbst Form2 geschlossen hast und nicht vorher wie Du es haben willst.

Grüsse, Daniel
  Mit Zitat antworten Zitat
Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#7
  Alt 27. Okt 2002, 19:25
Sieht so aus, als würden wirklich alle Berechnungen von Form1 pausiert, während Form2 modal angezeigt wird. Wenn ich damit Recht hab, dann kann ich da, was ich vorhatte, vergessen. Na ja, war sowieso nur Kosmetik
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: München
11.412 Beiträge
 
Delphi 11 Alexandria
 
#8
  Alt 28. Okt 2002, 08:59
Mach anstelle des ShowModal einen Aufruf zu Show.

Im Ereignis OnCloseQuery gibst Du False zurück, bis Du selbst Close ausführen möchtest. Nicht ganz das Gleiche, aber schon recht nah.
Daniel W.
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Benutzerbild von d3g
d3g

Registriert seit: 21. Jun 2002
602 Beiträge
 
#9
  Alt 28. Okt 2002, 09:01
Hi Chewie,

wenn du einfach nur einen Splashscreen einbauen wolltest, kannst du es ja so machen:

Code:
Enabled := False;
Form2.Show;
// Berechnungen
Form2.Close;
Enabled := True;
MfG,
d3g
-- Crucifixion?
-- Yes.
-- Good. Out of the door, line on the left, one cross each.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:20 Uhr.
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