Programm hängt während FTP Verbindunsaufbau

  • Hallo

    Ich bin noch ein blutiger Anfänger. Suche aber schon tagelang und konnte nichts finden. Jetzt wollte ich meine Frage mal an die Profis stellen.
    Also... Ich habe ein Programm geschrieben, dass auf einen FTP zugreift, eine Datei lädt und diese anzeigt.
    Mein Problem ist; sobald ich den Button drücke und die Verbindung aufgebaut wird reagiert das ganze Programm nicht mehr. Ich wollte den Verbindungsaufbau auch in einen Progressleiste einbinden aber weiß noch nicht wie :)
    Aber das eingentliche Problem ist, dass das Programm hängt während dem Aufbau der Verbindung. Lässt sich da etwas machen? Bringt es was den Verbindungsaufbau in die Progressbar auszulagern? Ich weiß echt nicht was ich da tun soll.

    Wird der Quellcode benötigt damit ihr mir helfen könnt? Dann liefere ich den natürlich nach.

    Vielen Dank schon mal und liebe Grüße

    Patrick


    edit: Dazu muss ich noch sagen, dass die Verbindung zu meinem NAS aufgebaut wird. Habe dort einen FTP drauf eingerichtet. Kann es da dran liegen?

  • :Glaskugel: Naja, du machst das ganze vermutlich mit GuiGetMsg(). Wenn du stattdessen den OnEventMode nutzt werden die Events erst ausgeführt, bevor er zur Hauptaufgabe zurückkehrt (dem Verbindungsaufbau). Bin aber gerade nicht ganz sicher, ob der OnEventMode reicht. Wenn es damit nicht klappt musst du das mit GuiRegisterMsg machen. Dort WM_NOTIFY oder WM_COMMAND wird auf jeden Fall immer dem aktuellen Progress vorgeschaltet und erst ausgeführt, sodass du nicht im Aufbau der Verbindung feststeckst.
    Wenn du mehr wissen willst kannst du dich ja zu den genannten Begriffen mal belesen.

    Ansonsten: Ohne Quellcode kann ich nur die Kristallkugel anwerfen.

  • Hier ist der Code dazu. Es ist mein erstes Programm, bitte keinen Shitstorm, jeder fängt mal klein an ;)
    Der Code ist voll funktionsfähig. FTP läuft und Zugangsdaten dazu stimmen auch. Also kann getestet werden.

  • Habe ich jetzt mit eingebaut. Aber so wie es aussieht ist die Textdatei die ich runterlade zu klein als dass dort ein Fortschritt angezeigt werden könnte. Habe jetzt einen kleinen Sleep eingebaut. Dann sieht es wenigstens so aus als ob :)
    Und das Problem mit dem hängen vom Fenster hatte anscheind damit zu tun dass ich eine DNS Adresse verwenden habe. Habe das mal durch die richtige IP ausgetauscht und schon ging es direkt.

    Hier sind ja echt Profis unterwegs. Vielleicht könnt ihr mir auch bei meinem anderen Problem noch helfen. Ich habe dazu leider auch nichts gefunden. Also: Ich möchte die oben genannte Datei, am besten eine Textdatei in ein Listview übertragen. Ich habe in der Textdatei immer 3 Sachen in einer Reihe, d.h.: Bezeichnung, Anschrift, Bemerkung. Getrennt mit "|". Wie code ich das jetzt damit diese Daten aus der txt datei in das Listview übertragen werden und in die Entsprechenden Zeile eingetragen werden?

    So wie ich gelesen habe ist es ja leider nicht mehr möglich einen Excel Daten einzubetten(?) oder sehe ich das falsch?
    Das wäre dann natürlich die Non-Plus-Ultra Lösung :)

    Also vielen dank für die Hilfe

    Grüße
    Patrick

    2 Mal editiert, zuletzt von n1mmel (29. November 2015 um 21:56)

  • Die Excel-UDF funktioniert, aber bei ner Text-Datei kannst du einfach mit FileReadToArray() eine Datei einlesen, mit ner for-Schleife durch das Array gehen, die 3 Spalten durch StringSplit ermitteln und damit die ListView erstellen. Solltest dich dafür aber erst mit Arrays auseinandersetzen, da gibt es sehr schöne Tutorials auch hier im Forum.

  • Die Excel-UDF funktioniert, aber bei ner Text-Datei kannst du einfach mit FileReadToArray() eine Datei einlesen, mit ner for-Schleife durch das Array gehen, die 3 Spalten durch StringSplit ermitteln und damit die ListView erstellen. Solltest dich dafür aber erst mit Arrays auseinandersetzen, da gibt es sehr schöne Tutorials auch hier im Forum.

    Ok, werde ich mich dann reinlesen. Vielen dank für deine schnelle Hilfe! :)