![]() |
Delphi-Version: 2006
Application.ShowMainForm:= False Rückgängig machen Ohne Self.Show
Hi, in meiner Anwendung führe ich am Anfang direkt den Befehl Application.ShowMainForm:=False aus,
in einem anderen Formular kann man dann ein Passwort eingeben und dann soll die MainForm wieder sichtbar werden. Application.ShowMainForm:=True funktioniert nicht, da kommt nur ein *Bing* und die Form wird nicht angezeit... FormMain.Show geht leider auch nicht, da ich UMain nicht in die Uses einfügen kann, weil sonst eine Zirkuläre Unit-Refferenz entsteht... Daher meine Frage: Gibt es eine andere Möglichkeit das Hauptformular wieder sichtbar zu machen oder die Zirkuläre Unit-Refferenz zu umgehen? |
AW: Application.ShowMainForm:= False Rückgängig machen Ohne Self.Show
Zitat:
|
AW: Application.ShowMainForm:= False Rückgängig machen Ohne Self.Show
Nein,
könntest du das erklären? EDIT: Oh, habe es schon selbst herrausgefunden. ABer ich wusste wirklich nicht das das zwei verschiedene sind.... danke |
AW: Application.ShowMainForm:= False Rückgängig machen Ohne Self.Show
Es gibt einen interface-Abschnitt und einen implementation-Abschnitt. Beide können eine eigene uses-Klausel enthalten. Übrigens übernimmt Delphi das selbst gern für Dich (auf Nachfrage).
|
AW: Application.ShowMainForm:= False Rückgängig machen Ohne Self.Show
Delphi-Quellcode:
implementation
uses UMain; var FMain: TFormMain; {$R *.dfm} { TFEnterPW } procedure TFEnterPW.CheckPasswort; var Load: TInifile; passwort:String; begin Load:=TInifile.Create(ExtractFilePath(ParamStr(0))+'settings.lem'); ShowMessage(ExtractFilePath(ParamStr(0))+'settings.lem'); passwort:=Load.ReadString('PW','MPW','AGAbugudalo91634187621986201245237156'); if not (passwort='AGAbugudalo91634187621986201245237156') then begin if not (passwort=EPasswort.Text) then begin MessageDLG('Falsches Passwort!',mtWarning,[mbCancel],0); self.Close; end else begin MessageDLG('Passwort stimmt mit dem Masterpasswort überein.',mtInformation,[mbOK],0); Application.ShowMainForm:=True; FMain:=TFormMain.Create(self); FMain.Show; end; end else begin MessageDLG('Ladefehler!',mtError,[mbOK],0); end; Load.Free; end; Wenn ich es so schreibe, dann kommt eine Fehlermeldung: Der Gerätename wird von dieser Anwendung bereits als Alias genutzt... |
AW: Application.ShowMainForm:= False Rückgängig machen Ohne Self.Show
Wozu jetzt die globale Variable?
|
AW: Application.ShowMainForm:= False Rückgängig machen Ohne Self.Show
Ok, aber ob lokal oder global macht hier keinen unterschied.
|
AW: Application.ShowMainForm:= False Rückgängig machen Ohne Self.Show
Kommentier die Zeile einfach mal aus.
|
AW: Application.ShowMainForm:= False Rückgängig machen Ohne Self.Show
Woher kennt denn nun die Unit UEnterPW die Variable FormMain???
Aber es funktioniert ^^ THX |
AW: Application.ShowMainForm:= False Rückgängig machen Ohne Self.Show
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:03 Uhr. |
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