求教CreateThread创建一个线程的问题.回答正确马上给分.
CreateThread创建一个线程,这个函数如下
Function OpenServer(Connection:TADOConnection):Boolean;
{===========Connect A NET DATABASE====}
begin
Try
Connection.Connected:=True;
OpenServer:=True;
except
OpenServer:=False;
end;
end;
我是这样写的.
hthread:=CreateThread(nil,0,@OpenServer,ADOConnection1,0,ThreadID);
如何才能得到OpenServer的函数返回值逻辑型的呢??
最好请给段代码帮助我理解.谢谢
CreateThread创建一个线程,这个函数如下
Function OpenServer(Connection:TADOConnection):Boolean;
{===========Connect A NET DATABASE====}
begin
Try
Connection.Connected:=True;
OpenServer:=True;
except
OpenServer:=False;
end;
end;
我是这样写的.
hthread:=CreateThread(nil,0,@OpenServer,ADOConnection1,0,ThreadID);
如何才能得到OpenServer的函数返回值逻辑型的呢??
最好请给段代码帮助我理解.谢谢
var
ThreadResult: integer = -1 ;hthread:=CreateThread(nil,0,@OpenServer,ADOConnection1,0,ThreadID);Function OpenServer(Connection:TADOConnection):Boolean;
{===========Connect A NET DATABASE====}
begin
Try
Connection.Connected:=True;
ThreadResult := 1 ;
except
ThreadResult:=0;
end;
end;如果 ThreadResult 为-1,线程未执行玩,为0线程执行完失败,为1线程执行完成功。不过在线程执行完,取得ThreadResult之后马上ThreadResult := -1 。
2。返回值也是这样的长度。
3.需要声明成stdcall类型的