[問題] 請教MFC中呼叫DLL return LPTSTR一問
請教各位前輩一些有關DLL的疑惑:
小弟最近因工作上的需要故一直想辦法將自己原本撰寫好的VC++ code
轉為DLL以便給其他案子使用
但是最近寫得頭昏轉向,導致自己觀念模糊掉了
請上來請教各位前輩以下問題:
1.小弟撰寫一個DLL內容包含一個以下的Function
LPTSTR CSpiderEntry::GetHtmlContent(LPCTSTR strUrl)
{
CString strRequest = pSpider->GetHttpContent(strUrl);//爬取網頁
wchar_t *pRequestSTR = new wchar_t[strRequest.GetLength() + 1];
_tcscpy(pRequestSTR,strRequest.GetBuffer(0));
strRequest.ReleaseBuffer();
return pRequestSTR;
}
以上是一個準備給外部Dialog所Call的Function主要回傳抓到的HTML code
問題在於,小弟 return 的型態為LPTSTR 故在Function裡面new了一個wchar_t*
並且return他
2.小弟準備了一個Dialog呼叫此Function並且依照以下的方式
LPTSTR strTempW = mSpiderEntry.GetHtmlContent(L"http://www.xxoo.com.tw/");
CString strHtml = strTempW;
delete strTempW;
OK~以上在Debug Mode方式皆正常,問題出在於Release會出現錯誤
而錯誤居然出現在 delete strTempW 這裡
小弟疑惑的是,當我在Function裡面new出來的指標在Dialog內去Delete是有問題的??
那我把delete strTempW拿掉則正常Run
但是不就產生內存的問題了嗎??
以上問題請教各位前輩
小弟的觀念哪裡出錯了
非常謝謝各位
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 115.43.156.107
→
07/28 23:50, , 1F
07/28 23:50, 1F
→
07/29 08:50, , 2F
07/29 08:50, 2F
→
07/29 09:01, , 3F
07/29 09:01, 3F
→
07/29 09:22, , 4F
07/29 09:22, 4F
→
07/29 09:22, , 5F
07/29 09:22, 5F
→
07/29 09:41, , 6F
07/29 09:41, 6F
→
07/29 09:58, , 7F
07/29 09:58, 7F
→
07/29 09:59, , 8F
07/29 09:59, 8F
→
07/29 10:48, , 9F
07/29 10:48, 9F
→
07/29 13:39, , 10F
07/29 13:39, 10F
→
07/29 13:40, , 11F
07/29 13:40, 11F
→
07/29 13:41, , 12F
07/29 13:41, 12F
→
07/29 13:42, , 13F
07/29 13:42, 13F
→
07/29 13:42, , 14F
07/29 13:42, 14F
→
07/29 13:43, , 15F
07/29 13:43, 15F
推
07/29 13:44, , 16F
07/29 13:44, 16F
→
07/29 13:45, , 17F
07/29 13:45, 17F
→
07/29 13:46, , 18F
07/29 13:46, 18F
→
07/29 13:47, , 19F
07/29 13:47, 19F
→
07/29 13:47, , 20F
07/29 13:47, 20F
→
07/29 13:50, , 21F
07/29 13:50, 21F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章