Einzelnen Beitrag anzeigen

t0b4d

Registriert seit: 23. Nov 2006
8 Beiträge
 
#8

Re: Indy Übertragung -> Programm reagiert nicht

  Alt 13. Apr 2007, 15:08
Application.ProcessMessages ist ja eigentlich das gleiche was auch IdAntiFreeze macht bzw. umgekehrt.

Von den beiden Lösungen kann ich also nicht wirklich profitieren.

Christian Seehase gab mir den Tip mit der Transfer Verlagerung in einen eigenen Thread.
Das hab ich jetzt schon häufiger gelesen, und hab mir deshalb dieses Beispiel durchgelesen: http://bcb-tutorial.c-plusplus.de/Thread/artikel7.html

Jetzt würd ich gerne wissen ob ich die Indy Komponente zB TCPClient in dem Thread selbst anlegen soll
oder wie bisher in dem Form1.

Edit:

mein Thread Objekt sieht zZ so aus (von einem FTP test Client):
Delphi-Quellcode:
__fastcall TTransferThread::TTransferThread(String ip,String user,String pw,String filepath) : TThread(false)
{
   Form1->FTP->Username = user;
   Form1->FTP->Password = pw;
   Form1->FTP->Host = ip;
   file = filepath;
   FreeOnTerminate = true; //Aufruf von TThread::Terminate() gibt Thread frei.
}


//---------------------------------------------------------------------------
void __fastcall TTransferThread::Execute()
{
  Form1->FTP->Connect(true,4000);
   Form1->FTP->Put(file,ExtractFileName(file));
}

//---------------------------------------------------------------------------
  Mit Zitat antworten Zitat