[问题] 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