> 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