如何在消息接收过程中解决Excel控制代码的错误?

时间:2015-10-26 04:02:24

标签: excel delphi

收到邮件后,我尝试在Excel工作表上打印。

我使用Windows 10和Delphi 10 Seattle。

此代码效果很好。

procedure TForm1.Button1Click(Sender: TObject);
begin
  Worksheet.Cells.Item[1, 1] := 1;
end;

但是这没有,并且“由于应用程序正在调度输入同步调用”,因此无法进行传出呼叫。

procedure TForm1.onMessageReceived(var message: TMessage);
begin
  Worksheet.Cells.Item[1, 1] := 1;
end;

相同的代码,但根据实施程序的不同结果。

我该如何解决?

1 个答案:

答案 0 :(得分:1)

如果您控制邮件发件人,请考虑将其从使用SendMessage()更改为使用PostMessage()。

否则,在消息处理程序中,存储您收到的信息并使用Application.OnIdle事件将其传递给Excel。