收到邮件后,我尝试在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;
相同的代码,但根据实施程序的不同结果。
我该如何解决?
答案 0 :(得分:1)
如果您控制邮件发件人,请考虑将其从使用SendMessage()更改为使用PostMessage()。
否则,在消息处理程序中,存储您收到的信息并使用Application.OnIdle事件将其传递给Excel。