Dein Problem ist die Variable Result, denn die ist in Delphi dazu da um das Ergebnis einer Funktion zurückzugeben.
In diesem Beispiel machen beide Zeilen genau das selbe und setzen das Ergebnis der Funktion:
Delphi-Quelltext
1: 2: 3: 4: 5:
| function machwas():Boolean; begin machwas := true; result := true; end; |
In deiner Funktion Login wird nun auch das lokale Result benutzt und nicht deine globale Variable.
Delphi-Quelltext
Wenn du deine Variable umbenennst sollte es Funktionieren.
Außerdem sollte man für so etwas keine globalen Variablen benutzen, sondern Eigenschaften des Formulars.