在回调函数中调用消息并传递参数

在回调中调用消息函数传递结构体变量

procedure MessageCallback(lCommand: Longint; pAlarmer: LPNET_DVR_ALARMER; pAlarmInfo: PChar; dwBufLen: Dword; pUser: Pointer); stdcall
begin
  if (lCommand = COMM_UPLOAD_PLATE_RESULT) then
  begin
    SendMessage(frmMain.Handle, WM_MYMESSAGE, Integer(pAlarmInfo),5);
  end;
end;

procedure TfrmMain.ZPWMUser(var msg: TMsg);
begin
   SavePicData(LPNET_DVR_PLATE_RESULT(msg.message)^);
end;

procedure TfrmMain.SavePicData(TempCSNET_DVR_PLATE_RESULT: NET_DVR_PLATE_RESULT);


在回调中调用消息函数传递字符指针变量

procedure MessageCallback(lCommand: Longint; pAlarmer: LPNET_DVR_ALARMER; pAlarmInfo: PChar; dwBufLen: Dword; pUser: Pointer); stdcall
begin
  if (lCommand = COMM_UPLOAD_PLATE_RESULT) then
  begin
    SendMessage(frmMain.Handle, WM_MYMESSAGE, Integer(pAlarmInfo),0);
  end;
end;

procedure TfrmMain.ZPWMUser(var msg: TMsg);
begin
   SavePicData(pchar(msg.message));
end;

procedure TfrmMain.SavePicData(AlarmInfo: PChar);
var 
    TempCSNET_DVR_PLATE_RESULT: NET_DVR_PLATE_RESULT;
begin

    if not Assigned(AlarmInfo) then Exit;
           
   TempCSNET_DVR_PLATE_RESULT := LPNET_DVR_PLATE_RESULT(AlarmInfo)^;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章