Thanks for the information Wilfried. One thing I have realised is that my outputDebug messages are not showing (they were showing when I was using indy).
You said that I should have a working message pump. Not sure what you mean here? Thanks. Sham. >From: Wilfried Mestdagh <[EMAIL PROTECTED]> >Reply-To: ICS support mailing <[email protected]> >To: ICS support mailing <[email protected]> >Subject: Re: [twsocket] Cannot change port if not closed >Date: Sat, 8 Apr 2006 10:38:45 +0200 > >Hello Shamresh, > > > In my client I have set multithreaded to true (but not on the server). > >No. Multithreaded is if you create the component in a thread other than >the main thread. However I'm not sure this is related to your problem. > > > I have just moved over from indy, so non blocking events are giving me a >bit > > of a headache. > >You will get used to it very fast. After all, windows / delphi works >also event driven. Some hints could be (maybe related to your problem): > >- dont call the message pump from withing an event. This include also a > modal form (like ShowMessage), or (bad written) components that call > it internally. If you call the message pump then the event can get > re-entered at that moment. >- write a state machine. Some event fire and depending on the state you > can take the right action. >- always have a working message pump. If you block the message pump the > component will stop working until it pumps again. >- dont write wait loops. it is considered as bad programming technique. > You also dont write a wait loop waiting until a button is clicked :) > >--- >Rgds, Wilfried [TeamICS] >http://www.overbyte.be/eng/overbyte/teamics.html >http://www.mestdagh.biz > >Saturday, April 8, 2006, 10:11, Shamresh Khan wrote: > > > Hi to all, > > > I have just moved over from indy, so non blocking events are giving me a >bit > > of a headache. > > > I have a number of files that are uploaded to my custom server. > > > I get an exception raided "Cannot change port if not closed" after >several > > files have been uploaded. > > > In my client I have set multithreaded to true (but not on the server). > > > My server is listening on port 21 and I am not clear why a port change > > exception is raised. The stack dump on the server is : > > > TCustomWSocket.RaiseException('Cannot change Port if not closed') > > TCustomWSocket.SetRemotePort('1849') > > TFtpServer.CommandSTOR($E527EC,???,'testFile23.dat-FS=12','') > > TFtpServer.ClientCommand(???,???,???) > > TFtpCtrlSocket.TriggerCommand(???,???) > > TFtpCtrlSocket.TriggerDataAvailable(???) > > TCustomWSocket.ASyncReceive(0,[]) > > TCustomWSocket.Do_FD_READ(???) > > TCustomWSocket.WMASyncSelect((1025, 1456, 1, 66179, 1456, 0, 1, 0, 643, >1)) > > TCustomWSocket.WndProc((1025, 1456, 1, 66179, 1456, 0, 1, 0, 643, 1)) > > XSocketWindowProc(???,???,1456,1) > > > Any help would be appreciated. > > > Sham. > > > >-- >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
