ftp失败后ftp_connect还有是一个有效指吗?
试试这个
CInternetSession *inet_session = NULL;
CFtpConnection *ftp_connect = NULL;
inet_session = new CInternetSession();
if (!inet_session)
return -1;
try
{
ftp_connect=inet_session->GetFtpConnection(m_ServerIp,
m_UserId,m_Password,ftp_port,TRUE);
}
catch(...)
{
if (ftp_connect)
delete ftp_connect;
inet_session->Close();
delete inet_session;
return -1;
}
... ...
试试这个
CInternetSession *inet_session = NULL;
CFtpConnection *ftp_connect = NULL;
inet_session = new CInternetSession();
if (!inet_session)
return -1;
try
{
ftp_connect=inet_session->GetFtpConnection(m_ServerIp,
m_UserId,m_Password,ftp_port,TRUE);
}
catch(...)
{
if (ftp_connect)
delete ftp_connect;
inet_session->Close();
delete inet_session;
return -1;
}
... ...
解决方案 »
- 关闭对话框时怎么有“崩”的声音
- 求助:利用CInternetSession读取网页问题
- 打印预览的时候为什么“前一页”按钮和“打印”按钮是无效的...?
- 求助有关ListControl的删除
- 请教:如何将基类View 改成 FormView?
- 200分求一解,实现这个功能用GDI+好还是DirectX好?
- 怎么实现Dll中调用主程序的函数
- C++的风格与技巧(1) - 使用标准库函数编写简练程序
- VC++的MFC中的编辑框内容是字符队列,如何把字符赋给数组并且转化为float型的数组?
- 一个有意思的问题:如何用VC实现像在vb设计环境中动态拖放修改控件,高分相送
- 为什么我用CListCtrl::InsertItem,总返回-1????
- int* p和 int *p,p的类型是一样的吧?
谢谢,你只是检查了ftp_connect是否是一个有效指,但主要问题内存泄漏没有解决。
LPCTSTR pstrUserName /* = NULL */, LPCTSTR pstrPassword /* = NULL */,
INTERNET_PORT nPort /* = INTERNET_INVALID_PORT_NUMBER */,
BOOL bPassive /* = FALSE */)
{
ASSERT(AfxIsValidString(pstrServer)); CFtpConnection* pReturn = new CFtpConnection(this,
pstrServer, pstrUserName, pstrPassword, m_dwContext,
nPort, bPassive);
return pReturn;
}//GetFtpConnection中new的CFtpConnection我如何释放?
否则还是会有告警