我用vc.net 给proe2.0 做了一个菜单 结果又五个错误 求高手指点
// sheji.cpp : 定义 DLL 的初始化例程。//
#include "stdafx.h"
#include "sheji.h"
#include "ProToolkit.h"
#include "ProMenu.h"
#include "ProMenubar.h"
#include "ProMessage.h"
#include "ProUtil.h"
#include "ProUICmd.h"
#include <ProWindows.h>
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[]=_FILE[]
#endif
extern "C" int user_initialize()
{
ProError status;
ProFileName MsgFile;
uiCmdCmdId PushButton_cmd_id1,PushButton_cmd_id2,
PushButton_cmd_id3,PushButton_cmd_id4;
ProStringToWstring(MsgFile, "Message.txt");//设置菜单信息文件名
/*=========================================================*\
添加菜单条
\*=========================================================*/
status=ProMenubarMenuAdd ("UserMenuBar", "UserMenu",
"Utilities", PRO_B_TRUE, MsgFile);
/*=======================================================*\
菜单条的下级子菜单设置
\*=========================================================*/
//添加下级子菜单项
ProMenubarmenuMenuAdd("UserMenuBar", "SubMenu", "SubMenu",
NULL, PRO_B_TRUE, MsgFile);
//设置菜单按钮的动作函数
ProCmdActionAdd("PushButtonAct1",(uiCmdCmdActFn)Duangai1Fn,
uiCmdPrioDefault,AccessAvailable,
PRO_B_TRUE,PRO_B_TRUE,&PushButton_cmd_id1);
//添加菜单按钮
ProMenubarmenuPushbuttonAdd("SubMenu", "PushButton1", "PushButton1",
"Adding a push button to the ProE menu bar", NULL,
PRO_B_TRUE, PushButton_cmd_id1, MsgFile);
//设置菜单按钮的动作函数
ProCmdActionAdd("PushButtonAct2",(uiCmdCmdActFn)Duangai2Fn,
uiCmdPrioDefault,AccessAvailable,
PRO_B_TRUE,PRO_B_TRUE,&PushButton_cmd_id2);
//添加菜单按钮
ProMenubarmenuPushbuttonAdd("SubMenu","PushButton2","PushButton2",
"Adding another push button to the ProE menu bar",NULL,
PRO_B_TRUE, PushButton_cmd_id2, MsgFile);
//设置菜单按钮的动作函数
ProCmdActionAdd("PushButtonAct3",(uiCmdCmdActFn)Duangai3Fn,
uiCmdPrioDefault,AccessAvailable,
PRO_B_TRUE,PRO_B_TRUE,&PushButton_cmd_id3);
//添加菜单按钮
ProMenubarmenuPushbuttonAdd("SubMenu","PushButton3","PushButton3",
"Adding the third push button to the ProE menu bar",NULL,
PRO_B_TRUE, PushButton_cmd_id3, MsgFile);
//设置菜单按钮的动作函数
ProCmdActionAdd("PushButtonAct4",(uiCmdCmdActFn)Duangai4Fn,
uiCmdPrioDefault,AccessAvailable,
PRO_B_TRUE,PRO_B_TRUE,&PushButton_cmd_id4);
//添加菜单按钮
ProMenubarmenuPushbuttonAdd("SubMenu","PushButton4", "PushButton4",
"Adding the forth push button to the ProE menu bar", NULL,
PRO_B_TRUE, PushButton_cmd_id4, MsgFile);
return status;
}
/*=========================================================*\
FUNCTION: user_terminate()
\*=========================================================*/
extern "C" void user_terminate()
{
AFX_MANAGE_STATE(AfxGetStaticModuleState());
}
/*=========================================================*\
FUNCTION: AccessAvailable (菜单项的访问权限设置:可选)
\*=========================================================*/
static uiCmdAccessState AccessAvailable (uiCmdAccessMode access_mode)
{
return (ACCESS_AVAILABLE);
}
错误
1>f:\自制视频\sheji\sheji\sheji.cpp(17) : error C2065: '_FILE' : undeclared identifier
1>f:\自制视频\sheji\sheji\sheji.cpp(17) : error C2059: syntax error : ']'
1>f:\自制视频\sheji\sheji\sheji.cpp(20) : error C2143: syntax error : missing ';' before '{'
1>f:\自制视频\sheji\sheji\sheji.cpp(20) : error C2447: '{' : missing function header (old-style formal list?)
1>生成日志保存在“file://f:\自制视频\sheji\sheji\Debug\BuildLog.htm”
1>sheji - 5 个错误,1 个警告
========== 生成: 0 已成功, 1 已失败, 0 最新, 0 已跳过 ========== 你这里摆出来的错误都是C语言的基本语法错误,书写格式的问题,我并不是说你的C语言的基础差,只是这是调试程序的第一步,说实话这种问题不应该问的,呵呵,编写一个比较长的程序,任何人都避免不了因为粗心而漏写或是多写一个标点符号,C语言对标点符号的要求非常的严格,每个标点符号都代表着不同的重要意义,所以刚刚编写好一个程序,第一次检错往往都是出现如你所列的错误:什么地方漏掉了什么符号啊,什么地方多了什么符号啊,什么函数没有声明啊,什么变量没有声明啊,什么函数或是变量声明了但是在程序中没有用到啊等等,这都属于基本错误,找到那一行程序段改掉就可以了,改掉基本语法错误后,再进行检错一般会出现逻辑上的错误,这才是比较难改的错误,往往是函数调用冲突啊,循环没有起点或终点啊,返回值不明确啊等等。这位仁兄,如果我没有猜错的话,你应该是刚刚把这个程序写完,马上检错,发现错误没有思考,马上就发帖了,呵呵,这样是不对的,作为一个程序员,不仅要学会如何写程序,更重要的是要学会如何调程序,往往一个程序的完成,调试的时间要是书写时间的几倍甚至十几倍几十倍,然后还要有详细的注释,这也要花去几乎两倍于书写程序的时间,这才叫真正完成一个程序的创作。 谢谢这位兄弟给我指出的错误说实话这个 不是我自己编的 我也不会编 而是我在一个往年的毕业设计上复制的 到了我这里就运行不了有的程序我运行成功生成的.dll文件为什么proe里面就运行不了了? 我告诉你怎么调试程序,检错结束后,双击一下错误光标就会自动跳到出错的那行程序段,改正他就好了,至于运行成功的程序放在proe里面没有成功,应该就是proe和CV软件链接没有完成,或是让proe软件识别的dat文件路径没有设置正确吧,你自己检查下,根据你的这些信息,我只能做出这些猜测,看能不能帮到你 回复 4# lovedongyao
顶一个,这个需要自己去动手滴 :funk::funk: 版主厉害啊
页:
[1]