![]() |
File aus TIDAttachment Löschen ?
Hallo zusammen,
ich versände mit meinem Projekt Mails mit mehreren Anhängen. Die Anhänge lade ich mir per TIDAttachment und schreibe den Filenamen in eine ListView.
Delphi-Quellcode:
Wenn ich jetzt aber ein File nicht mit senden möchte, dachte ich mir, das ich es einfach aus der TIDAttachment Lösche.
procedure TMailSend.ButtonLadenClick(Sender: TObject);
begin if (Opendialog1.Execute) then begin TiDAttachment.Create(MsgSend.MessageParts, Opendialog1.FileName); ListviewAnhang.Items.Add.Caption := ExtractFilename(Opendialog1.FileName); end; end; Leider fällt mir keine möglichkeit ein die Attachmenst einzeln zu löschen und nicht alle. Wie kann ich so etwas machen, das wenn ich im ListView ein FileName anklicke das richtige File aus dem Attachments gelöscht wird ?
Delphi-Quellcode:
procedure TMailSend.ListViewAnhangKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState); begin if key = VK_DELETE then if ListViewAnhang.Selected <> nil then begin // hier das Attachment Löschen ???????? ListViewAnhang.DeleteSelected; {Anhang Löschen} end else exit; end; |
Re: File aus TIDAttachment Löschen ?
Auf die einzelnen Attachments kannst du mit
Delphi-Quellcode:
zugreifen. :)
(*Name der Instanz von TIdMessage*).MessageParts.Items
Um die Datei aus der Attachmentliste zu löschen, reicht es, das Objekt freizugeben.
Delphi-Quellcode:
for i := 0 to (*Name der Instanz von TIdMessage*).MessageParts.Count-1 do
if ((*Name der Instanz von TIdMessage*).MessageParts.Items[i].StoredPathName = 'Pfad\zur\Datei') then (*Name der Instanz von TIdMessage*).MessageParts.Items[i].Free; |
Re: File aus TIDAttachment Löschen ?
Danke für die schnelle Antwort !
jetzt habe ich nur das Problem wenn ich die Procedure aufrufe, das ich immer wenn ich mehr als zwei Files lade folgende Fehlermeldung erscheint. Zitat:
hier mal die Procedure, in Listview steht der Pfad zum File.
Delphi-Quellcode:
procedure TMailSend.ListViewAnhangKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState); Var i: integer; begin if key = VK_DELETE then if ListViewAnhang.Selected <> nil then begin for i := 0 to pred(MsgSend.MessageParts.Count) do begin if (MsgSend.MessageParts.Items[i].StoredPathName = ListViewAnhang.Selected.Caption) then MsgSend.MessageParts.Items[i].Free; end; ListViewAnhang.DeleteSelected; {Anhang Löschen} end else exit; end; |
Re: File aus TIDAttachment Löschen ?
Erledigt !
ich hatte das -1 vergessen. Danke für die Hilfe. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:26 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz