请教labvIEW调用dll的一个问题,在线等各位高手解答!!!

YangKang_2012 2012-07-23 11:27:19
刚刚接触labvIEW,想要实现labvIEW调用dll。关键的是,我想在dll里面写一个函数,里面有判断条件,一旦不满足条件的话,能够弹出一个消息框,Messagebox()提示消息的。关键是Messagebox在dll文件里编译报错,即使调用成功的话,在labvIEW里面如果调用的话,他也能够弹出messagebox吗?


有没有谁能够告诉我这个dll里面的messagebox怎么写呢? 在线等,很着急!!!


void getdata_1(int start,float &data1_1,float &data1_2,float &data1_3,float &data1_4,float &data1_5,float &data1_6,int stop)
{
if(stop==1)
{
float data1_1 = 0;
float data1_2 = 0;
float data1_3 = 0;
float data1_4 = 0;
float data1_5 = 0;
float data1_6 = 0;
return;
}
else if(start==1)
{
void* p;
if(flag_sm==0)
{
/*********************************************************************************************
打开共享内存和信号量(用于传递数据的)(用于显示光电信号的) 三路光电信号
**********************************************************************************************/

//光电1
hshare_data_GD1= RtOpenSharedMemory(SHM_MAP_WRITE, FALSE, "GCCL_data2", &p);
mresult_p_GD1=(mresult_gd1*)p;
if(hshare_data_GD1==NULL)
{
MessageBox("OpenSharedMemory_GD1 failed!");

return;
}

hsema_data_GD1=RtOpenSemaphore(0, FALSE, "GCCL_dataSema2");
if(hsema_data_GD1==NULL)
{
MessageBox("OpenSemaphore_GD1 failed!");
return;
}


//光电2
hshare_data_GD2= RtOpenSharedMemory(SHM_MAP_WRITE, FALSE, "GCCL_data3", &p);
mresult_p_GD2=(mresult_gd2*)p;
if(hshare_data_GD2==NULL)
{
MessageBox("OpenSharedMemory_GD2 failed!");

return;
}


就是这个messagebox会报错!!!!
...全文
205 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
ccrun.com 2012-07-23
  • 打赏
  • 举报
回复
注意参数的匹配。
MessageBoxA(NULL, "OpenSemaphore_GD1 failed!", "标题", MB_OK | MB_ICONERROR);
dataxdata 2012-07-23
  • 打赏
  • 举报
回复
SDK中MessageBox的定义如下:
int MessageBox(
__in HWND hWnd,
__in LPCTSTR lpText,
__in LPCTSTR lpCaption,
__in UINT uType
);
一般的用法大概是这样的:
MessageBox(this->Handle, "this is message", "title", MB_OK|MB_ICONEXCLAMATION);

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧