LabVIEW共享库问题
时间:10-02
整理:3721RD
点击:
我用LabVIEW编写了一个显示"LabVIEW应用程序界面"的程序:
该程序在LabVIEW环境下能够正常运行,将改程序分装成共享库(Show_VI_Panel.dll),在Viusal C++中添加如下消息响应函数调用该共享库:
HINSTANCE hInst;
hInst=LoadLibrary("Show_VI_Panel");
typedef void (*ShowProc)(char *VI_Path);
ShowProc Show=(ShowProc)GetProcAddress(hInst,"Show_VI_Panel");
if (!Show)
{
MessageBox("未获得函数指针");
}
else
{
CString strPath;
strPath="C:\\Users\\Administrator\\Desktop\\DllTest\\test.vi";
char *VI_Path = (LPSTR)(LPCTSTR)strPath;
Show(VI_Path);
}
如果调用显示的test.vi界面的程序中有子函数,则该显示的界面会挂起(界面能够打开,但不能显示界面中的控件),如果test.vi中没有子函数,则界面可以正常显示打开。这个问题困扰了我好久,如果大家知道问题的原因,希望各位能够给出宝贵的建议。
该程序在LabVIEW环境下能够正常运行,将改程序分装成共享库(Show_VI_Panel.dll),在Viusal C++中添加如下消息响应函数调用该共享库:
HINSTANCE hInst;
hInst=LoadLibrary("Show_VI_Panel");
typedef void (*ShowProc)(char *VI_Path);
ShowProc Show=(ShowProc)GetProcAddress(hInst,"Show_VI_Panel");
if (!Show)
{
MessageBox("未获得函数指针");
}
else
{
CString strPath;
strPath="C:\\Users\\Administrator\\Desktop\\DllTest\\test.vi";
char *VI_Path = (LPSTR)(LPCTSTR)strPath;
Show(VI_Path);
}
如果调用显示的test.vi界面的程序中有子函数,则该显示的界面会挂起(界面能够打开,但不能显示界面中的控件),如果test.vi中没有子函数,则界面可以正常显示打开。这个问题困扰了我好久,如果大家知道问题的原因,希望各位能够给出宝贵的建议。