iCAx开思工具箱
标题:
外部程序'diyi'初始化失败:错误'PRO_TK_BAD_CONTEXT'
[打印本页]
作者:
zhudengkui0713
时间:
2011-4-29 16:51
标题:
外部程序'diyi'初始化失败:错误'PRO_TK_BAD_CONTEXT'
proe注册文件时提示错误:外部程序'diyi'初始化失败:错误'PRO_TK_BAD_CONTEXT'
这是什么问题,应该怎么解决。谢了
作者:
wangyao1052
时间:
2011-4-30 17:26
是不是路径错了
还是在user_initialize函数中至少要有一个Pro/Toolkit的函数 而你的程序是空的
能否具体点
作者:
zhudengkui0713
时间:
2011-5-1 09:35
2#
一下是程序,路径也没有问题。
// sym.cpp : 定义 DLL 的初始化例程。
//
#include "stdafx.h"
#include "sym.h"
#include "ProUtil.h"
#include "ProMenu.h"
#include "ProMessage.h"
#include "ProMenuBar.h"
#define PRO_USE_VAR_ARGS 1
#ifdef _DEBUG
#define new DEBUG_NEW
#endif
//
//TODO: 如果此 DLL 相对于 MFC DLL 是动态链接的,
// 则从此 DLL 导出的任何调入
// MFC 的函数必须将 AFX_MANAGE_STATE 宏添加到
// 该函数的最前面。
//
// 例如:
//
// extern "C" BOOL PASCAL EXPORT ExportedFunction()
// {
// AFX_MANAGE_STATE(AfxGetStaticModuleState());
// // 此处为普通函数体
// }
//
// 此宏先于任何 MFC 调用
// 出现在每个函数中十分重要。这意味着
// 它必须作为函数中的第一个语句
// 出现,甚至先于所有对象变量声明,
// 这是因为它们的构造函数可能生成 MFC
// DLL 调用。
//
// 有关其他详细信息,
// 请参阅 MFC 技术说明 33 和 58。
//
// CsymApp
BEGIN_MESSAGE_MAP(CsymApp, CWinApp)
END_MESSAGE_MAP()
// CsymApp 构造
CsymApp::CsymApp()
{
// TODO: 在此处添加构造代码,
// 将所有重要的初始化放置在 InitInstance 中
}
// 唯一的一个 CsymApp 对象
CsymApp theApp;
// CsymApp 初始化
BOOL CsymApp::InitInstance()
{
CWinApp::InitInstance();
return TRUE;
}
static uiCmdAccessState AccessDefault(uiCmdAccessMode)
{
return ACCESS_AVAILABLE;
}
//自定义函数
void First_fun()
{
AfxMessageBox(_T("first fun is working")); //自定义功能函数
}
void Second_fun()
{
AfxMessageBox(_T("second fun is working")); //自定义功能函数
}
void Third_fun()
{
AfxMessageBox(_T("third fun is working")); //自定义功能函数
}
//int sym(); //浮动菜单入口函数
extern "C" void user_initialize()
{
ProError err;
ProFileName MsgFile;
ProStringToWstring(MsgFile,"abc.txt");
int menu_id;
ProMode mode;
err = ProModeCurrentGet(&mode);
if(mode == PRO_MODE_PART||mode == PRO_MODE_ASSEMBLY) //指定只能在PART和ASM模式下使用
{
err=ProMenuFileRegister("User_functions","Sample.mnu",&menu_id);
err=ProMenubuttonActionSet("User_functions","The first",(ProMenubuttonAction)First_fun,NULL,0);
err=ProMenubuttonActionSet("User_functions","The second",(ProMenubuttonAction)Second_fun,NULL,0);
err=ProMenubuttonActionSet("User_functions","The third",(ProMenubuttonAction)Third_fun,NULL,0);
if(mode == PRO_MODE_PART) //设置在PART下”the first“是不可见状态
{
err = ProMenubuttonVisibilitySet("User_functions","The first",PRO_B_FALSE);
}
ProMenuCreate(PROMENUTYPE_MAIN,"User_functions",&menu_id);
ProMenuProcess("User_functions",&menu_id);
}
return ;
}
extern "C" void user_terminate()
{
//结束代码
}
作者:
wangyao1052
时间:
2011-5-2 09:16
没加载过浮动菜单
不知道
作者:
darkhourse
时间:
2011-6-18 21:54
返回误'PRO_TK_BAD_CONTEXT' 的值是因为你的proe的模式不再零件和组建模式下
欢迎光临 iCAx开思工具箱 (https://t.icax.org/)
Powered by Discuz! X3.3