| Autor |
Nachricht |
inflames2k
Mitglied
Benutzerprofil
Anmeldungsdatum: 02.06.2009
Beiträge: 742
|
inflames2k Mitglied
10:00:03 24.04.2012 Titel: |
|
Zitieren |
Wie wäre es das Login-Form aus dem Hauptformular aufzurufen? Das wäre zumindest der korrekte Weg. |
_________________ Ich will kein For ech. Ich will wissen was dahinter steckt, sonst stehe ich immer wieder vor dem Problem...
Das ist dreckige kapitalischtische Scheisse!!!
|
|
 |
^bnL
Mitglied
Benutzerprofil
Anmeldungsdatum: 18.04.2012
Beiträge: 18
|
^bnL Mitglied
11:43:11 24.04.2012 Titel: |
|
Zitieren |
| inflames2k schrieb: | | Wie wäre es das Login-Form aus dem Hauptformular aufzurufen? Das wäre zumindest der korrekte Weg. |
Darauf habe ich es inzwischen auch umgebaut.
Login Hide usw Funktioniert auch ohne Probleme.Allerdings bisher bei der Main nicht. Jedoch war des gestern auch nur auf die schneller noch gemacht. Muss da Heute mal genauer schauen.Denke,dass ich da einfach vor lauter Schlafmangel nicht richtig aufgepasst habe und dadurch einen Layer 8 Fehler eingebaut habe |
|
|
|
 |
^bnL
Mitglied
Benutzerprofil
Anmeldungsdatum: 18.04.2012
Beiträge: 18
|
^bnL Mitglied
18:11:16 24.04.2012 Titel: |
|
Zitieren |
Leider kein Erfolg. Ich kann alles(Login Form,menustrip,button usw) Hiden bis auf die von main() aufgerufene Form (in diesem Fall MainView).
Ich versuche nochmals es passend zu beschreiben was ich vorhabe.
Gegeben:
- MainView Form (wird direkt von Main aufgerufen)
- Login Form( wird durch eine Form_Load Funktion aufgerufen)
Der aufruf der beiden Formen funktioniert ohne Probleme. Nun möchte ich jedoch die MainView erst einblenden lassen,wenn der Login Erfolgreich war ( abfrage steht hierfür statisch bisher). Sprich "Login Erfolgreich, weiterleitung zu -> MainView).
Jedoch lässt sich leider MainView aus welchen Gründen auch immer nicht verstecken/ausblenden, wahtever...
Hat einer noch eine Idee bzw kann die Vermutung von mir bestätigen, dass man eine von Main() aufgerufene Form nicht verstecken kann ?!
Vielen Dank! |
|
|
|
 |
Th69
Mitglied
Benutzerprofil
Anmeldungsdatum: 25.03.2008
Beiträge: 2587
|
Th69 Mitglied
19:23:29 24.04.2012 Titel: |
|
Zitieren |
Du brauchst nur die Login-Form mittels ShowDialog(this) aufzurufen, dann blockiert dieser Aufruf solange, bis der User diesen Dialog schließt und danach geht es dann im Ablauf weiter und die MainForm wird angezeigt.
Besser finde ich jedoch, wenn in der Main zuerst der Aufruf des Login-Dialogs erfolgt und danach dann erst die Main-Form mittels Application.Run aufgerufen wird. |
|
|
|
 |
inflames2k
Mitglied
Benutzerprofil
Anmeldungsdatum: 02.06.2009
Beiträge: 742
|
inflames2k Mitglied
15:12:59 25.04.2012 Titel: |
|
Zitieren |
| ^bnL schrieb: |
Hat einer noch eine Idee bzw kann die Vermutung von mir bestätigen, dass man eine von Main() aufgerufene Form nicht verstecken kann ?!
|
Eine aus Main mittels Application.Run aufgerufene Form kann ausgeblendet werden!
Beispiel:
| C#: | 1 2 3 4 5 6 7 8 9 10 11 12 13 | public partial class MyForm : Form
{
protected overwrite void OnShown()
{
this.Visible = false;
DialogResult result = DialogResult.Cancel;
do
{
result = MyLoginForm.ShowDialog();
}while(result != DialogResult.OK);
this.Visible = true;
}
} | | |
_________________ Ich will kein For ech. Ich will wissen was dahinter steckt, sonst stehe ich immer wieder vor dem Problem...
Das ist dreckige kapitalischtische Scheisse!!!
|
|
 |
^bnL
Mitglied
Benutzerprofil
Anmeldungsdatum: 18.04.2012
Beiträge: 18
|
^bnL Mitglied
18:05:23 25.04.2012 Titel: |
|
Zitieren |
Vielen Dank zuallererst an euch Beide !
| Th69 schrieb: | Du brauchst nur die Login-Form mittels ShowDialog(this) aufzurufen, dann blockiert dieser Aufruf solange, bis der User diesen Dialog schließt und danach geht es dann im Ablauf weiter und die MainForm wird angezeigt.
Besser finde ich jedoch, wenn in der Main zuerst der Aufruf des Login-Dialogs erfolgt und danach dann erst die Main-Form mittels Application.Run aufgerufen wird. |
Wenn der User jedoch abbricht, wird ihm die MainView angezeigt. Jedoch müsste man diese Aktion mittels einer if abfrage abfangen können,oder ?
@inflames2k :
Mit den anpassungen an meine Form, spruckt der Compilier mir jede Menge Meldungen aus. (werde diese alle weiter unten Posten). Jedoch ist aus meiner Sicht momentan das Problem,dass Hide bzw visable = flase nicht greift.
Spruckt folgendes aus
| Zitat: | All outputs are up-to-date.
1> Login.cpp
1>c:\users\marcus\documents\ipx\zentraldockma\client\client\Main.h(22): error C2228: left of '.Visible' must have class/struct/union
1> type is 'Client::Main ^const '
1> did you intend to use '->' instead? |
Wenn ich dieser Anweisung folge und den Punkt auswechsel kommt keine Meldung mehr,aber die Anweisung wird auch nicht umgesetzt.
Wie oben angesprochen die Meldungen des Compiliers mit der Methoden deklaration der Class.
| Zitat: | 1>c:\users\marcus\documents\ipx\zentraldockma\client\client\Main.h(27): error C2144: syntax error : 'void' should be preceded by ';'
1>c:\users\marcus\documents\ipx\zentraldockma\client\client\Main.h(27): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\users\marcus\documents\ipx\zentraldockma\client\client\Main.h(29): error C2228: left of '.Visible' must have class/struct/union
1> type is 'Client::Main ^const '
1> did you intend to use '->' instead?
1>c:\users\marcus\documents\ipx\zentraldockma\client\client\Main.h(30): error C2146: syntax error : missing ';' before identifier 'result'
1>c:\users\marcus\documents\ipx\zentraldockma\client\client\Main.h(30): error C2065: 'result' : undeclared identifier
1>c:\users\marcus\documents\ipx\zentraldockma\client\client\Main.h(30): error C2039: 'Cancel' : is not a member of 'System::Enum'
1> c:\windows\microsoft.net\framework\v2.0.50727\mscorlib.dll : see declaration of 'System::Enum'
1>c:\users\marcus\documents\ipx\zentraldockma\client\client\Main.h(34): error C2065: 'result' : undeclared identifier
1>c:\users\marcus\documents\ipx\zentraldockma\client\client\Main.h(34): error C2228: left of '.ShowDialog' must have class/struct/union
1> type is 'Client::Login ^'
1>c:\users\marcus\documents\ipx\zentraldockma\client\client\Main.h(36): error C2065: 'result' : undeclared identifier
1>c:\users\marcus\documents\ipx\zentraldockma\client\client\Main.h(36): error C2039: 'OK' : is not a member of 'System::Enum'
1>c:\users\marcus\documents\ipx\zentraldockma\client\client\Main.h(37): error C2228: left of '.Visible' must have class/struct/union
1> Generating Code...
1>
1>Build FAILED. |
Wo muss ich denn overwrite void OnShown() initialisieren( dies ist die erwähnte zeile)? Sorry, bin noch nicht solange an OOP dran bzw allgemein C++.
Danke für eure Hilfe ! |
|
|
|
 |
theta
Mitglied
Benutzerprofil
Anmeldungsdatum: 26.09.2008
Beiträge: 4079
|
theta Mitglied
18:58:21 25.04.2012 Titel: |
|
Zitieren |
Der gezeigte Code kommt nicht ins Main, sondern in die Form!
Zweitens ist der geziegte Code C# und muss noch nach C++/CLI portiert werden, was aber kein Kopfzerbrechen verursachen sollte. |
|
|
|
 |
Th69
Mitglied
Benutzerprofil
Anmeldungsdatum: 25.03.2008
Beiträge: 2587
|
Th69 Mitglied
18:59:07 25.04.2012 Titel: |
|
Zitieren |
Daher auch mein Vorschlag mit dem sparaten Aufruf der Login-Form vor der MainView (so daß du mittels einer if-Anweisung den Aufruf steuern kannst).
Und inflames2k hat C#-Code gepostet, daher unter C++/CLI einfach Punkt "." durch Pfeil "->" (bzw. "::" bei Namensbereichen und statischen Methoden ;-) ersetzen...
Und die restlichen Syntaxfehler wirst du wohl alleine lösen können... |
|
|
|
 |
inflames2k
Mitglied
Benutzerprofil
Anmeldungsdatum: 02.06.2009
Beiträge: 742
|
inflames2k Mitglied
09:40:02 26.04.2012 Titel: |
|
Zitieren |
Sorry, beim Code hatte ich nicht mitgedacht, dass du ja in C++/CLI bist. Sollte jedoch kein Problem darstellen, den Code anzupassen.
Zu Th69's Vorschlag:
Geh doch einfach wie folgt vor:
- Anzeigen des Loginformulars
-> Zeige an solange keine erfolgreiche Anmeldung erfolgt ist (Ausnahme Abbruch)
- War der Login erfolgreich?
-> Schließe Loginformular und öffne Hauptformular
- Wurde der Login abgebrochen?
-> Beende Applikation |
_________________ Ich will kein For ech. Ich will wissen was dahinter steckt, sonst stehe ich immer wieder vor dem Problem...
Das ist dreckige kapitalischtische Scheisse!!!
|
|
 |
^bnL
Mitglied
Benutzerprofil
Anmeldungsdatum: 18.04.2012
Beiträge: 18
|
^bnL Mitglied
18:32:09 27.04.2012 Titel: |
|
Zitieren |
sorry,dass ich mich erst so spät melde. Momentan nur zu viel um die Ohren...
| inflames2k schrieb: | Sorry, beim Code hatte ich nicht mitgedacht, dass du ja in C++/CLI bist. Sollte jedoch kein Problem darstellen, den Code anzupassen.
Zu Th69's Vorschlag:
Geh doch einfach wie folgt vor:
- Anzeigen des Loginformulars
-> Zeige an solange keine erfolgreiche Anmeldung erfolgt ist (Ausnahme Abbruch)
- War der Login erfolgreich?
-> Schließe Loginformular und öffne Hauptformular
- Wurde der Login abgebrochen?
-> Beende Applikation |
Ansich hatte ich es mir ja auch so gedacht. Nur dass Problem ist bei mir nur dass entsprechende schließen der Form wieder...
| theta schrieb: | Der gezeigte Code kommt nicht ins Main, sondern in die Form!
Zweitens ist der geziegte Code C# und muss noch nach C++/CLI portiert werden, was aber kein Kopfzerbrechen verursachen sollte. |
Der Code war aus der Header File (Main.h)der Form und nicht der Main Function.
Den rest des Abends werde ich noch eure Vorschläge versuchen. Vielen Dank! |
Zuletzt bearbeitet von ^bnL am 22:21:44 28.04.2012, insgesamt 1-mal bearbeitet |
|
 |