Уж простите за размер, но вот такой вот код:
.if бла-бла-бла
...
.elseif uMsg == WM_SOCKET
mov eax,lParam
.if ax== FD_ACCEPT
shr eax,16
.if ax==NULL ;--2
mov lpTxt, offset Stat2
invoke SendMessage, hStatus, SB_SETTEXT, 0, lpTxt
.else
;<an error occurs. Put your error handling routine here>
.endif ;--2
.elseif ax==FD_READ
shr eax,16
.if ax==NULL ;--3
;<no error occurs so proceed>
mov lpTxt, offset Stat4
invoke SendMessage, hStatus, SB_SETTEXT, 1, lpTxt
.else
;<an error occurs. Put your error handling routine here>
.endif ;--3
.elseif ax==FD_CLOSE
shr eax,16
.if ax==NULL ;--4
;<no error occurs so proceed>
mov lpTxt, offset Stat5
invoke SendMessage, hStatus, SB_SETTEXT, 2, lpTxt
.else
;<an error occurs. Put your error handling routine here>
.endif
.endif
соответственно, при каждом событии на статусбаре hStatus должен отображаться текст, соответствующий Stat2, Stat4, Stat5 - но отображается только то, что происходит при соединении, то есть Stat2. Остальные нет. Причем, как мне кажется сокет работает правильно - при выключении сервера (а вся эта приблуди типа на сервере работает) все клиенты обрабатывают ошибу. Но вот остальные события - чтение, закрытие - никакой реакции не вызывают. Может и не обрабатываются... Или обрабатываются? Ниче не понимаю! Может кто поможет?