Hello Joshua,

This is example of a message pump, the loop finish when WM_QUIT is
received, so you have to do to destroy the thread or at finish of
program:

procedure TDownloader.MessagePump;
begin
   while GetMessate(Msg, 0, 0, 0 do begin
      case Msg.Message of
         // Here you can take actions for your own custom messages
         // if you need to
      else
         TranslateMessage(Msg);
         DispatchMessage(Msg);
      end;
   end;
end;

So in Execute method you have something to do like this:

begin
   // create the components
   // assign the event handlers
   MessagePump;
   // destroy all
end;

---
Rgds, Wilfried [TeamICS]
http://www.overbyte.be/eng/overbyte/teamics.html
http://www.mestdagh.biz

Saturday, May 27, 2006, 18:13, [EMAIL PROTECTED] wrote:

> Hello,

>> For if you use the component in a thread. Using it in a thread means:
>> 1. create / destroy in the Execute method of the thread
> I create and destroy it in the execute method of the thread.

>> 2. set Multithreading to True
> I set Multithreading to True, but I saw no changes.

>> 3. use a message pump in the thread
> What is a message pump ?

>> The machine where I read mail on cannot read .png files, so I cannot
>> see it.
> Here are the same picturse as jpeg:
> 9 Threads:
> http://img97.imageshack.us/img97/7742/9threads4lc.jpg
> 10 Threads:
> http://img224.imageshack.us/img224/1348/10threads2uq.jpg

> Joshua

> ----- Original Message ----- 
> From: "Wilfried Mestdagh" <[EMAIL PROTECTED]>
> To: "ICS support mailing" <twsocket@elists.org>
> Sent: Saturday, May 27, 2006 5:55 PM
> Subject: Re: [twsocket] Multithreading with TFTPClient


>> Hello Joshua,
>>
>>> I want to use the FTPClient in multithreading
>>
>> You dont need to multithreading with ICS components. Possible you need a
>> thread if you have many simultanous connections and very high data
>> transfer to not block the main thread. Also if you have thousands of
>> connections then it can be wise to have a few separate thread.
>>
>>> Here is an picture with my test-program with 9 threads:
>>
>> The machine where I read mail on cannot read .png files, so I cannot
>> see it.
>>
>>> By the way... what is the property "Multithreading" good for ?
>>
>> For if you use the component in a thread. Using it in a thread means:
>> 1. create / destroy in the Execute method of the thread
>> 2. set Multithreading to True
>> 3. use a message pump in the thread
>>
>> If you do not have all 3 then you have a false thread and the components
>> will run in main thread context. But again, you probably dont need a
>> thread at all.
>>
>> ---
>> Rgds, Wilfried [TeamICS]
>> http://www.overbyte.be/eng/overbyte/teamics.html
>> http://www.mestdagh.biz
>>
>> Saturday, May 27, 2006, 16:28, [EMAIL PROTECTED] wrote:
>>
>>> Hello,
>>
>>> I want to use the FTPClient in multithreading and programed a
>>> test-program. But as I started the threads I noticed that the maximum
>>> theads are 9. If I used only one thread more nothing works.
>>> Here is an picture with my test-program with 9 threads:
>>> http://img74.imageshack.us/img74/6498/9threads3tp.png
>>
>>> As you can see except for one thread everything works.
>>
>>> And here is a picture with ten threads:
>>> http://img103.imageshack.us/img103/2748/10threads6ux.png
>>
>>> As you can see only a few threads works and the others got an error like
>>> this:
>>
>>> Logfile:
>>> < 220 Speak friend, and enter
>>>> USER *****
>>> < 331 FTP login okay, send password.
>>>> PASS *****
>>> < 230 User logged in, proceed.
>>>> TYPE I
>>> < 200 Using BINARY mode to transfer data.
>>>> SIZE EK040905.exe
>>> < 213 7929582
>>>> PORT 192,168,2,32,4,181
>>> < 200 PORT command successful.
>>>> REST 1638400
>>> < 350 Restarting at 1638400
>>>> RETR EK040905.exe
>>> < 150 Opening BINARY mode data connection (6291182 bytes).
>>> < 451 Transfer incomplete. Closing data connection.
>>> ! RETR/LIST/NLST Failed
>>>> QUIT
>>> < 221 Goodbye.
>>
>>> The same problem appears when there are other FTP-programs running like
>>> smartFTP or FlashFXP.
>>
>>> I hope you have understand my problem.
>>> By the way... what is the property "Multithreading" good for ?
>>
>>
>>> Sincerely yours
>>
>> -- 
>> To unsubscribe or change your settings for TWSocket mailing list
>> please goto http://www.elists.org/mailman/listinfo/twsocket
>> Visit our website at http://www.overbyte.be 


-- 
To unsubscribe or change your settings for TWSocket mailing list
please goto http://www.elists.org/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be

Reply via email to