各位大侠,我遇到了这样一个问题。利用了多媒体定时器达到高精度的数据采集与数据处理事件。为什么程序在运行一段时间后会自动退出。没有任何的提示?急急急!!!!在线等答案

解决方案 »

  1.   

    其中一段的回调函数是这样写的
    procedure READ_DATA(uTimeID,uMessage:UINT;dwUser,dw1,dw2:DWORD)StdCall;
    begin
    MSComm_1.InputLen:=18;
    MSComm_1.InBufferCount:=0;
    MSComm_1.RThreshold:=18;
    MSComm_1.Output:='SENDDATA';
    end;
    确定串口是已经打开了.
    另一段回调函数是这样的
    procedure Save_DATA(uTimeID,uMessage:UINT;dwUser,dw1,dw2:DWORD)StdCall;
    begin
    Data_Query.SQL.Clear;
    Data_Query.SQL.Add('update DataTable');
    Data_Query.SQL.Add('set PassWord = '+PassWord.Text);
    Data_Query.SQL.Add('where Name ='+''''+Name.Text+'''');
    Data_Query.ExecSQL;
    end;READ_DATA_ID:=TimeSetEvent(2,1,@READ_DATA,1,1);
    Save_Data_ID:=TimeSetEvent(2,1,@Save_Data,1,1);
    是在启动程序时就启动。在程序退出时也有TimeKillEvent(READ_DATA_ID);与TimeKillEvent(Save_Data_ID);
    在运行一段时间后。程序就自动退出了。没有任何的提示。