Delphi-PRAXiS
Seite 2 von 4     12 34      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi Buttonabhängiges Schließen des Programms (https://www.delphipraxis.net/155352-buttonabhaengiges-schliessen-des-programms.html)

hans ditter 20. Okt 2010 16:34

AW: Buttonabhängiges Schließen des Programms
 
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

DeddyH 20. Okt 2010 16:42

AW: Buttonabhängiges Schließen des Programms
 
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

Bummi 20. Okt 2010 22:03

AW: Buttonabhängiges Schließen des Programms
 
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.

hans ditter 21. Okt 2010 13:32

AW: Buttonabhängiges Schließen des Programms
 
@ Bummi ... äääääh, weil ich das nicht kann?!:cry:
@ daddyH Ja, ok... ich versteh nicht ganz was du meinst mit
Zitat:

die Client-/Server-Funktionalität in eine eigene Unit (z.B. ein Datenmodul) auslagern
... sowas hab ich noch nie gemacht... :pale::|

DeddyH 21. Okt 2010 13:43

AW: Buttonabhängiges Schließen des Programms
 
Ich vermute, dass Du die Socket- (oder Indy, oder welche auch immer) Komponenten auf Form1 hast. Diese kannst Du in ein TDataModule packen und dann von beiden Units darauf zugreifen.

youuu 21. Okt 2010 14:28

AW: Buttonabhängiges Schließen des Programms
 
Sorry hatte etwas wenig Zeit gehabt, aber DeddyH hat es dir ja erklärt gehabt.

Ich zeig dir mal wie ich mein Login Form benutze:

Delphi-Quellcode:
  Try
    QueryLogin.SQL.Text:='Select * from `Table` WHERE username LIKE EINGABE;';
    QueryLogin.Open;

    if QueryLogin.FieldByName('pw').AsString = md5string(EditPasswort.Text) then // PW ist in MD5 gespeichert
      ModalResult:= mrOk
    Else
      Showmessage('Benutzername und Passwort stimmen nicht überein.');
  Finally
    QueryLogin.Close;            // Schließe Query zum schluss
    QueryLogin.Free;
  End;
Exception Behandlung habe ich mal weg gelassen.

hans ditter 22. Okt 2010 23:26

AW: Buttonabhängiges Schließen des Programms
 
Liste der Anhänge anzeigen (Anzahl: 1)
Aaaaaaaarggggghhhhhhhhhhhh!!!!!!!!!!!!!!!!!!!!:evi l::evil::x:x:x:x:x:x:wall::wall::wall::wall::wall: :wall::wall::wall::kotz: :kotz: :kotz: :kotz: :kotz: :kotz: :kotz:

Jetzt hab ich gerade versucht umzusetzen, was DeddyH gesagt hat... und rausgekommen ist nur, dass mein Chat jetzt wieder Macken hat!!! :kotz::wall:

Das mit dem Datenmodul hat leider gar nicht geklappt. Das hab ich jetzt auch mal eben schnell wieder gelöscht, aber jetzt funktionieren auch andere Sachen wieder nicht mehr.

Wenn mein Server jetzt nicht online ist, dann bekomme ich so ein **** PopUp-Fenster, dass mir sagt, das ein "Asynchroner Socket Fehler 10061" vorliegt. Mir ist klar, dass das der Fehler ist, wenn der Client den Server nicht erreichen kann, aber ich will dieses blöde Fenster nicht :wall:!

Dabei gibt es eigentlich eine Routine, die das verhindern soll.

Und jetzt stell ich gerade fest, dass das Programm gar nicht mehr kompiliert werden kann!! :wall::wall::wall::wall::wall::wall::wall::wall::w all::wall::wall::wall::wall::wall::wall::wall:
:wall::wall::kotz::kotz::kotz::kotz::kotz::kotz::k otz::kotz::kotz::kotz::kotz::kotz::kotz::kotz:
:kotz::kotz:

Entschuldigt bitte meinen emotionalen Ausbruch, aber manchmal geht mir das tierisch auf den ****!

Hoffe ihr könnt mir nochmal helfen.
Ich hab den kompletten Quelltext nochmal angehängt.

LG, hans ditter

Luckie 22. Okt 2010 23:30

AW: Buttonabhängiges Schließen des Programms
 
Dann behandele die Exception halt.

Sir Rufo 22. Okt 2010 23:48

AW: Buttonabhängiges Schließen des Programms
 
Und benutze ein VersionsSystem Ala SVN (so was geht auch ohne Server), dann könntest du jetzt einfach wieder zurückstellen

hans ditter 23. Okt 2010 14:38

AW: Buttonabhängiges Schließen des Programms
 
@ Lucki: Das ist ja das Merkwürdige. Es gibt ja eine Fehlerbehandlung. Bei OnClientError (oder so ähnlich heisst das ja) wird ja auf jeden Fehler reagiert und der Fehlercode auf '0' gestellt, damit kein Fenster aufpoppt.
Aber irgendwie funktioniert das nicht mehr.

@ DeddyH: Vielleicht könntest du nochmal für Deppen erklären, wie das funktionieren soll. (Wie du diese Unit machst / wie du auf die Komponenten dann zugreifst)

[OFFTOPIC] @SirRufo: Da du das ansprichtst. Könntest du da mal ein paar Links posten, oder Stichwörter nach denen ich suchen kann? [/OFFTOPIC]


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:40 Uhr.
Seite 2 von 4     12 34      

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