AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi Buttonabhängiges Schließen des Programms
Thema durchsuchen
Ansicht
Themen-Optionen

Buttonabhängiges Schließen des Programms

Ein Thema von hans ditter · begonnen am 20. Okt 2010 · letzter Beitrag vom 29. Okt 2010
Antwort Antwort
hans ditter

Registriert seit: 25. Jun 2010
Ort: Niedersachsen
263 Beiträge
 
Turbo Delphi für Win32
 
#1

AW: Buttonabhängiges Schließen des Programms

  Alt 20. Okt 2010, 15:30
Form1 --> Hauptform
Form2 --> Loginform
Beide Forms werden (eigentlich) bei Programmstart erstellt.

Ich hatte mir zu Hause auch Gedanken gemacht. Das ist rausgekommen:
Delphi-Quellcode:
program Client;

uses
  Forms,
  Unit1 in 'Unit1.pas{Form4},
  Unit2 in 'Unit2.pas{Form2};

{$R *.res}

begin
  Application.Initialize;
  //Application.MainFormOnTaskBar:=True; --> failure: Application kennt diesen Bezeichner nicht
  Form2:=TForm2.Create(nil);
  try
    if Form2.ShowModal = mrOk then
      Application.CreateForm(TForm1,Form1);
  finally
      Form1.Free;
  end;
  Application.Run;
end.
Der restliche Quelltext funzt auch nicht. Da wird das Loginfenster halbwegs erzeugt, dann kommt aber eine Fehlermeldung, dass aus einem sichtbaren Fenster kein modales gemacht werden kann.
RudiRüsselSeineSocketKomponente - SirRufo (--> Chat mit PM)

Delphi Programming is the best one!
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.545 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Buttonabhängiges Schließen des Programms

  Alt 20. Okt 2010, 15:38
Ungetestet:
Delphi-Quellcode:
program Client;

uses
  Forms,
  Unit1 in 'Unit1.pas{Form4},
  Unit2 in 'Unit2.pas{Form2};

{$R *.res}

begin
  Application.Initialize;
  Form2:=TForm2.Create(nil);
  try
    Form2.Visible := false;
    if Form2.ShowModal = mrOk then
      Application.CreateForm(TForm1,Form1);
  finally
      Form2.Free; //Form2, nicht Form1
  end;
  Application.Run;
end.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
hans ditter

Registriert seit: 25. Jun 2010
Ort: Niedersachsen
263 Beiträge
 
Turbo Delphi für Win32
 
#3

AW: Buttonabhängiges Schließen des Programms

  Alt 20. Okt 2010, 15:49
tja, das funktioniert schonmal fast super.
Ich hatte versehentlich eingegeben if Form2.ShowModal <> 0 then ... und was soll ich sagen, dass funktioniert. Wenn ich da angebe if Form2.ShowModal = mrOk then erzählt er mir, dass 'mrOk' ein 'undefinierter Bezeichner' ist.

Und dann hab ich noch eine Verständnisfrage. Du erzeugst Form2. Machst es dann aber unsichtbar, man kann es aber trotzdem sehen? Ist mir im Moment noch ein Rätsel...
RudiRüsselSeineSocketKomponente - SirRufo (--> Chat mit PM)

Delphi Programming is the best one!
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.545 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Buttonabhängiges Schließen des Programms

  Alt 20. Okt 2010, 16:25
Ein kurzer Blick in die Referenz:
Zitat von Delphi-Referenz:
constant Controls.mrOk
Aha, Controls fehlt in der uses-Klausel Und Formulare sind per Default erst einmal nicht visible, das hast Du anscheinend im OI geändert. Also setze ich das wieder zurück, um die Fehlermeldung abzustellen.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
hans ditter

Registriert seit: 25. Jun 2010
Ort: Niedersachsen
263 Beiträge
 
Turbo Delphi für Win32
 
#5

AW: Buttonabhängiges Schließen des Programms

  Alt 20. Okt 2010, 16:34
Danke! Funktioniert jetzt.
Wenn ich das jetzt als Login-Fenster nehmen will, dann hab ich mir das so gedacht, dass man eben seinen Benutzernamen und Passwort eingibt. Diese werden als 'Nachricht' an den Server geschickt, der überprüft, ob die Zugangsdaten korrekt sind und schickt eine Nachricht zurück, die dann das Schließen des Fensters regelt.
Wenn alles korrekt war, dann eben das, was man mir hier freundlicherweise gezeigt hat. Wenn die Daten aber nicht stimmen, dann soll das Fenster geöffnet bleiben, möglicherweise auch eine Fehlermeldung kommen.

ABER: Wie realisier ich das jetzt?

lg, hans ditter
RudiRüsselSeineSocketKomponente - SirRufo (--> Chat mit PM)

Delphi Programming is the best one!
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.545 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Buttonabhängiges Schließen des Programms

  Alt 20. Okt 2010, 16:42
Das dürfte mit dem jetzigen Lösungsweg schwierig bzw. sehr umständlich werden. Nur so als Gedankengang:
-die Client-/Server-Funktionalität in eine eigene Unit (z.B. ein Datenmodul) auslagern
-das LoginForm zum Hauptformular machen
-nach erfolgreichem Login verstecken, Form1 erzeugen und anzeigen
-um die Anwendung zu beenden, dann eben das versteckte MainForm (also Form2) schließen
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#7

AW: Buttonabhängiges Schließen des Programms

  Alt 20. Okt 2010, 22:03
Warum nicht im Constructor des Mainforms den Logindialog öffnen , wenn hier nicht erfolgreich abgearbeitet wird , Meldung anzeigen und ein Terminateflag setzen welches die Anwendung beendet.
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  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 08:06 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