> So in Execute method you have something to do like this:
>
> begin
>   // create the components
>   // assign the event handlers
>   MessagePump;
>   // destroy all
> end;

You missed something to start the event chain. It should looks like:

begin
  // create the components
  // assign the event handlers
  // Start the event chain with something
  PostMessage(Handle, WM_MY_MESSAGE, 0, 0);
  MessagePump;
  // destroy all
end;

Of course PostMessage could be replace by anything triggering an event. For 
example TFtpClient.Open.

Contribute to the SSL Effort. Visit http://www.overbyte.be/eng/ssl.html
--
[EMAIL PROTECTED]
http://www.overbyte.be



----- Original Message ----- 
From: "Wilfried Mestdagh" <[EMAIL PROTECTED]>
To: "ICS support mailing" <twsocket@elists.org>
Sent: Sunday, May 28, 2006 11:21 AM
Subject: Re: [twsocket] Multithreading with TFTPClient


> 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 

-- 
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