找回密码 注册 QQ登录
一站式解决方案

iCAx开思网

CAD/CAM/CAE/设计/模具 高清视频【积分说明】如何快速获得积分?快速3D打印 手板模型CNC加工服务在线3D打印服务,上传模型,自动报价
查看: 19567|回复: 4
打印 上一主题 下一主题

[求助] 外部程序'diyi'初始化失败:错误'PRO_TK_BAD_CONTEXT'

[复制链接]
跳转到指定楼层
1
发表于 2011-4-29 16:51:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多同行朋友,交流,分享,学习。

您需要 登录 才可以下载或查看,没有帐号?注册

x
proe注册文件时提示错误:外部程序'diyi'初始化失败:错误'PRO_TK_BAD_CONTEXT'
这是什么问题,应该怎么解决。谢了
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 赞一下!赞一下!
2
发表于 2011-4-30 17:26:06 | 只看该作者
是不是路径错了   
还是在user_initialize函数中至少要有一个Pro/Toolkit的函数  而你的程序是空的
能否具体点
3
发表于 2011-5-1 09:35:17 | 只看该作者
2# wangyao1052

一下是程序,路径也没有问题。
// 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()
{
//结束代码
}
4
发表于 2011-5-2 09:16:54 | 只看该作者
没加载过浮动菜单
不知道
5
发表于 2011-6-18 21:54:08 | 只看该作者
返回误'PRO_TK_BAD_CONTEXT'  的值是因为你的proe的模式不再零件和组建模式下
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3D打印手板模型快速制作服务,在线报价下单!

QQ 咨询|手机版|联系我们|iCAx开思网  

GMT+8, 2025-2-3 09:16 , Processed in 0.023793 second(s), 13 queries , Gzip On, Redis On.

Powered by Discuz! X3.3

© 2002-2025 www.iCAx.org

快速回复 返回顶部 返回列表