C#调用BCB DLL
最近试着在C#中调用C++ builder 开发的DLL中的Form,但是程序只要一调用就出现以下异常:
“正试图在 os 加载程序锁内执行托管代码。不要尝试在 DllMain 或映像初始化函数内运行托管代码,这样做会导致应用程序挂起。”
这个错误,我按照网上的方法:在VS2010中按快捷键Ctrl+Alt+E,修改Managed Debuggin Assistants-> LoaderLock,将这个选项的选中状态去掉,然后运行的时候出现以下错误:
“System.StackOverflowException”类型的未经处理的异常出现在 System.Windows.Forms.dll 中。确保您没有无限循环或无限递归。”
C#部分的代码:
DLL函数的声明代码:
[DllImport("Project1.dll", EntryPoint = "ShowDLLForm", SetLastError = true,
CallingConvention=CallingConvention.StdCall)]
private static extern void ShowDLLForm();
C#调用代码:
private void button1_Click(object sender, EventArgs e)
{
ShowDLLForm();
}
-----------------------------------------------------------------------------
c++ builder代码:
extern "C" __declspec(dllexport) __stdcall void ShowDLLForm()
{
TForm1 *frm=new TForm1(Application);
frm->ShowModal();
delete frm;
}
这个DLL,我用C++ Builder写个Exe可以调用,没有任何问题,但是用C#就出现以上错误,请高手指点一下
“正试图在 os 加载程序锁内执行托管代码。不要尝试在 DllMain 或映像初始化函数内运行托管代码,这样做会导致应用程序挂起。”
这个错误,我按照网上的方法:在VS2010中按快捷键Ctrl+Alt+E,修改Managed Debuggin Assistants-> LoaderLock,将这个选项的选中状态去掉,然后运行的时候出现以下错误:
“System.StackOverflowException”类型的未经处理的异常出现在 System.Windows.Forms.dll 中。确保您没有无限循环或无限递归。”
C#部分的代码:
DLL函数的声明代码:
[DllImport("Project1.dll", EntryPoint = "ShowDLLForm", SetLastError = true,
CallingConvention=CallingConvention.StdCall)]
private static extern void ShowDLLForm();
C#调用代码:
private void button1_Click(object sender, EventArgs e)
{
ShowDLLForm();
}
-----------------------------------------------------------------------------
c++ builder代码:
extern "C" __declspec(dllexport) __stdcall void ShowDLLForm()
{
TForm1 *frm=new TForm1(Application);
frm->ShowModal();
delete frm;
}
这个DLL,我用C++ Builder写个Exe可以调用,没有任何问题,但是用C#就出现以上错误,请高手指点一下
...全文
相关推荐
调用bcb的dll bcb c#例子。
用bcb 6.0写的dll.bcb6.0调用。vs2008调用例子
C++Builder调用C# DLL的实操工程:含COM注册、TLB头文件与BCB调用代码
一套开箱即用的跨语言集成方案,专为C++Builder开发者设计,解决在BCB项目中调用C#编写的DLL组件的实际问题。资源包含完整的C#类库源码(已配置COM可见性)、生成并注册的类型库(.tlb)、对应OCX资源文件,以及C++Builder端工程文件(.cbproj)、主窗体实现(MainForm.cpp/.h/.dfm)和关键TLB头文件(如mscorlib_TLB.h、ClassLibrary1_TLB.h)。支持通过#import指令自动导入类型信息,也提供CoCreateInstance手动创
vc,delphi,bcb,asp,asp.net,c#调用vc写的com的例子
vc,delphi,bcb,asp,asp.net,c#调用vc写的com的例子 希望对想学com的人 有所帮助
加密狗软件加密例子bcb,VC,c#,jsp,delphi
加密狗软件加密例子,包括:bcb,VC,c#,jsp,delphi学习加密狗应用的朋友欢迎交流
GPIB卡控制源码(包括vb,c#,vb.net,labview,bcb,Delphi,vc)
GPIB卡控制源代码,包括vb,c#,vb.net,labview,bcb,Delphi,vc


Windows SDK/API
