使用Indy控件中的IdMessage组件发送email时,怎样删除已添加的附件? (100分)

  • 主题发起人 主题发起人 minstrel
  • 开始时间 开始时间
M

minstrel

Unregistered / Unconfirmed
GUEST, unregistred user!
我看了Indy控件中的例子(I9D6_Demos_24Nov02)如下:
//添加附件
procedure TfrmMessageEditor.btnAttachmentClick(Sender: TObject);
begin
if OpenDialog1.Execute then
begin
TIdAttachment.Create(IdMsgSend.MessageParts, OpenDialog1.FileName);
ResetAttachmentListView;
end;
end;

procedure TfrmMessageEditor.ResetAttachmentListView;
var li: TListItem;
idx: Integer;
begin
lvFiles.Items.Clear;
for idx := 0 to Pred(IdMsgSend.MessageParts.Count) do
begin
li := lvFiles.Items.Add;
if IdMsgSend.MessageParts.Items[idx] is TIdAttachment then
begin
li.ImageIndex := 0;
li.Caption := TIdAttachment(IdMsgSend.MessageParts.Items[idx]).Filename;
li.SubItems.Add(TIdAttachment(IdMsgSend.MessageParts.Items[idx]).ContentType);
end
else
begin
li.ImageIndex := 1;
li.Caption := IdMsgSend.MessageParts.Items[idx].ContentType;
end;
end;

怎样删除已经添加的附件了????盼望源代码,不胜感激!!
 
难道没有人会吗???
 
在发送前:

idMessage1.MessageParts.Items[n].Free;

即可

n----指明第几个附件
 
同意楼上的,如果用了Listview组件可以改为:
idMessage1.MessageParts.Items[ListView1.Selected.Index].Free;
 
多人接受答案了。
 
后退
顶部