关于addflowwps控件工具箱在哪里在BCB6的问题

一段时间没用cbuilder了,再用的时候,发现总是磕磕绊绊,把遇到的一些“小问题”贴在这里,希望能给其他一些不熟悉cb6的人一些帮助:
1.先安装一些控件后,以后卸载,但编译后来的项目总提示找不到。。。,需要给一些lib,bpi指定路径?
解决方法:close掉工程,使用ultraedit打开.bpr文件,把你卸掉的一些*.bpi,*.lib从&SPARELIBS&& ,&PACKAGES&中手工删除掉,保存。然后再打开编译就好了。
2.从旧版本cb项目中copy过来的文件,dfm格式以文本编辑器打开后是乱码?
cbuidler中打开,切换到设计视图,右键选中“Text DFM”,OK!
3.旧版本cb项目中的copy过来的Form,先执行FormCreate才执行构造函数?
使用ultraedit,执行批量替换:& 选定你的代码目录录,对所有..dfm文件,执行
“OldCreateOrder = True” 替换为 “OldCreateOrder = False”
4. 加入到cc中的项目,打开时报错,提示“File Access Denied”或直接close你的cb6?
第一个问题是不应该把.res文件加入到cc,应该把该文件保存为私有; 第二种情况需要你把项目 .bpr,.bpf,.cpp三个文件先checkout,然后再打开,就没问题了!
&5.使用TList时,使用delete 清除?
使用TList,一般我们都会 使用new ,添加指针类型到 TList中作为元素,因此在删除时,必须先delete每一个元素,再执行clear,然后在delte TList对象本身,如:
if (pSubExeList)&&& {&&&&&&& TSubExe* pSubExe=NULL;&&&&&&& for (int i = 0; i & pSubExeList-&C i++)&&&&&&& {&&&&&&&&&&& pSubExe = (TSubExe*)pSubExeList-&Items[i];&&&&&&&&&&& delete pSubE&&&&&&& }&&&&&&& pSubExeList-&Clear();&&&&&&& delete pSubExeL&&&&&&& pSubExeList = NULL;&&& }
虽然这是一个很简单的问题,但还是可以看到很多写的不正确的代码,:(
6.如果先生成了一个Form,后来需要把这个Form改为从另外一个基类Form继承?
方法是:1.修改类定义的方法,添加从基类继承;&&&&&&&&&&&& &2.修改构造函数,改为执行基类的构造函数;&&&&&&&&&&&&& 3.点击Form,右键-》View As Text ,然后修改& 第一个object为inherited
&7.在cbuilder查找一个函数很麻烦?
建议使用gexperts工具,其中有一个功能 “Procedure List”,把这个菜单项拖到编辑区的右边,非常容易找函数,在代码量很多的情况下很方便。
另外这个工具还有个最常用的功能是:注释块和取消注释。写代码时没有这个东东真是累。
8.在实现自定义控件的时候或者动态构建界面的时候,需要写很多动态创建控件的代码。不知道怎么写或写起来太累?
有一个好方法,也是gexperts工具提供的,“Component to& code”,先创建一个临时FOrm,把你想要动态创建的布局设计好,然后选中控件,点击“Component to code”,自动帮你生成了代码,你只需要copy过来,稍加整理就可以了。
9.特别多的头文件,到处都要添加include代码?
可以定义一个专门的.h 文件,把通常需要包含的所有include代码写在里面;以后用的时候就只用添加这一个.h 了。
10.几个常用的API函数:
&找窗口:注意第一个是类名;第二个是窗口的Caption,返回窗口句柄
&&& FindWindow(className,FormCaption)
动态启动另外一个可执行程序Exe,或者是打开文档:注意第四个参数,可用来传递程序的启动参数,参数之间以空格隔开,取参数。
&&&ShellExecute&(ParentFormHandle,"open",filename,startup arguments,default dir ,Show Mode)
&取应用程序启动参数:
ParamCount() :取参数个数;
ParamStr(argument index):取参数,因为ParamStr(0)标识的是执行程序文件的名称,因此实际上第一个参数是ParamStr(1);
发送消息:
PostMessage(Target WIndow Handle,Message Type ID,Message content Ptr,LParam):使用PostMessage时,当第二个参数,即自定义的消息标识&WM_User时,消息内容不能含有指针类型。因为接收的Form可能接收不到指针内容。 用于发送消息,不用等待结果即返回。
SendMessage(Target WIndow Handle,Message Type ID,Message content Ptr,LParam):用于发送消息,但等待结果返回。
PostMessage在进程内部使用的时候,消息内容含有指针类型,可以被成功接收;如跨进程,则只能使用copydata类型, SendMessage方法进行消发送:
COPYDATASTRUCT&&data.dwData = MsgF //ת·¢ÏûÏ¢±êʶ&&data.cbData = Msg.Length();&&//memcpy(data.lpData,cMsg,strlen(cMsg));&&data.lpData = Msg.c_str();
&&SendMessage(pExeWnd,WM_COPYDATA,(WPARAM)Application-&Handle,(LPARAM)&data);
11.TImage控件可以使用.gif格式的图片?
刚开始用的时候,发现TImage控件可以支持.gif格式的图片;后来发现又不行了,觉得很奇怪。原来是因为把TeeChart7控件卸载了! 装了TeeChart后,TeeChart自己包含了GifImage.pas,经过编译安装后就可以让Timage在设计时加载Gif格式的图片了(不过还没试能不能显示动画)
12.TLabel控件需要内容纵向居中?
开始一直以为TLabel控件不能纵向居中,后来才发现lauout!很多控件都有layout属性,如果是内容布局的问题,就尝试设置一下layout!
13.&图标资源都是gif或者jpg格式的,不能在TImageList中使用?
这要借助于Acdsee工具,打开Acdsee,选中所有你的gif或是jpg格式的图片,右键“工具”……“转换文件格式”……选中你bmp或者ico,然后就可以加在imagelist中使用了!
或者使用Snagit工具,在snagit中有个“BatchConvertImages”更方便、好用。
14.&delete Component的时候出现异常?
有的时候会犯一个简单的错误,如:
TFrame* pF
void __fastcall TMainForm::CreateFrame(){&&& pFrame = new TFrame(Application);}
void __fastcall TMainForm::~TMainForm(){&&& if(pFrame)&&&&&& delete pF}
在执行析构的时候可能会导致异常。主要是因为构造的时候不应使用Application作为Owner,应该使用MainForm作为其Owner。所以在构造Component的时候一定要注意把哪个对象作为Owner,因为Owner负责对象流的保存及资源释放等。
1、BCB 编辑快捷键
左/右移 块代码
选中 块代码 1 CTRL+ SHIFT+ I 是整片往右移,2 CTRL+ SHIFT+ U 是整片文字往左移
2、得到执行程序的当前路径
ExtractFileDir(Application-&ExeName);
3、循环中响应其它操作
在循环内加入Application-&ProcessMessage()这一句。
4、向外部提供dll函数标准windows格式
extern "C" __declspec(dllexport) __stdcall __int32 Fun(__int32 n32_i);
5、从外部dll输入函数标准windows格式
extern "C" __declspec(dllimport) __stdcall __int32 Fun(__int32 n32_i);
6、对DLL的调试
RUN/PARAMETERS 中填上调用该DLL的 *.exe。
7、使用*.chm帮助文件
ShellExecute(NULL,NULL,帮助文件的路径,NULL,NULL,SW_SHOWNORMAL);
8、PB_C数据类型转换表
PB_C数据类型转换表 MICROSOFT PB(16Bit) PB(32Bit) Bool Boolean Boolean Byte, Char Char Char Char* Ref string Ref String Colorref Uint Ulong Double Double Double Dword Uint Ulong Float N/A N/A Handle Uint Ulong Hdc Uint Ulong Hfile Uint Ulong Hinstance Uint Ulong Hwnd Uint Ulong Int Int Int Long Long Long Lparam Uint Ulong Lpbyte Ref Int Ref Long Lpcwstr Ref Blob Ref Blob (Unicode use ToUnicode()) Lpcvoid Ref String Ref String Lpdword Ref Uint Ref Ulong Lpfiletime Ref Time Ref Time Lpint Ref Int Ref Long Lpstr,Lpcstr Ref String Ref String Lpvoid Ref Structstruct_inst Ref Struct struct_inst Lpword Ref Int Ref Ulong Mcierror Long Long Pbyte Ref Int[#] Ref Long[#] Short Int Int Structure Ref Struct struct_inst Ref Struct Struct_inst Uint Uint Uint Void** SUBROUTINE SUBROUTINE Word Int Long Wparam Uint Ulong
&9、使用CB内存漏洞工具
选中Progect/Option-&CodeGuard
支持环境CG32.LIB/CG32.DLL
10、MFC基本运行库目录mfc42.dllMFC42D.DLLMFCD42D.DLLMFCN42D.DLLMFCO42D.DLLMSVCP60.DLLMSVCP60D.DLLMSVCRTD.DLLNTDLL.DLL
11、数据库连接测试(ADO)
建一文件,*.udl,内容空。双击,按照提示操作。
12、编译器设置
Project|Options
Compiler(编译)"Full debug"(完全调试模式)"Code optimization"(代码优化)
"debugging"(调试)"Debug information"(调试信息)"Line number information"(行数信息)"Disable inline expansions"(禁用内联扩展)
"Pascal"标签
"Optimization"优化"debugging"(调试)
"Linker"(链接)"Create debug information"(生成调试信息)"Don’t generate state files"(不要生成状态文件)"Use dynamic RTL"(使用动态RTL)
"Directories/Conditionals"(路径/条件)
"Packages"(程序包)"Build with runtime packages"(带运行时程序包编译)
Tools|Debugger OptionsIntegrated debugging"(集成调试器)
Project|Build All(彻底的编译)
13、设置RTL
C builder 有几种运行时库,多线程静态链接库,单线程静态链接库 以及动态的,含有
VCL的,下面介绍多线程静态链接库,单线程静态链接库 是没有VCL的,VCL中自动 包含多线程。
Use RTL multi-threaded static library 使用多线程静态链接库
到*.bpr 中,按下面的修改即可。&CFLAG1 value="-tWD -tWM -Od -H=$(BCB)libvcl50.csm -Hc -Vx -Ve -X- -r- -a8 -b- -k -y -v -vi- -c"/&&ALLLIB value="$(LIBFILES) $(LIBRARIES) import32.lib cw32mt.lib"/&
Use RTL single-threaded static library 使用单线程静态链接库
到*.bpr 中,按下面的修改即可。
&ALLLIB value="$(LIBFILES) $(LIBRARIES) import32.lib cw32.lib"/&
14、CODEGUARD调试器
库文件CG32.LIB/CG32.DLL一、编译 (Project/Option-& CodeGuard)二、运行(Tools/CodeGuard Configuration)文件为*.CGI日志文件中,文件名为 *.CGI。用 View/Debug Window/CodeGuard Log察看或者记事本。
阅读(...) 评论()一个字节一个字节地敲打代码
安装bcb6出现的问题
安装bcb6过程出现的问题:Please Shutdown InterBase Guardian before proceeding
解决:控制面板-管理工具-服务-找到“InterBase Guardian”,停止该服务。就可以继续安装了
打开程序,虽然编译了.bpk,还是出现了打开窗体的视图出现了“没有注册类别。
解决:注册ocx控件一下
没有更多推荐了,
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!BCB控件安装详细说明
第一步 首先file | close All其次file | open project再次寻找要添加的后缀为.bpk的文件双击 ,并把当前的路径记住在出现的对话框中 先选中compile,再选中install
第二步菜单中tools | environment options | environment variables | user overrides
| new | 出现对话框,上面写变量名。下面粘贴上面记下的路径,ok就好了然后,菜单中project | Options | directories/conditionals | 第一个"...",下点击,输入如:$(tnt) 然后add | ok 第二个"...",下点击,同上:$(tnt) 然后add | ok 最后点击最后一个ok就完事了。
我不知道我说明白了没有,不清楚的地方,留言……
没有更多推荐了,
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!如何在bcb6中安装SuiPack控件?
[问题点数:50分,结帖人baby0]
本版专家分:1530
结帖率 100%
CSDN今日推荐
本版专家分:7380
2003年10月 C++ Builder大版内专家分月排行榜第一
本版专家分:1530
结帖率 100%
本版专家分:4833
本版专家分:7380
2003年10月 C++ Builder大版内专家分月排行榜第一
本版专家分:4833
本版专家分:1530
结帖率 100%
本版专家分:1530
结帖率 100%
本版专家分:7380
2003年10月 C++ Builder大版内专家分月排行榜第一
本版专家分:7380
2003年10月 C++ Builder大版内专家分月排行榜第一
本版专家分:835
匿名用户不能发表回复!|
CSDN今日推荐TeeChart 在BCB6中的安装问题,在线等~!!!!
[问题点数:0分,结帖人jiangjialin]
本版专家分:0
结帖率 100%
CSDN今日推荐
本版专家分:0
结帖率 100%
本版专家分:0
2005年8月 C++ Builder大版内专家分月排行榜第一2005年6月 C++ Builder大版内专家分月排行榜第一2005年5月 C++ Builder大版内专家分月排行榜第一2005年4月 C++ Builder大版内专家分月排行榜第一2005年3月 C++ Builder大版内专家分月排行榜第一2004年11月 C++ Builder大版内专家分月排行榜第一2004年10月 C++ Builder大版内专家分月排行榜第一2004年9月 C++ Builder大版内专家分月排行榜第一2004年8月 C++ Builder大版内专家分月排行榜第一
2007年6月 C++ Builder大版内专家分月排行榜第二2007年3月 C++ Builder大版内专家分月排行榜第二2007年1月 C++ Builder大版内专家分月排行榜第二2006年1月 C++ Builder大版内专家分月排行榜第二2005年12月 C++ Builder大版内专家分月排行榜第二2005年11月 C++ Builder大版内专家分月排行榜第二2005年7月 C++ Builder大版内专家分月排行榜第二2004年12月 C++ Builder大版内专家分月排行榜第二
2007年2月 C++ Builder大版内专家分月排行榜第三2007年6月 Delphi大版内专家分月排行榜第三2006年2月 C++ Builder大版内专家分月排行榜第三2005年10月 C++ Builder大版内专家分月排行榜第三2004年7月 C++ Builder大版内专家分月排行榜第三
本版专家分:0
本版专家分:0
本版专家分:0
匿名用户不能发表回复!|
CSDN今日推荐

我要回帖

更多关于 控件打开pdf出现问题 的文章

 

随机推荐