返回“无法打开公司文件”消息(Sage 50 Canada)

问题描述 投票:0回答:0

我们正在开发一个用于遗留 VB6 应用程序的 COM 感知 .Net 程序集,并在通过 SDKInstanceManager.Instance.OpenDatabase 打开连接时不断收到上述消息。当我们从另一个 .Net 程序集内部调用我们的方法时,这不会发生,对 open 的调用工作正常。下面是我们使用的类:

[ComVisible(true)]

[ClassInterface(ClassInterfaceType.AutoDual)]
[ComSourceInterfaces(typeof(IMyClass_ThreadedEvents))]
[Guid("A8F518D8-6446-11E2-BC88-724F6188709B")]
public class MyClass : IDisposable
{    
    public string OpenConnection()
    {
        string retVal = string.Empty;

        try
        {
            retVal = "OpenConnection|@@|*NOERROR*|@@|*ALLOK*|@@||@@|";

            string conInstallFolder = @"C:\Users\Public\Documents\Simply Accounting\2017\Samdata\Pro";
            string conCompany = "Universl";
            string conUserName = "sysadmin";
            string conPassword = "12345";
            string conVersName = "Sage 50 Accounts";
            string conVersNumber = "2017";
            string conVersCountry = "Canada";

            bool allok = SDKInstanceManager.Instance.OpenDatabase(conInstallFolder + @"\" + conCompany + ".SAI", conUserName, conPassword, true,
                conVersName + " " + conVersNumber + " " + conVersCountry, "SASDK", 1);
        }
        catch (Exception ex)
        {
            retVal = "OpenConnection|@@|*ERROR*|@@|" + ex.Message;
        }
        return retVal;
    }
}

.Net 程序集仅引用 Sage_SA.SDK、Sage_SA.Domain 和 Sage_SA.Domain.Utility 并以 x86 为目标。没有 Sage 或应用程序的实例正在访问公司文件。

有什么我们想念的吗?我们被困住了,想解决这个问题。非常感谢。

请注意,这也已发布在 Sage Canada 社区论坛上。

c# .net vb6 sage vb6-migration
© www.soinside.com 2019 - 2024. All rights reserved.