AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Das Programm auf Formular warten lassen

Ein Thema von gerritlober · begonnen am 14. Dez 2003 · letzter Beitrag vom 15. Dez 2003
Antwort Antwort
gerritlober

Registriert seit: 22. Nov 2003
Ort: Apelern
82 Beiträge
 
#1

Das Programm auf Formular warten lassen

  Alt 14. Dez 2003, 14:13
Hallo Leute,

ich habe mal eine Frage, wie kann ich ein Programm darauf warten lassen,
dass es erst im Quelltext fortfährt, wenn das zuvor geöffnete Form wieder geschlossen
ist? Bei den Standarddialogen von Windows funktioniert das ja.

Beispiel:

Delphi-Quellcode:
procedure Pfadlesen;
var pfad : string;
begin
  MeinForm.Show;
  Pfad := MeinForm.Pfad;
end;
Ich komme da echt nicht weiter.
Grüße
Gerrit
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Das Programm auf Formular warten lassen

  Alt 14. Dez 2003, 14:18
Moin Gerrit,

öffne es nicht mit Show, sondern mit ShowModal.
Dann hast Du, was Du willst.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#3

Re: Das Programm auf Formular warten lassen

  Alt 14. Dez 2003, 14:34
Und beim OK Button schreibst du:
ModalResult := mrOK Und beim Abbrechen Buttom entsprechend:
ModalResult := mrCancel; Das kannst du dann in der aufrufenden abfragen:
Delphi-Quellcode:
if Form2.ShowModal = mrOK then // Fenster wurde mit OK Button geschlossen
begin
  ...;
end
else
  ...;
end;
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Das Programm auf Formular warten lassen

  Alt 14. Dez 2003, 14:34
Und beim OK Button schreibst du:
ModalResult := mrOK Und beim Abbrechen Buttom entsprechend:
ModalResult := mrCancel; Das kannst du dann in der aufrufenden abfragen:
Delphi-Quellcode:
if Form2.ShowModal = mrOK then // Fenster wurde mit OK Button geschlossen
begin
  ...;
end
else
  ...;
end;
Somit reduziert sich der Code in der zweiten Form, wenn nichts weiter Großes passiert, auf diese zwei Zeilen.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
gerritlober

Registriert seit: 22. Nov 2003
Ort: Apelern
82 Beiträge
 
#5

Re: Das Programm auf Formular warten lassen

  Alt 15. Dez 2003, 16:56
Das klappt bei mir aber irgendwie nicht, ich habe immer den Rückgabewert 2
seltsamer Weise.
Grüße
Gerrit
  Mit Zitat antworten Zitat
Benutzerbild von Treffnix
Treffnix

Registriert seit: 25. Jun 2003
Ort: AC
740 Beiträge
 
Delphi 7 Professional
 
#6

Re: Das Programm auf Formular warten lassen

  Alt 15. Dez 2003, 17:01
Du musst den Buttons in dem Formular das du öffnest auch das entsprechende Modalresult zuweisen. Entweder im OnClick mit ModalResult:= mrOK (bzw. mrCancel) oder im OI.
  Mit Zitat antworten Zitat
gerritlober

Registriert seit: 22. Nov 2003
Ort: Apelern
82 Beiträge
 
#7

Re: Das Programm auf Formular warten lassen

  Alt 15. Dez 2003, 17:22
Sorry, aber bei mir klappt das nicht. Ich habe den Button ModalResult im
OI zugewiesen.

Dies ist der Fenster-Aufruf:
Delphi-Quellcode:
procedure TMainWindow.Projekteinstellungen1Click(Sender: TObject);
begin
  ConfigWindow.Project := ProjectData;
  if ConfigWindow.ShowModal = mrOk then
  begin
    ProjectData := ConfigWindow.Project;
    ShowMessage('Test');
  end;
end;
ShowMessage('Test'); Wird nicht ausgeführt.
Grüße
Gerrit
  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 19:41 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