我在 C# 中为 SAP B1 编写了一个附加组件。我创建了一个安装程序并在 SAP B1 下成功注册了它。但问题是每当我在 SAP B1 中启动插件时,有时它会显示“插件连接超时”。在插件管理器窗口中,它说插件失败。然而,我可以使用插件的所有功能。我唯一不能做的是,使用“插件管理器”窗口断开插件。但是如果我关闭 SAP B1,它也会触发应用程序关闭事件。
我的问题是为什么即使它完全正常工作也会出现此消息?它与您在附加安装程序创建向导期间必须提供的安装时间有关吗?因为我的加载项大约需要 45 秒才能启动,而我只给了 25 秒的安装时间,我认为安装时间和加载项的实际启动时间之间没有联系。
如果任何专家能解释这种情况的原因以及避免这种情况的方法,我将不胜感激。
我怀疑我与 SAP B1 的连接方法有问题。然而,为了问题的完整性,可以在下面看到。
public void set_application()
{
SAPbouiCOM.SboGuiApi SboGuiApi = null;
string sConnectionString = null;
SboGuiApi = new SAPbouiCOM.SboGuiApi();
// by following the steps specified above, the following
// statment should be suficient for either development or run mode
//System.Convert.ToString(Environment.GetCommandLineArgs().GetValue(1)
if ((System.Environment.GetCommandLineArgs().Length > 1))
{
sConnectionString = "0030002C0030002C00530041005000420044005F00440061007400650076002C0050004C006F006D0056004900490056";
}
else
{
sConnectionString = "0030002C0030002C00530041005000420044005F00440061007400650076002C0050004C006F006D0056004900490056";
}
try
{
// If there's no active application the connection will fail
SboGuiApi.Connect(sConnectionString);
}
catch
{ // Connection failed
System.Windows.Forms.MessageBox.Show("No SAP Business One Application was found");
System.Environment.Exit(0);
}
SBO_Application = SboGuiApi.GetApplication(-1);
}