Fastream Technologies wrote: > Upgrading might be simpler than you think. Just rename ICSv5 folder, > unzip and install v6 package and then rename all ICS unit names so > that they start with "OverbyteIcs...".
Indeed it is easy, however if you have derived classes with overidden WndProc-methods and custom messages it's a little bit more complicated than just to rename unit names in the uses clause. Please read the comments in OverbyteIcsWndControl.pas. -- Arno Garrels [TeamICS] http://www.overbyte.be/eng/overbyte/teamics.html > Best Regards, > > SZ > On Mon, May 26, 2008 at 4:46 PM, Olivier Sannier <[EMAIL PROTECTED]> > wrote: > >> Because all my development was made with v5, that I do not want to >> move to v6 right now as it is still a beta, and that I think there >> must be something I did wrong to get this error message. >> Sure, it would be nice to use v6, but it's not possible right now. >> >> Fastream Technologies wrote: >>> Hi, >>> >>> Why don't you upgrade to v6? It was designed for sharing hidden >>> Windows. >>> >>> Best Regards, >>> >>> SZ >>> >>> On Mon, May 26, 2008 at 3:23 PM, Olivier Sannier <[EMAIL PROTECTED]> >>> wrote: >>> >>> >>>> Hi all, >>>> >>>> I have a server here with parts of it written using Indy and parts >>>> of it written using ICS. The two parts are distinct, listen on >>>> different ports and do not share any resources. Basically, I'm >>>> looking at replacing Indy with ICS and would like to have both >>>> technologies in one service to be able to connect to one or the >>>> other at will. On my development machine this works just fine, >>>> just the same as it works fine on our test environment. However, >>>> when put on a production server where most of the clients connect >>>> to the Indy port, I'm seeing something very annoying when >>>> connecting to the ICS port. Here is what happens on a working >>>> connection: >>>> >>>> I connect using Telnet to the port >>>> I type garbage >>>> The server replies to me and closes the connection because I did >>>> not send the right command >>>> >>>> However, after about ten minutes, here is what happens: >>>> >>>> I connect using Telnet to the port >>>> I type garbage >>>> No reply ever comes from the server, no matter the amount of >>>> garbage I send. >>>> >>>> I went further and traced it to the XSocketAllocateHWnd method that >>>> returns 0 when called from the TCustomWSocket.Create constructor >>>> for my client class. >>>> Using GetLastError, I get the following message after the failure >>>> of the call to CreateWindowEx: >>>> >>>> Espace insuffisant pour traiter cette commande >>>> >>>> which in English should be the equivalent of "Not enough storage to >>>> complete this command" >>>> >>>> And once this error has happened, the server stops working unless I >>>> restart the process. >>>> In turn, this triggers an aexception in >>>> TCustomWSocket.AllocateSocketHWnd with the following call stack: >>>> >>>> Exception raised: ESocketException, Cannot create a hidden window >>>> for TWSocket. >>>> Exception address: 0239F906 >>>> --- >>>> Stack list >>>> [0239F901] WSocket.TCustomWSocket.RaiseException (Line 1867, >>>> "WSocket.pas" + 4) + $E >>>> [023A15C2] WSocket.TCustomWSocket.AllocateSocketHWnd (Line 3573, >>>> "WSocket.pas" + 11) + $9 >>>> [023A171B] WSocket.TCustomWSocket.Create (Line 3646, "WSocket.pas" >>>> + 3) + $5 >>>> [023A831D] WSocket.TCustomLineWSocket.Create (Line 6847, >>>> "WSocket.pas" + 1) + $4 >>>> [0239AE8F] MyServer.TMyClientSocket.Create (Line 545, >>>> "uROIcsAsyncSuperTcpServer.pas" + 2) + $5 >>>> [0239D4C1] WSocketS.TCustomWSocketServer.TriggerSessionAvailable >>>> (Line 367, "WSocketS.pas" + 22) + $A >>>> [023A25A8] WSocket.TCustomWSocket.Do_FD_ACCEPT (Line 4342, >>>> "WSocket.pas" + 2) + $8 >>>> [023A29F9] WSocket.TCustomWSocket.WMASyncSelect (Line 4460, >>>> "WSocket.pas" + 88) + $6 >>>> [023A0CE5] WSocket.TCustomWSocket.WndProc (Line 3291, >>>> "WSocket.pas" + 7) + $5 >>>> [023A8452] WSocket.TCustomLineWSocket.WndProc (Line 6882, >>>> "WSocket.pas" + 14) + $5 >>>> [0239D2C1] WSocketS.TCustomWSocketServer.WndProc (Line 314, >>>> "WSocketS.pas" + 14) + $5 >>>> [0239A810] MyServer.TMyWSocketServer.WndProc (Line 400, >>>> "uROIcsAsyncSuperTcpServer.pas" + 6) + $4 >>>> [023A1137] WSocket.XSocketWindowProc (Line 3362, "WSocket.pas" + >>>> 14) + $7 [0239C1CF] MyServer.TMessagePumpThread.Execute (Line 1006, >>>> "uROIcsAsyncSuperTcpServer.pas" + 12) + $4 >>>> [00430A96] Classes.ThreadProc (Line 9866, "classes.pas" + 7) + $5 >>>> [00405450] System.ThreadWrapper (Line 12127, "system.pas" + 33) + >>>> $0 >>>> >>>> >>>> As you can see, I'm using my own message pump because all this is >>>> implemented in a service that has no GUI whatsoever. >>>> I don't think this can be the problem and in the end, I can't >>>> figure out why creating a window would return this type of error. >>>> I mean, I can start other processes just fine. To me, this looks >>>> like the side effect of some other problem, but I can't figure out >>>> which. >>>> >>>> Any help is most welcome >>>> Cheers >>>> Olivier >>>> -- >>>> To unsubscribe or change your settings for TWSocket mailing list >>>> please goto >>>> http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit >>>> our website at http://www.overbyte.be >>>> >>>> >> >> -- >> To unsubscribe or change your settings for TWSocket mailing list >> please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket >> Visit our website at http://www.overbyte.be -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
