SAP B1 用に c# でプログラムされたアドオンがあります。インストーラーを作成し、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);
}