我目前正在將大量代碼從基於MFC的應用程序移植到DLL以實現客戶機品牌目的。引用的結構不會「粘住」
我遇到了一個不尋常的問題。的碼,該位是在兩個系統中是相同的:
// ...
CCommsProperties props;
pController->GetProperties(props);
if (props.handshake != HANDSHAKE_RTS_CTS)
{
props.handshake = HANDSHAKE_RTS_CTS;
pController->RefreshCommProperties(props);
}
// ... in another file:
void CControllerSI::RefreshCommProperties (const CCommsProperties& props)
{
// ... code ...
}
CommProperties是用於通訊的設置的包裝器等的串行化和P控制器的類型是ControllerSI這本身就是實際的通訊和應用程序之間的層組成。
在原始的MFC版本上,設置與RTS-CTS支持的握手,但在作爲DLL版本運行時,只要輸入該函數,它就會自動重置爲0。代碼完全包含在代碼的DLL部分中,所以沒有邊界。
原有和新的模塊之間的主要區別是,調用各種對話框已被刪除的變量和已刪除#包括
我已經失去了一個下午的這一點,我真的不希望失去更多...
爲什麼這個問題關閉爲「脫離主題」? – augustin 2010-12-09 03:50:09
我最初關閉了,但我不記得關閉它作爲題外話。也許是在他們對結束代碼進行細化之前,所有以前關閉的問題都被設置爲「off-topic」的默認值。 – 2010-12-09 13:17:10