C++ 類別包含建構函式、解構函式、DoSomething 等關鍵函式。需將每個函式包裝為等價 C 函式。核心要點:
__stdcall 呼叫慣例。前文知簡單調用 MSVC DLL 無格式 C 函式很麻煩,放棄嘗試則較易——讓 Borland 調用 Microsoft DLL 最簡單辦法是 DLL 導出無格式、無修飾、__stdcall C 函式。Borland/MSVC 對 __cdecl 處理不同,通常對 __stdcall 也不同(MSVC 修飾),但可加 .DEF 檔阻止修飾。new_CFoo 回傳指向 CFoo 物件的指標,BCB 呼叫端必須本地保存。雖 BCB 不能調用 MSVC DLL 導出類別的成員函式,但能儲存物件位址。new_CFoo 回傳 CFoo*,BCB 只能儲存並傳回 DLL,不可解構(不會按預期工作)。CFoo_DoSomething 以 reinterpret_cast 將指標還原為 CFoo* 呼叫成員函式(見 reinterpret_cast 即知處理醜陋代碼)。delete_CFoo 參數。封裝 DLL 刪除物件至關重要,不可在 BCB 對指標呼叫 delete。此模式實現跨編譯器類別介面互操作,關鍵在扁平化為 C 風格介面與統一 __stdcall 慣例。