|
马上注册,结交更多同行朋友,交流,分享,学习。
您需要 登录 才可以下载或查看,没有帐号?注册
x
我想添加一个菜单栏“拉深模设计” 和一个菜单栏按钮“筒形件拉深模具设计”
DLL文件已经在VC中成功组建 信息文件和注册文件(PRODD.DAT)也写好了
但是在proe里注册PRODD.DAT以后,一点启动PROE就自动退出了
下面是CPP文件及信息文件和注册文件内容,高手们给看看是怎么回事啊,谢谢!
// PRODD.cpp : Defines the initialization routines for the DLL.
//
#include "stdafx.h"
#include "PRODD.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
#include"ProMenu.h"
#include"ProUtil.h"
#include"ProMenubar.h"
//
// Note!
//
// If this DLL is dynamically linked against the MFC
// DLLs, any functions exported from this DLL which
// call into MFC must have the AFX_MANAGE_STATE macro
// added at the very beginning of the function.
//
// For example:
//
// extern "C" BOOL PASCAL EXPORT ExportedFunction()
// {
// AFX_MANAGE_STATE(AfxGetStaticModuleState());
// // normal function body here
// }
//
// It is very important that this macro appear in each
// function, prior to any calls into MFC. This means that
// it must appear as the first statement within the
// function, even before any object variable declarations
// as their constructors may generate calls into the MFC
// DLL.
//
// Please see MFC Technical Notes 33 and 58 for additional
// details.
//
/////////////////////////////////////////////////////////////////////////////
// CPRODDApp
BEGIN_MESSAGE_MAP(CPRODDApp, CWinApp)
//{{AFX_MSG_MAP(CPRODDApp)
// NOTE - the ClassWizard will add and remove mapping macros here.
// DO NOT EDIT what you see in these blocks of generated code!
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CPRODDApp construction
CPRODDApp::CPRODDApp()
{
// TODO: add construction code here,
// Place all significant initialization in InitInstance
}
/////////////////////////////////////////////////////////////////////////////
// The one and only CPRODDApp object
CPRODDApp theApp;
extern "C" int user_initialize()
{
ProError status;
ProFileName MsgFile;
uiCmdCmdId PushButton_cmd_id1;
ProStringToWstring(MsgFile, "PRODD.txt");//设置菜单信息文件名
/*=========================================================*\
添加菜单条
\*=========================================================*/
status=ProMenubarMenuAdd ("PRODD", "拉深模设计",
"Utilities", PRO_B_TRUE, MsgFile);
/*=========================================================*\
菜单按钮设置
\*=========================================================*/
//设置菜单按钮的动作函数(例8-1)
//添加菜单按钮
ProMenubarmenuPushbuttonAdd("PRODD", "bddCAD", "筒形件拉深模具设计",
"筒形件拉深模具设计", NULL,
PRO_B_TRUE, PushButton_cmd_id1, MsgFile);
return status;
}
/*===============================================================*\
FUNCTION: user_terminate()
\*===============================================================*/
extern "C" void user_terminate()
{
AFX_MANAGE_STATE(AfxGetStaticModuleState());
}
信息文件PRODD.TXT:
拉深模设计
PRODD
拉深模设计
#
筒形件拉深模具设计
bdcad
筒形件拉深模具设计
#
筒形件拉深模具设计
bdcad
筒形件拉深模具设计
#
注册文件:
NAME PRODD
EXEC_FILE E:\document\PROE二次开发\PRODD\Release\PRODD.dll
TEXT_DIR E:\document\PROE二次开发\PRODD\Release\text
STARTUP dll
ALLOW_STOP TRUE
DELAY_START TRUE
REVISION 2002
END
本帖最后由 LIRUI616 于 2009-3-23 11:17 编辑 |
|