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 <
roToolkit.h>
#include <
roMenu.h>
#include <
roMenuBar.h>
#include <
roUtil.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])
{
 
roError status;
uiCmdCmdId cmd_id;
 
roFileName mf;
 
roStringToWstring(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=>setting后对照下图设置。
将下面这两行分别粘贴到图示位置中,同样要看清红框中的 ...
您好:
看了这帖和前面的试了下提示启动应用程序失败!(我用的是WF4.0)
疑惑:
status = ProCmdActionAdd("Menu2", (uiCmdCmdActFn)Check,
uiCmdPrioDefault, TestAccessDefault, PRO_B_TRUE, PRO_B_TRUE, [$cmd_id)]
复制代码
这句编译是不通过的 我改成:
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