1

我正在 VS 2012 VB.NET 中开发一个程序。我正在使用 QBSDK v12。我正在尝试打开与 QB Enterprise 2012 的连接,但发生的情况是它打开了 QB 的辅助实例,然后给我一条错误消息,指出它无法同时打开两个实例。如果我在尝试连接时关闭 QB,我会收到一条消息,我需要先授予它权限,这要求在连接时打开 QB。我试图去掉公司文件名,只连接到当前打开的会话,但它仍然打开那个辅助窗口。我已将 QB 更新到最新和最好的。似乎没有任何帮助。

4

1 回答 1

0

我唯一一次看到这种情况发生在我打开一个特定的公司文件时,该文件与当前运行的 QuickBooks 的版本不同。例如,如果文件是 QuickBooks 2012 Premier 文件,但您打开了 QuickBooks 2012 Enterprise,则会遇到此问题。

当我想打开当前在 QuickBooks 中打开的文件时,我通常使用以下代码进行连接:

QBSessionManager SessionManager = null;
try
{
    SessionManager = new QBSesionManager();
    if(SessionManager == null)
        throw new ArgumentNullException("Could not create SessionManager");
    SessionManager.OpenConnection2("AppID","CompanyName", ENConnectionType.ctLocalQBD);
    SessionManager.BeginSession("", ENOpenMode.omDontCare);

    // DO MY QB STUFF

}
catch(Exception ex)
{
    MessageBox.Show("Error: " + ex.Message);
}
finally
{
    if(SessionManager != null)
    {
        SessionManager.EndSession();
        SessionManager.CloseConnection();
        SessionManager = null;
    }
}
于 2013-12-30T16:26:22.390 回答