在另一个方法中调用方法的问题

时间:2011-04-06 16:40:05

标签: delphi

所以这里是:
当我手动点击按钮(它打开门)时,一种效果很好的方法:

procedure TForm1.Button3Click(Sender: TObject);
begin
  try
    Screen.Cursor := crHourGlass;
    try
      intf.ExecuteControllerCommand(162, 1); //<--- THIS IS THE METHOD IM TALKING ABOUT
    finally
      Beep();
      Screen.Cursor := crDefault;
    end;
  except
    on e: Exception do
      HandleException(e);
  end;
end;

但是,当我想在某些程序事件中调用上述方法时会抛出异常(它关于门打开的可能性 - 它没有打开门):

procedure TForm1.HandlerOnMonitoringEvent(ASender: TObject;
                                date: TDateTime; time: TDateTime; networkID: Integer;
                                readerID: Integer; userID: Integer; groupID: Integer;
                                eventCode: Integer; zoneID: Integer; TandAID: Integer;
                                const strEvent: WideString; const strAccessPoint: WideString;
                                const strUserSource: WideString; const strGroup: WideString;
                                const strNetwork: WideString; const strZone: WideString;
                                const strTandAMode: WideString);
begin
  ListBox1.Items.Add(DateToStr(date) + ' ' + TimeToStr(time) + '; ' + strEvent +
    '; ' + strAccessPoint + '; ' + strUserSource + '; ' + strGroup + '; ' + strNetwork +
    '; ' + strZone + '; ' + strTandAMode);
  try
    Screen.Cursor := crHourGlass;
    try
      intf.ExecuteControllerCommand(162, 1); //<--- THIS IS THE METHOD
    finally
      Beep();
      Screen.Cursor := crDefault;
    end;
  except
    on e: Exception do
      HandleException(e);
  end;
end;

此外,当我尝试从过程事件(在上面的过程中)中调用按钮单击时:

Form1.Button3Click(Button3);

它抛出同样的异常!我再说一遍:手动点击按钮一切都没问题。有什么问题?!

intfIPRMasterAutomation类的实例。其初始化的ALWAYS(100%肯定)在另一个程序中如下:intf := CoPRMasterAutomation.Create()
我找到了一些可能是小费的内容:intf已与prma相关联。 prmaTPRMasterAutomation的一个实例。过程事件(在prma初始化之后声明如下:prma.OnMonitoringEvent := HandlerOnMonitoringEvent(来自第一篇文章的事件);
然后连接:prma.ConnectTo(intf);

0 个答案:

没有答案