我從C++ DLL中導出了一個方法,然後從VB.net窗體應用程序調用它。 C++方法目前沒有返回值(void),但我想改進它並返回一個代表一系列錯誤代碼的int值。 (如果一切順利,我打算返回零)。在C++中定義錯誤代碼常量的地方
在哪裏以及如何定義這些錯誤代碼的最佳位置?
我應該做我的CPP文件的頂部如下:
#define ERR_NEGATIVE_CELL_SIZE 1
#define ERR_INVALID_FILE_PATH 2
etc
的VB.net應用也將定義這些相同的代碼,然後顯示用戶界面消息,基於代碼的用戶。
很明顯,我寧願在DLL中引發異常,並在VB.net中捕獲它(以及相關的異常消息),但這似乎不可能使用extern「C」__declspec(dllexport)方法。
很高興聽到其他設計模式。我還計劃通過C++控制檯可執行文件公開DLL方法,因此將錯誤消息一次存儲在DLL中並將它們提供給控制檯和UI應用程序是非常理想的。