Entwickler-Ecke
Sonstiges (Delphi) - Variable erhält scheinbar keinen Wert, kann nicht einloggen
Xearox - Do 07.01.10 22:21
Titel: Variable erhält scheinbar keinen Wert, kann nicht einloggen
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52:
| unit Unit2;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdExplicitTLSClientServerBase, IdFTP;
type TForm2 = class(TForm) LUser: TLabel; LPasswort: TLabel; Button1: TButton; EUser: TEdit; EPasswort: TEdit; IdFTP1: TIdFTP; procedure Button1Click(Sender: TObject); private public end;
var Form2: TForm2;
implementation
uses unit1;
{$R *.dfm}
procedure TForm2.Button1Click(Sender: TObject); begin
Euser.Text:=XUsername; EPasswort.Text:=XPasswort; try IdFTP1.Username := (XUsername) ; IdFTP1.Password := (XPasswort); IdFTP1.Host := ('xx.xx.xx.xx') ; IdFTP1.Connect; finally showmessage('Fehler beim Einloggen'); halt; end; showmessage('Hallo...Du bist erfolgreich eingeloggt und kannst nun die Datenbank nutzen'); close; end; |
wieso wird das nicht übernommen?
hab ich was falsches gemacht?
XUsername, XPasswort werden in der Unit1 deklariert.
Moderiert von
Gausi: Code- durch Delphi-Tags ersetzt
Gausi - Do 07.01.10 22:24
Zum einen ist das Halt; an der Stelle etwas unschön. Damit würgst du dein Programm ab. Wenn du beim Autofahren immer in eine Wand reinbretterst, wenn du anhalten willst, kannst du das so machen. Aber sonst sollte man das nicht tun. ;-)
Zweitens nutzt du try...finally. Der finally-teil wird immer ausgeführt. Du suchst vermutlich try...except.
Xearox - Do 07.01.10 22:28
kenne mich mit den Try blöcken nicht aus, hab einfach mal was versucht...
Das mit dem Halt ist extra, da seltsamer weise, wenn das Prgramm weiterläuft, sich komplett aufhängt, wenn es sich nicht einloggen kann...
Auch ohne Try und nur mit dem setzen der XUsername und XPasswort, wird es nicht in die Unit1 übernommen...
---
Moderiert von
Narses: Beiträge zusammengefasst---
Hab nun die Variabeln in Unit2 angelegt, also von unit1 auf unit2, jedoch das gleich Ergebnis, ich werde einfach nicht eingeloggt
Bergmann89 - Do 07.01.10 23:51
Hey,
hast du die Name un Passwort ma ausgeben lassen oder im Debuger (Strg+F5) angesehen, ob es auch wirklich die Werte sind die du brauchst?
Dann würd ich auch mal die Ereignisse des FTP-Objekts überprüfen, da gibts bestimmt auch eins, was dir ne Fehlermeldung zurückgibt oder sowas.
Das sich das Programm aufhängt hat glaub ich den gleichen Grund wue bei der TIdHTTP-Komponente. Die arbeitet einfach und solange sie das tut bleibt das Ding eben hängen. Da musst du dann n neuen Thread erstellen (Das Problem hatte ich auch erst).
MfG Bergmann
Xearox - Fr 08.01.10 00:11
wie meinste das genau mit dem Debugger?
wie was und wo muss ich was drücken...?
der sagt mir: Im Prozess nicht verfügbar
Astat - Fr 08.01.10 01:20
Xearox hat folgendes geschrieben : |
wieso wird das nicht übernommen?
hab ich was falsches gemacht?
XUsername, XPasswort werden in der Unit1 deklariert. |
naja, versuchs mal so.
Delphi-Quelltext
1: 2:
| XUsername := Euser.Text; XPasswort := EPasswort.Text; |
lg. Astat
Xearox - Fr 08.01.10 03:00
immer wieder diese flüchtigkeits fehler, echt zum heulen.
vertausche ich da einfach mal die Gleichung :(
danke für eure hilfe, hoffe ich mache euch nicht unnötig arbeit...
danke
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!