天软金融分析.NET函数大全 > TSL函数 > 资源访问函数 > 进程相关函数

SysWaitForSingleObject    

简述
等待占有一个对象,例如互斥对象。支持windows和linux的进程
定义
SysWaitForSingleObject(Object:Integer;WaitMs:Integer):Integer;
参数
名称类型说明
ObjectInteger整数,对象名柄
WaitMsInteger整数,等待的毫秒数,-1则为永远等待。
返回Integer等待成功则返回0,否则返回错误代码,具体如下:
返回值 描述
128 指定的对象是一个互斥对象,在拥有该互斥对象的线程终止之前,该对象没有被抽有该对象的线程释放。互斥对象的所有权被授予调用线程,并且互斥状态设置为无信息。 如果互斥体正在保护持久状态信息,您应该检查它的一致性
0 指定对象的状态被通知。
258 等待超时,对象的状态还为无信号状态
-1 调用失败。要获取扩展的错误信息,请调用sysGetLastError
  • 范例

    SysexecNewpipe(); //创建管道
    path:="D:\\TinySoftNG\\AnalyseNG.NET\\TSL.exe";
    doS:=array('C:\\TinySoftNG\\AnalyseNG.NET\\tsl.exe','C:\\DoTSL\\otherTest\\TestEnv.tsl');
    hand1:= SysExec(path,doS,nil,array('wait':false,'in':'d:="123"\r\n'),code);
    r:=SysWaitForSingleObject(hand1,10*1000);//等待线程的状态
    t:=SysexecReadpipe();//读取管道内容
    return array(r,t);
    返回:其中,TestEnv.tsl文件的实现如下:
    //当前sys的环境变量t:=Sysgetenvs();echo "sys: ",tostn(t),'\r\n';s:=Readln();//读取echo 'IN:',s,'\r\n';return 1;
    参考
    SysExec、SysWaitForMultipleObjects 
相关