NI LabVIEW,CVI,数据采集等产品讨论区

取消
显示结果 
搜索替代 
您的意思是: 

怎样在C#中调用LabVIEW/CVI的用户界面控件?

您好!请问我想在C#中调用CVI的CWGraph控件,用来绘制通讯传过来的数据波形,我的步骤是新建一个工程,新建一个uir文件。然后添加自己设置好的CWGraph控件之后,生成全部代码,新建一个.c文件,加入dllmain函数。然后把main函数改成if ((panelHandle = LoadPanelEx(0, "Main.uir",PANEL,__CVIUserHInst)) < 0),将工程输出设置为dll。

C#的开发平台是VS2010   WINFORM。

但是调用后,运行时报"试图加载格式不正确的程序“的错误 。问题有可能出在哪个方面呢?非常感谢您的解答。

int __stdcall DllMain (HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
{
switch (fdwReason)
{
case DLL_PROCESS_ATTACH:
if (InitCVIRTE (hinstDLL, 0, 0) == 0)
return 0; /* out of memory */
break;
case DLL_PROCESS_DETACH:
CloseCVIRTE ();
break;
}

return 1;
}

int __stdcall DllEntryPoint (HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
{
/* Included for compatibility with Borland */

return DllMain (hinstDLL, fdwReason, lpvReserved);
}

 

是否需要写InitCVIRTE 和CloseCVIRTE 函数内容?

0 项奖励
1 条消息(共 2 条)
7,443 次查看

Your dll main looks ok.

 

Did you remember to check "enable LoadExternalModule" on the target settings window?

 

You can always attach your dll to the C# application to run an debug.

 

 

George Zou
0 项奖励
2 条消息(共 2 条)
7,427 次查看