iCAx开思工具箱

标题: 续tool的手把手,1.2.3.一定搞掂。 [打印本页]

作者: zzabccn    时间: 2003-9-9 18:18
标题: 续tool的手把手,1.2.3.一定搞掂。
protoolkit手把手1、2、3.一定能通过
首先安装好proetoolkit和vc++6.0
从windows2k的[开始][程序]中打开vc++6.0
一、设置工作环境
从菜单上打到tool=>options弹出对话框如下图
选取Directories(1),选取添加(2),浏览、(3),
在4号位置中找到X:\PROEWILDFIRE\PROTOOLKIT\INCLUDES目录。按确定按钮(5)
重复2、3、4、5,找到X:\PRO2001\PRODEVELOP\INCLUDES目录.
作者: zzabccn    时间: 2003-9-9 18:19
按6号位置后选Library files
用同样的方法对照下面两个图进行设置,注意红框中的内容不要搞错了。最后按[OK].
作者: zzabccn    时间: 2003-9-9 18:20
二、对照下图7、8、9、10 后按[OK]=>[Finish]=>[OK].
作者: zzabccn    时间: 2003-9-9 18:22
三、从菜单选Project=>setting后对照下图设置。
将下面这两行分别粘贴到图示位置中,同样要看清红框中的内容。最后按[OK].
  
protk_dll.lib prodev_dll.lib wsock32.lib  mpr.lib kernel32.lib
  
MSVCRTD.lib
作者: zzabccn    时间: 2003-9-9 18:23
四、按图上14号位的FileView.接着15号=>16号=>双击17号
将下面这一段完整地粘贴到18号标明的那一行后面。
将工程全部保存后,从菜单上选Build=>Rebuild All。
  
#include &ltroToolkit.h>  
#include &ltroMenu.h>  
#include &ltroMenuBar.h>  
#include &ltroUtil.h>  
  
static uiCmdAccessState TestAccessDefault(uiCmdAccessMode access_mode)  
{  
    return (ACCESS_AVAILABLE);  
}  
  
void Check()  
{  
  AfxMessageBox("CONSUMMATION!");  
}  
  
/*====================================================================*\  
FUNCTION : user_initialize()  
PURPOSE : Pro/TOOLKIT程序的总入口,完成初始化工作  
\*====================================================================*/  
extern "C" int user_initialize(  
    int argc,  
    char *argv[],  
    char *version,  
    char *build,  
    wchar_t errbuf[80])  
{  
  
 &nbsproError status;  
  uiCmdCmdId cmd_id;  
 &nbsproFileName mf;  
  
 &nbsproStringToWstring(mf,"usermsg.txt");  
     
  status = ProMenubarMenuAdd ("Menu0", "USER Menu0",  
        "Help", PRO_B_TRUE, mf);  
  // 0添加父菜单Menu0  
  
  status = ProMenubarmenuMenuAdd ("Menu0", "Menu1", "USER Menu1",  
     NULL, PRO_B_TRUE, mf);  
  添加弹出式菜单Menu1  
  
   
  status = ProCmdActionAdd("Menu2", (uiCmdCmdActFn)Check,  
    uiCmdPrioDefault, TestAccessDefault, PRO_B_TRUE, PRO_B_TRUE, [$cmd_id)]  
  -1菜单Menu2动作  
  
  status = ProMenubarmenuPushbuttonAdd ("Menu1", "Menu2",  
     "USER Menu2", "USER Menu2 help", NULL, PRO_B_TRUE,cmd_id, mf);  
  -1添加菜单Menu2  
     
  return 0;  
}  
extern "C" void user_terminate()  
{  
  
}
作者: zzabccn    时间: 2003-9-9 18:24
到此算是告一段落.
完全按上述步骤,编译链接应不会有警告和错误.如果是这样的话,恭喜你,
已经正确地生成了一个与工程名同名的.dll文件,在Debug目录中,找找看.
这个dll就是我们要运行的程序。
作者: zzabccn    时间: 2003-9-9 18:26
在vc++中按new按钮,将下面这段粘贴至其中,save as=>protk.dat
  
NAME myfirst
EXEC_FILE ./debug/myfirst.dll
TEXT_DIR ./text
STARTUP = DLL
FAIL_TOL = TRUE
DELAY_START FALSE
ALLOW_STOP TRUE
END
作者: zzabccn    时间: 2003-9-9 18:30
再一次在vc++中按new按钮,将下面这段粘贴至其中,save as=>.\text\usermsg.txt
在Save as对话框中新建一个文件夹text,将usermst.txt保存在其中。
  
USER Menu0  
Tool Menu
#  
#  
USER Menu1  
Menu1
#  
#  
USER Menu2
Menu2
#  
#  
USER Menu1 help  
this is menu1 help  
#  
#  
USER Menu2 help  
this is menu2 help
#  
#  
  
从桌面上复制一个pre2001的快捷方式,右键改一个属性,使用起动目录为工程所在目录即可。
最后,用这个快捷方式运行proe2001,如果在菜单上看到了Tool Menu字样,再次恭喜你一切OK.
作者: kevinlll    时间: 2003-9-9 18:44
謝謝
作者: i'm stranger    时间: 2003-9-10 07:24
好!收藏
作者: i'm stranger    时间: 2003-9-10 07:37
再次感谢,已解决我以前的所有问题
一起分享一下快乐
作者: weijians    时间: 2003-9-10 15:55
非常好!
尤其要注意:注册文件.dat和信息文件.txt安放位置,要放在text文件夹里,否则很容易出错!我以前编译能通过但不能出现新增菜单就是这个原因。
让我们共同进步!
作者: zine    时间: 2003-10-8 15:26
好!好!好久没来了... :-)
作者: ning11    时间: 2004-4-12 12:22
3q.
作者: tony8206    时间: 2006-3-27 08:20
谢谢了,太需要了.
作者: zxn1978    时间: 2006-3-27 15:54
very good.thx
作者: zzabccn    时间: 2006-4-5 20:18
又翻一下觉得可^^,这个不能挣钱!
作者: zxn1978    时间: 2006-4-6 19:57
还搞2次开发吗?
作者: ZXD0424    时间: 2006-4-12 23:21
多谢楼主,我是一步一步按照操作的,唯一不足的是程序有几个笑的图案,编易会有些问题,现在我上传我的修改过的文件,希望对后来者有用。

除了笑的图案,另外有一个地方是添加菜单Menu2中的[$cmd_id)]  
应该是&cmd_id);

我的水平仅仅限于小修补,请各位大侠勿见笑。
作者: ZXD0424    时间: 2006-4-12 23:25
#include <ProToolkit.h>
#include <ProMenu.h>
#include <ProMenuBar.h>
#include <ProUtil.h>
  
static uiCmdAccessState TestAccessDefault(uiCmdAccessMode access_mode)  
{  
    return (ACCESS_AVAILABLE);  
}  
  
void Check()  
{  
  AfxMessageBox("CONSUMMATION!");  
}  
  
/*====================================================================*\  
FUNCTION : user_initialize()  
PURPOSE : Pro/TOOLKIT程序的总入口,完成初始化工作  
\*====================================================================*/  
extern "C" int user_initialize(  
    int argc,  
    char *argv[],  
    char *version,  
    char *build,  
    wchar_t errbuf[80])  
{  
  
  ProError status;  
  uiCmdCmdId cmd_id;  
  ProFileName mf;  
  
  ProStringToWstring(mf,"usermsg.txt");  
      
  status = ProMenubarMenuAdd ("Menu0", "USER Menu0",  
        "Help", PRO_B_TRUE, mf);  
  // 0添加父菜单Menu0  
  
  status = ProMenubarmenuMenuAdd ("Menu0", "Menu1", "USER Menu1",  
     NULL, PRO_B_TRUE, mf);  
  //添加弹出式菜单Menu1  
  
   
  status = ProCmdActionAdd("Menu2", (uiCmdCmdActFn)Check,  
    uiCmdPrioDefault, TestAccessDefault, PRO_B_TRUE, PRO_B_TRUE, &cmd_id);
  //菜单Menu2动作  
  
  status = ProMenubarmenuPushbuttonAdd ("Menu1", "Menu2",  
     "USER Menu2", "USER Menu2 help", NULL, PRO_B_TRUE,cmd_id, mf);  
  //添加菜单Menu2  
      
  return 0;  
}  
extern "C" void user_terminate()  
{  
  
}
作者: ZXD0424    时间: 2006-4-18 00:02
USER Menu0  
Tool Menu
工具菜单
#  
USER Menu1  
Menu1
菜单1
#  
USER Menu2
Menu2
菜单2   
#  
USER Menu1 help  
this is menu1 help  
这是菜单1帮助  
#  
USER Menu2 help  
this is menu2 help
这是菜单2帮助
#  

中文的
作者: ksq_2007    时间: 2007-7-18 16:31
支持啊,为什么图片我都看不到呢
作者: LUCYTWO    时间: 2007-9-16 00:40
标题:
收藏
作者: zhuhuajun    时间: 2008-7-3 00:22
暂时不懂.要努力学习!!!
作者: 张少杰    时间: 2010-11-21 15:47
谢谢楼主分享啊
作者: illuminiti    时间: 2011-9-9 11:32
zzabccn 发表于 2003-9-9 18:22
三、从菜单选Project=&gt;setting后对照下图设置。
将下面这两行分别粘贴到图示位置中,同样要看清红框中的 ...

您好:
看了这帖和前面的试了下提示启动应用程序失败!(我用的是WF4.0)
疑惑:
  1. status = ProCmdActionAdd("Menu2", (uiCmdCmdActFn)Check,  
  2. uiCmdPrioDefault, TestAccessDefault, PRO_B_TRUE, PRO_B_TRUE, [$cmd_id)]  
复制代码
这句编译是不通过的 我改成:
  1. status = ProCmdActionAdd("Menu2", (uiCmdCmdActFn)Check,  uiCmdPrioDefault, (uiCmdAccessFn)TestAccessDefault, PRO_B_TRUE, PRO_B_TRUE, &cmd_id);
复制代码
望指点 谢谢!




欢迎光临 iCAx开思工具箱 (https://t.icax.org/) Powered by Discuz! X3.3