^_^,borland新闻组回答我的问题了!!!!!!,
回答得真详细,CSDN的大虾们要学习别人回答问题的风格啊!
"freeia" <freeia@163.com> wrote in message
news:3f42c690$1@newsgroups.borland.com...
> TIdMessage *pCurrentMsg = new TIdMessage; // it doesn't work!:(
TIdMessage is a component. Just like any other VCL component, TIdMessage's
constructor expects a TComponent parameter to specify its Owner.
> AnsiString strAttachmentFileName =
strAccountProfileDir + "\\" + pCurrentMsg->MessageParts->Items[j]->FileName;
>
pCurrentMsg->MessageParts->Items[j]->SaveToFile(strAttachmentFileName);
FileName and SaveToFile() are not members of TIdMessagePart. You need to
cast to TIdAttachment first.
Try this instead:
TIdMessage *pCurrentMsg = new TIdMessage(NULL);
try
{
if( IdPOP3->Retrieve(i, pCurrentMsg) )
{
for(int j=0; j < pCurrentMsg->MessageParts->Count; ++j )
{
TIdAttachment *attachment =
dynamic_cast<TIdAttachment*>(pCurrentMsg->MessageParts->Items[j]);
if( attachment )
attachment->SaveToFile(strAccountProfileDir + "\\" +
attachment->FileName);
}
}
}
__finally {
delete pCurrentMsg;
}
Gambit