![]() |
Delphi-Version: 2006
Problem mit ReadString, Immer Def
Hi, aus ihrgendeinem Grund greift immer der else Handler
Delphi-Quellcode:
Ist da ein fehler im Quelltext...?
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('MPW','PW','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; end; end else begin MessageDLG('Ladefehler!',mtError,[mbOK],0); end; Load.Free; end; |
AW: Problem mit ReadString, Immer Def
Welcher else-Handler? Ich seh da 2. Bist Du einmal mit F8 durchgesteppt und hast Dir den Inhalt der Variablen angeschaut?
|
AW: Problem mit ReadString, Immer Def
Dieser Else-Handler:
else begin MessageDLG('Ladefehler!',mtError,[mbOK],0); und es handelt sich demnach um den Def Wert. Es wird also jedes mal die Fehlermeldung: Ladefehler! ausgelöst.... // Die Ini-Datei existiert und der Eintrag darin ist auch vorhanden... hier mal was in der ini steht: [Settings] Autoload=1 Path=23_0_0.lem Invisible=1 [PW] MPW=Test die datei settings.lem liegt im selben ordner wie die .exe |
AW: Problem mit ReadString, Immer Def
Dann debugge das Ganze doch einmal. Übrigens, wieso nimmst Du so einen langen Defaultwert und benutzt dann keine Konstanten? Da sind Fehler doch bereits vorprogrammiert.
|
AW: Problem mit ReadString, Immer Def
Zitat:
Delphi-Quellcode:
Load.ReadString('PW','MPW',
PS: Das Passwort im Klartext in einer Textdatei? |
AW: Problem mit ReadString, Immer Def
Wieso denn das? Der Defaultwert ist so lang da es etwas sein soll das nie jemand als passwort nehmen wird...
Und wo soll ich denn hier Konstanten benutzen? Ps: Was soll ich den beim Debuggen finden? Ich sehe das er in den elehandler spring und der Wert der Def Wert ist...:?:?: |
AW: Problem mit ReadString, Immer Def
Zitat:
THX:thumb: |
AW: Problem mit ReadString, Immer Def
du wirst trotzdem in den Else-Bereich deiner Abfrage landen, denn
MPW=Test und die Abfrage lautet: - wenn Passwort, das aus der Ini-Datei gelesen wird, <> 'AGAbuguda...' dann mache jenes - ansonsten (ELSE BEREICH) gebe nachricht aus: Ladefehler |
AW: Problem mit ReadString, Immer Def
Zitat:
Stattdessen hätte ich das irgendwie anders gemacht. Keine Ahnung ob man fragen kann, ob der Wert existiert. Aber das wäre dann wesentlich besser und sicherer. MfG Fabian |
AW: Problem mit ReadString, Immer Def
Und meine Frage, wieso hier keine Konstanten verwendet werden, ist auch noch nicht beantwortet. Nach dem DRY-Prinzip ist das zwingend erforderlich IMHO.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:45 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 by Thomas Breitkreuz