提交 9516324c 编写于 作者: L ljc545w

接收消息后释放内存块

上级 60dda384
......@@ -125,7 +125,6 @@ SAFEARRAY* ReceiveMessage() {
else {
return NULL;
}
printf("%ws\n", message.wxid);
PopHeadMessage();
SAFEARRAY* psaValue;
vector<wstring> MessageInfoKey = {
......@@ -142,21 +141,34 @@ SAFEARRAY* ReceiveMessage() {
hr = SafeArrayPutElement(psaValue, keyIndex, &(_variant_t)MessageInfoKey[0].c_str());
keyIndex[0] = 0; keyIndex[1] = 1;
hr = SafeArrayPutElement(psaValue, keyIndex, &(_variant_t)message.type);
keyIndex[0] = 1; keyIndex[1] = 0;
hr = SafeArrayPutElement(psaValue, keyIndex, &(_variant_t)MessageInfoKey[1].c_str());
keyIndex[0] = 1; keyIndex[1] = 1;
hr = SafeArrayPutElement(psaValue, keyIndex, &(_variant_t)message.sender);
delete[] message.sender;
message.sender = NULL;
keyIndex[0] = 2; keyIndex[1] = 0;
hr = SafeArrayPutElement(psaValue, keyIndex, &(_variant_t)MessageInfoKey[2].c_str());
keyIndex[0] = 2; keyIndex[1] = 1;
hr = SafeArrayPutElement(psaValue, keyIndex, &(_variant_t)message.wxid);
delete[] message.wxid;
message.wxid = NULL;
keyIndex[0] = 3; keyIndex[1] = 0;
hr = SafeArrayPutElement(psaValue, keyIndex, &(_variant_t)MessageInfoKey[3].c_str());
keyIndex[0] = 3; keyIndex[1] = 1;
hr = SafeArrayPutElement(psaValue, keyIndex, &(_variant_t)message.message);
delete[] message.message;
message.message = NULL;
keyIndex[0] = 4; keyIndex[1] = 0;
hr = SafeArrayPutElement(psaValue, keyIndex, &(_variant_t)MessageInfoKey[4].c_str());
keyIndex[0] = 4; keyIndex[1] = 1;
hr = SafeArrayPutElement(psaValue, keyIndex, &(_variant_t)message.filepath);
delete[] message.filepath;
message.filepath = NULL;
return psaValue;
}
\ No newline at end of file
......@@ -76,6 +76,14 @@ DWORD GetHeadMessage() {
VOID PopHeadMessage() {
if (messageVector.size() == 0)
return;
delete[] messageVector[0].message;
messageVector[0].message = NULL;
delete[] messageVector[0].sender;
messageVector[0].sender = NULL;
delete[] messageVector[0].wxid;
messageVector[0].wxid = NULL;
delete[] messageVector[0].filepath;
messageVector[0].filepath = NULL;
vector<messageStruct>::iterator k = messageVector.begin();
messageVector.erase(k);
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册