首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> VC >> VC 教學

C++Builder 開發必備:實用技巧與常用代碼片段大全

     編輯:VC 教學

前言

C++Builder (BCB) 作為經典的 RAD 開發工具,擁有豐富的 VCL 元件庫與高效的編譯器。本文整理了開發過程中常用的快捷鍵、路徑取得、訊息處理、DLL 匯出入、除錯技巧、CHM 說明檔呼叫,以及 PowerBuilder 與 C++ 資料類型對照表,供開發者快速查閱。

一、編輯器快捷鍵:加速程式碼撰寫

功能快捷鍵說明
整塊向右縮排Ctrl + Shift + I選取程式碼區塊後使用
整塊向左縮排Ctrl + Shift + U取消縮排

二、取得執行檔所在目錄

AnsiString exeDir = ExtractFileDir(Application->ExeName);

常用於讀取設定檔、資源檔等相對路徑操作。

三、長迴圈中保持介面回應

for (int i = 0; i < 10000; ++i) {
    // 處理耗時運算
    Application->ProcessMessages(); // 讓訊息佇列得以處理,避免介面凍結
}

注意:過度使用可能導致重進入問題,建議搭配旗標控制或改用執行緒。

四、DLL 函數匯出與匯入標準宣告

匯出(DLL 端)

extern "C" __declspec(dllexport) __stdcall __int32 MyFunction(__int32 param);

匯入(應用程式端)

extern "C" __declspec(dllimport) __stdcall __int32 MyFunction(__int32 param);

建議使用巨集切換:

#ifdef BUILDING_MY_DLL
#define MY_API __declspec(dllexport)
#else
#define MY_API __declspec(dllimport)
#endif

extern "C" MY_API __stdcall __int32 MyFunction(__int32 param);

五、DLL 除錯設定

  1. 選單 Run → Parameters
  2. 在 Host Application 欄位填入呼叫該 DLL 的 .exe 完整路徑
  3. 設定中斷點後即可啟動除錯

六、呼叫 CHM 說明檔

ShellExecute(NULL, NULL, L"C:\\Help\\MyHelp.chm", NULL, NULL, SW_SHOWNORMAL);

可攜帶參數開啟特定主題:MyHelp.chm::/topic.html。

七、PowerBuilder ↔ C/C++ 資料類型對照表

Microsoft/Win32PB 16-bitPB 32-bit
BoolBooleanBoolean
Byte, CharCharChar
Char*Ref StringRef String
ColorrefUintUlong
DoubleDoubleDouble
DwordUintUlong
Handle / Hdc / Hfile / Hinstance / HwndUintUlong
IntIntInt
LongLongLong
Lparam / WparamUintUlong
Lpstr / LpcstrRef StringRef String
LpvoidRef StructRef Struct
ShortIntInt
StructureRef StructRef Struct
UintUintUint
WordIntLong

跨語言呼叫 DLL 時請嚴格對照,避免棧平衡錯誤或資料損毀。

結語

這些技巧涵蓋了 BCB 開發的常見場景,建議收藏備查。隨著專案遷移至現代 C++ (C++17/20) 與 FireMonkey 框架,部分 VCL 特有用法可能需調整,但核心 Win32 API 呼叫方式保持不變。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved