这种情况该怎么办?

jasminemao 2001-12-11 07:53:50
现在我在执行到一个事件的中间的时候,想要看看别的事件有没有触发,若触发,则要先跳到那个事件处执行了又回到原来的地方,该怎么实现,谢谢!
...全文
178 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
copy_paste 2001-12-13
  • 打赏
  • 举报
回复
WSAEventSelect(ClientSocket1.Socket.SocketHandle, Event, FD_READ or FD_CLOSE); //参数不知少了没:)
//不是
//case WaitForSingleObject(Event, 100000) of
case MsgWaitForSingleObject(Event, 100000) of
copy_paste 2001-12-13
  • 打赏
  • 举报
回复
uses SConnect;

WSA...之类的函数都在SConnect单元定义,全局函数指针变量来的,名称不知我记错没:)
jasminemao 2001-12-13
  • 打赏
  • 举报
回复
to copy_paste:
我现在写了event:=WSACreateEvent;调试的时候他报:WSACreateEvent is Undeclared.我应该如何声明呀?谢谢!马上给你加分!
copy_paste 2001-12-13
  • 打赏
  • 举报
回复
uses winsock;
我东忘西忘的,呵呵。
jasminemao 2001-12-13
  • 打赏
  • 举报
回复
系统为什么不认识FD_READ??
jasminemao 2001-12-12
  • 打赏
  • 举报
回复
那如果我要等待一个特殊的事件发生怎么办?比如我要等待clientsocket的onread事件发生。
copy_paste 2001-12-12
  • 打赏
  • 举报
回复
case WaitForSingleObject(ClientSocket1.Socket.SocketHandle, 100000) of
//参数忘了
//Single参数
begin
Socket有信号来,Read, Write, Close,
用winsock.select判断
end;
//TimeOut
begin
timeout...看你怎么做了。
end;
//

上面的代码不行的话,那这样。
var
Event: THandle;
begin
if not SConnect.LockWinsock2 then
raise Exception.Create('winsock2 dll not exists.');
Event := WSACreateEvent; //Create NetWork Event;
WSAEventSelect(ClientSocket1.Socket.Socket.Handle, Event, FD_READ or FD_CLOSE); //参数不知少了没:)
case WaitForSingleObject(Event, 100000) of
...//跟上面的一样了。

//finally
WSACloseEvent(Event); // Free Event.
end;
jasminemao 2001-12-12
  • 打赏
  • 举报
回复
木石三:
你怎么不理我呀?
copy_paste 2001-12-11
  • 打赏
  • 举报
回复
Application.ProcessMessage;

Button1ONClick
begin
A;
Application.ProcessMessage;
B;
end;

如果是其它信号,如Event := TSimpleEvent.Create;
则WaitFor函数
taxi 2001-12-11
  • 打赏
  • 举报
回复
var
bCancel: boolean;

procedure TForm1.Button1Click(Sender: TObject);
var
i: integer;
begin
for i := 0 to 100000 do
if not bCancel then
begin
Caption := IntToStr(i);
Application.ProcessMessages;
end
else begin
bCancel := false;
break;
end;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
bCancel := true;
end;

5,402

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧