[問題] BCB調用CreateFileMapping 資料重複

作者: peacesb (~煩~)   2014-05-27 04:01:18
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
C++ builder 6.0
MFC
問題(Question):
在MFC試過 均為MFC介面時,傳出 接收資料不會重複
但在BCB中,傳出為BCB,接收為MFC,若原字串為"123"
若反覆送出 接收時會變成"123123123..."累加下去
不知道該如何解決這現象?
程式碼(Code):(請善用置底文網頁, 記得排版)
BCB程式碼為:
m_hMapFile =
CreateFileMapping( (HANDLE)0xFFFFFFFF,NULL,PAGE_READWRITE,0,1024,_T("Test"));
LPTSTR lpMapAddr =
(LPTSTR)MapViewOfFile(m_hMapFile,FILE_MAP_ALL_ACCESS,0,0,0);
wchar_t* strTest1 = L"123";
const wchar_t* strTest;
strTest =(const wchar_t* ) strTest1;
wcscat((wchar_t *)lpMapAddr,strTest);
MFC端:
m_hMapFile =
OpenFileMapping(FILE_MAP_ALL_ACCESS,FALSE,_T("Test"));
if (m_hMapFile)
{
lpMapAddr =
(LPTSTR)MapViewOfFile(m_hMapFile,FILE_MAP_ALL_ACCESS,0,0,0);
OutputDebugString(lpMapAddr);
}
補充說明(Supplement):
另外想請問UnmapViewOfFile()該程式碼是要在CloseHandle()後使用嗎?
而CloseHandle()可以在接收端使用?
先在這邊謝謝各位先進了
作者: sos0214 (kaleidoscope)   2014-05-27 11:45:00

Links booklink

Contact Us: admin [ a t ] ucptt.com