![]() |
AW: Drag&Drop Outlook
Wir nutzen die DropMaster-Komponente von Rize.
Delphi-Quellcode:
Dafür hatte ich mir mal eine Prozedur geschieben, um den Drag-Vorgang zu initialisieren.
procedure TMyDragSource.ExecuteFileDrag(FileSaveName, AlternateFileName: array of string);
var SL: TStringList; i: Integer; Data: AnsiString; begin SL := TStringList.Create; try CustomFormatData.Clear; for i := 0 to High(FileSaveName) do if (i <= High(AlternateFileName)) and (AlternateFileName[i] <> '') then SL.Add(ExtractFileName(AlternateFileName[i])) else SL.Add(ExtractFileName(FileSaveName[i])); CustomFormatData.AddFormat(DMFileGroupDescriptorFormatName, FileGroupDescriptorFromFileList('', SL)); for i := 0 to High(FileSaveName) do begin with TFileStream.Create(FileSaveName[i], fmOpenRead or fmShareDenyWrite) do try SetLength(Data, Size); if Data <> '' then ReadBuffer(Data[1], Size); finally Free; end; CustomFormatData.AddFormatEx('FileContents', Data, TYMED_HGLOBAL, i); CustomFormatData.Items[CustomFormatData.Count - 1].AllowTrailingNull := False; end; Execute; finally SL.Free; end; end; Das Drag und Drop der WinAPI kennt mehrere Modi, einmal Dateiname als Quelle und anderseits ein Stream als Quelle, mit zusätzlichem Namen. Das Prinzip sollte sich auch mit anderen D&D-Komponenten umsetzen lassen. Mein einziges Problem war, dass das Drag&Drop der VCL nicht mit dem des Windows kompatibel sind und ich nicht gleichzeitig in einer Gridkomponente Zeilen per Delphi-Drag&Drop umsortieren kann und gleichzeitig das auch als Drag-Quelle nach Extern nutzen kann. Als Drop-Ziel ist beides zusammen möglich. |
AW: Drag&Drop Outlook
Ich würde die Datei auch kurzzeitig kopieren/umbenennen. Umbenennen ist von der Größe unabhängig.
Kleiner Hinweis noch: Outlook benötigt nach dem Hinzufügen des Anhangs die Datei selbst nicht mehr. Sie kann also entsprechend schnell zurückbenannt bzw. gelöscht werden und die Mail wird trotzdem richtig verschickt. Wenn himitsus Lösung wie gewünscht funktioniert, wäre das vorzuziehen. |
AW: Drag&Drop Outlook
Hallo zusammen,
also ich habe es gemacht wie Holger und Redeemer es vorgeschlagen haben. Funktioniert perfekt. Danke. LG Mirko |
AW: Drag&Drop Outlook
Zitat:
Vielleicht noch ein anderer Ansatz. Du schreibst, dass du eine neue Email erstellst, um dann Anhänge reinzuziehen. Kann man es nicht auch so machen, dass du die Email gleich mit Anhängen erstellst? So habe ich das gemacht in einer Anwendung. |
AW: Drag&Drop Outlook
Hallo,
ich schließe mich der Frage an. Habe auch ein Problem mit dem Darg Drop aus Outlook. Ich arbeite mit Delphi 10. Beim DragDrop aus Outlook komt ein OLE-Fehler 8004011B. Ich ziehe mir per DragDrop den Inhalt einer Mail in ein DBText. In der Version Delphi 2010 mit einer älteren DragDrop Version funktioniert es wie es soll. Ich habe lange gesucht und nichts gefunden. Vielleicht weiß jemand was der Fehler ist? Danke schonmal im Voraus :) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:04 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