Einzelnen Beitrag anzeigen

DevilsCamp
(Gast)

n/a Beiträge
 
#36

Re: Beispiel zum Versenden von Dateien mit Indy

  Alt 26. Aug 2004, 13:37
*aufwärm*

Hallo.

Ich habe die Files von ATwardz gezogen um sie mir genauer anzuschauen.
Anschließend habe ich ich Programm geschrieben, das gleichzeitig als Client und Server dient, da ich ein kleines, ICQ-ähnliches Programm enwerfen will, mit dem man auch Dateien versenden können soll.

Ich habe folgenden Aufbau:

Formular1 (Main-Form):
GroupBox1 mit 2 TEdits für IP und Port eines Datei-Empfängers und einem Senden Button1
GroupBox2 mit 2 TEdits um Listen-IP und Listen-Port der TIdTCPServer-Komponente einzurichten und einer Mach-Aktiv-Checkbox.


Formular2 (Fortschritts-Anzeige):
Labels für Namen der Datei, Größe, übermittelte Bytes und Gauge für Fortschrittsanzeige.

Formular2 wird z.Z. gleich beim Start des Programms erstellt (warum erklär ich später, siehe **), aber erst angezeigt, wenn ein Transfer stattfindet (mit Formular2.Show). Nach dem Fransfer wird das Formular mit Formular2.Hide wieder ausgeblendet.

Wenn ich nun von PC1 eine Datei zu PC2 sende, dann öffnet sich bei beiden PCs wie erwartet das Transfer-Fenster und wird auch nach dem Transfer wieder ausgeblendet.
Schliesse ich aber nun auf dem Empfänger-PC das Programm, dann bekomme ich eine Fehlermeldung und der PC verliert stark an Performance (der greift ständig auf die Platte zu).

Ich habe schon alles überprüft, aber ich finde keine Lösung zu dem Problem.
Wenn jemand den Quell-Text braucht, so gebe ich ihn gerne an...



**
Wenn ich das Formular2 innerhalb der Receiver-Unit erstellen lasse (in der Create-Anweisung), dann hängt sich das Programm komplett auf, wenn es in der Synchronize-Methode versucht ein Label des Formulars zu verändern...
Miniaturansicht angehängter Grafiken
fehler_110.jpg  
  Mit Zitat antworten Zitat