BCB日常利用小集锦
副标题#e#
如有疑问,请接洽 [email protected]
以下为我的日常条记,整理出来,供各人分享。
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
#p#副标题#e#
9、利用CB内存裂痕东西
选中Progect/Option->CodeGuard
支持情况CG32.LIB/CG32.DLL
10、MFC根基运行库目次
mfc42.dll
MFC42D.DLL
MFCD42D.DLL
MFCN42D.DLL
MFCO42D.DLL
MSVCP60.DLL
MSVCP60D.DLL
MSVCRTD.DLL
NTDLL.DLL
11、数据库毗连测试(ADO)
建一文件,TestDataBase.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 Options
Integrated 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)\lib\vcl50.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察看可能记事本。