[分享]BCGControlBarPro静态链接实现方法。
[分享]BCGControlBarPro静态链接实现方法。
昨天应一个网友的要求,测试了一下BCGControlBarPro静态链接实现方法。采用BCG向导生成的静态链接的项目会报错,提示资源及DLL找不到。经过测试,解决了这个问题,特共享出来给大家一起分享。
环境:VS 2008 TE
BCGPro 10.30
项目属性:Static Link
Unicode
Ribbon
我的方法是将相关的资源复制到项目下。
1、将BCGSoft\BCGControlBarPro\BCGCBPro\Styles下的
BCGPStyle2007Luna.rc
BCGPStyle2007Obsidian.rc
BCGPStyle2007Silver.rc
BCGPStyle2007Aqua.rc
BCGPStyleCarbon.rc
BCGPStyleScenic.rc
BCGPStyle2007Luna.rc2
BCGPStyle2007Obsidian.rc2
BCGPStyle2007Silver.rc2
BCGPStyle2007Aqua.rc2
BCGPStyleCarbon.rc2
BCGPStyleScenic.rc2
复制到你的项目的主目录下,记得与你的rc文件的目录相同。
2、将BCGSoft\BCGControlBarPro\BCGCBPro\Styles下的
Carbon
Office 2007 (aqua)
Office 2007 (luna - blue)
Office 2007 (obsidian - black)
Office 2007 (silver)
Scenic
目录复制到你的项目的主目录下。
3、在资源视图的对话框上点击右键,选择“资源包括(L)...”,在“编译时指令”中的最后加上
#include "BCGPStyle2007Luna.rc"
#include "BCGPStyle2007Obsidian.rc"
#include "BCGPStyle2007Silver.rc"
#include "BCGPStyle2007Aqua.rc"
#include "BCGPStyleCarbon.rc"
#include "BCGPStyleScenic.rc"
4、编译即可。
另外BCG本身提供了静态链接的方法:
#if !defined _AFXDLL || defined _BCGCBPRO_STATIC_
TRACE(_T("\r\nImportant: to enable Office 2007 look in static link, you need:\r\n"));
TRACE(_T("1. Open "Resource Includes" dialog and add resource files:\r\n"));
TRACE(_T("<BCGCBPro-Path>\\styles\\BCGPStyle2007Luna.rc\r\n"));
TRACE(_T("<BCGCBPro-Path>\\styles\\BCGPStyle2007Obsidian.rc\r\n"));
TRACE(_T("<BCGCBPro-Path>\\styles\\BCGPStyle2007Silver.rc\r\n"));
TRACE(_T("<BCGCBPro-Path>\\styles\\BCGPStyle2007Aqua.rc\r\n"));
TRACE(_T("2. Add path to this folder to "Additional Resource Include Directories"\r\n"));
TRACE(_T("<BCGCBPro-Path>\\styles\r\n\r\n"));
ASSERT (FALSE);
#endif
该方法不需要进行复制,
1、在资源包括中添加资源项;
2、在资源视图中点击右键,选属性->资源->常规->附加包含目录中添加路径。
我没有尝试成功,所以采用了全复制资源文件的方法。
有哪位尝试出来后能不能和大家共享下?!
redleafe
2009.09.07
[解决办法]
谢谢,不过这样的问题问他们客服更好。
[解决办法]
和和.楼主是好人.偶刚用vc.之前用的是C#.因这个软件是怕别人反骗出源码.须要这样做.(C#源码加密后会有莫名的bug).想捡懒用delphi.不过让我头大了.语法不习惯.哈哈 :)