无法加载 DLL“LicenseCheck.dll”: 找不到指定的模块。 (异常来自 HRESULT:0x8007007E)。
c++代码用于生成一个DLL,里面有函数boolCheckLicense(char*pLicPath,int&nModulID){...}我现在用c#调用dll[DllI...
c++代码用于生成一个DLL,里面有函数
bool CheckLicense(char* pLicPath,int& nModulID)
{
...
}
我现在用c#调用dll
[DllImport("LicenseCheck.dll")]
public static extern bool CheckLicense(ref string pLicPath, ref int nModulID);
提示上面的错误!
哪位能帮我这个小忙,解解惑
补充:
c#中对应的CheckLicense后面的参数应该怎么写呢?像上面这样写对吗?
sunzhenlinzz回答是差不多正确的
但是现在出现一个新的问题:
尝试读取或写入受保护的内存。这通常指示其他内存已损坏。
c#中的代码修改为:
[DllImport("LicenseCheck.dll")]
public static extern bool CheckLicense(string pLicPath, int nModulID);
public void NewProject()
{
bool LicenseIsGood = CheckLicense(System.Windows.Forms.Application.StartupPath, 0);//出错
...
} 展开
bool CheckLicense(char* pLicPath,int& nModulID)
{
...
}
我现在用c#调用dll
[DllImport("LicenseCheck.dll")]
public static extern bool CheckLicense(ref string pLicPath, ref int nModulID);
提示上面的错误!
哪位能帮我这个小忙,解解惑
补充:
c#中对应的CheckLicense后面的参数应该怎么写呢?像上面这样写对吗?
sunzhenlinzz回答是差不多正确的
但是现在出现一个新的问题:
尝试读取或写入受保护的内存。这通常指示其他内存已损坏。
c#中的代码修改为:
[DllImport("LicenseCheck.dll")]
public static extern bool CheckLicense(string pLicPath, int nModulID);
public void NewProject()
{
bool LicenseIsGood = CheckLicense(System.Windows.Forms.Application.StartupPath, 0);//出错
...
} 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询