Hello,
we have recently been using the TCP/IP Client Socket in the current version 9.1 for real-time data evaluation. Everything works fine except for a problem in the "Do_FD_CONNECT" method in OverbyteIcsWSocket.pas:
The status wsConnected is always set, even if a connection to the server could not be established, i.e. if the ErrorCode from msg.LParam is not equal to 0.
To work around the problem, we modified the method as follows:
if FState <> wsConnected then
begin
if IcsHiWord(msg.LParam) = 0 then // query added!
ChangeState(wsConnected);
TriggerSessionConnectedSpecial(IcsHiWord(msg.LParam));
if (IcsHiWord(msg.LParam) <> 0) and (FState <> wsClosed) then
Close;
end;
Normally this probably doesn't matter that much because the "Close" changes the connection status again, but we need the correct status immediately.
Is there anything wrong with officially committing this change to the repository?