输入法跟线称有什么关系?!!!(200分)

  • 主题发起人 主题发起人 Feii
  • 开始时间 开始时间
F

Feii

Unregistered / Unconfirmed
GUEST, unregistred user!
在我的程序中,有一个后台线程在转, 当切换输入法
时,有时会死机, 百思不得其解, 望大虾们不吝赐教
急急急!!
 
我试过让贤城结束,就不会死机,(不涉及到资源释放的问题)
 
我的线程中打开了一个非阻塞的Socket连接,
如果打开, 酒会死, 不打开, 就不会死
真奇怪。
 
打开了一个非阻塞的Socket连接,切换输入法没有什么问题啊
wun98+d5
 
to g622:
下面是我写的一个测试程序
阻塞的Socket不会死机,线程结束也不会死机,
只要是
在县城中打开了一个ctNonBlocking 的ClientSocket
然后线程挂起或空转,
这时,切换输入法酒会死机。
是不是 Socket 跟消息处理或线程有关?

Pwin2000 + delphi5
代码如下:

unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ScktComp, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Edit1: TEdit;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
TmyThread = class( TThread)
protected
procedure execute ;
override;
end;

var
Form1: TForm1;
t: TMythread;
socket: TClientSocket;
implementation
{$R *.DFM}
{ TmyThread }
procedure TmyThread.execute;
begin
socket.active := true;
while truedo
sleep(1);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
t := Tmythread.create(false);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
socket := TClientsocket.Create(nil);
socket.address :='200.200.200.200';
socket.port := 110;
socket.ClientType := ctnonBlocking;
// ????
end;

end.
 
Feii:如果你还要继续讨论请定期提前你的帖子,如果不想继续讨论请结束帖子。
 
解决不了的问题
 

Similar threads

D
回复
0
查看
767
DelphiTeacher的专栏
D
D
回复
0
查看
809
DelphiTeacher的专栏
D
D
回复
0
查看
639
DelphiTeacher的专栏
D
后退
顶部