AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Drag&Drop aus neuem Outlook

Ein Thema von stalkingwolf · begonnen am 17. Mär 2025 · letzter Beitrag vom 25. Mär 2025
Antwort Antwort
stalkingwolf

Registriert seit: 6. Mai 2011
549 Beiträge
 
#1

Drag&Drop aus neuem Outlook

  Alt 17. Mär 2025, 15:31
Moin,

leider bekommen wir immer mehr Anfragen wegen Drag&Drop aus dem neuen Outlook.
Die alte Version funktioniert leider gar nicht mehr.
Hat sich jemand damit jemand schon beschäftigt? Im Netz habe ich leider nichts gefunden.

Wenn ich den Drag&Drop auf dem Desktop ablege, dann bekommt man mittlerweile eine .eml
Das nenne ich ja schon man fortschrittlich von Microsoft.
Die Datei kann unser Programm dann auch einwandfrei verarbeiten.

Nun kann ich unseren Kunden natürlich den Umweg über den Desktop erklären, aber wie Anwender so sind "Ging früher warum nicht? Nutze doch immer noch Outlook wie früher".

ChatGPT erwähnt das der neue Austausch asynchron ist. Beim ablegen auf den Desktop fragt auch Outlook immer ob man die Datei beibehalten will und legt erst beim Klick auf Bestätigen die Datei ab.

Gruß Sven
  Mit Zitat antworten Zitat
stalkingwolf

Registriert seit: 6. Mai 2011
549 Beiträge
 
#2

AW: Drag&Drop aus neuem Outlook

  Alt 17. Mär 2025, 17:44
Mal etwas rumgespielt und man erhält folgende Formate :

- DragContext
- DragImageBits
- chromium/x-renderer-taint
- CF_HDROP
- Chromium Web Custom MIME Data Format

CF_HDROP bekomme ich nicht ausgelesen. Was normalerweise sonst immer funktioniert.

DataObj.GetData(FmtEtc, Medium)
ist nicht S_OK

Code:
procedure GetFileListFromObj(const DataObj: IDataObject; FileList: TStringList);
var
  FmtEtc: TFormatEtc;                  // specifies required data format
  Medium: TStgMedium;                  // storage medium containing file list
  DroppedFileCount: Integer;           // number of dropped files
  Count,I: Integer;                    // loops thru dropped files
  FileNameLength: Integer;             // length of a dropped file name
  FileName: pchar;                     // name of a dropped file
begin

    FmtEtc.cfFormat  := CF_HDROP;
    FmtEtc.ptd       := nil;
    FmtEtc.dwAspect  := DVASPECT_CONTENT;
    FmtEtc.lindex    := -1;
    FmtEtc.tymed     := TYMED_HGLOBAL;

    if DataObj.GetData(FmtEtc, Medium) = S_OK then begin
        try
            OleCheck(DataObj.GetData(FmtEtc, Medium));
            try
                DroppedFileCount := DragQueryFile(Medium.hGlobal, $FFFFFFFF, nil, 255);

                for i := 0 to (DroppedFileCount - 1) do begin
                    FileNameLength := DragQueryFile(Medium.hGlobal, i , nil, 0) + 1;
                    FileName:= StrAlloc(FileNameLength);
                    DragQueryFile(Medium.hGlobal,i , FileName, FileNameLength);
                    FileList.Append( StrPas(FileName));
                    StrDispose(FileName);
                end;
            finally
                DragFinish(Medium.hGlobal);
            end;
        finally
            ReleaseStgMedium(Medium);
        end;
    end;
end;
Ein paar im Netz vermuten die Daten sind in Chromium Web Custom MIME Data Format.
Aber das ist nur immer um die 1500 Zeichen. Vermutlich nur Metadaten. Aber ich komme an die Infos nicht ran.
  Mit Zitat antworten Zitat
Redeemer

Registriert seit: 19. Jan 2009
Ort: Kirchlinteln (LK Verden)
1.114 Beiträge
 
Delphi 2009 Professional
 
#3

AW: Drag&Drop aus neuem Outlook

  Alt 19. Mär 2025, 17:18
Drag and Drop in mein Programm funktioniert bei uns übrigens auch bei aktuellen Office-365-Outlook (classic) nicht mehr (vorher, in Outlook 2016 MAK/C2R, funktionierten E-Mails und Anhänge im .eml-Format).

Ich hoffe sehr, dass niemand Outlook (new) verwendet versucht zu verwenden.

Wenn ich den Drag&Drop auf dem Desktop ablege, dann bekommt man mittlerweile eine .eml
Das war schon immer so.
Janni
2005 PE, 2009 PA, XE2 PA
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.336 Beiträge
 
Delphi 12 Athens
 
#4

AW: Drag&Drop aus neuem Outlook

  Alt 19. Mär 2025, 17:36
Outlook hatte früher eine .MSG und keine .EML geliefert.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
HolgerX

Registriert seit: 10. Apr 2006
Ort: Leverkusen
981 Beiträge
 
Delphi 6 Professional
 
#5

AW: Drag&Drop aus neuem Outlook

  Alt 20. Mär 2025, 06:12
Hmm..

Wenn man ein bisschen googled bekommt man heraus, das Microsoft das Drag&Drop von Outlook 365 damals einfach nicht eingebaut hatte.
In den letzten Jahren wurde 'Häpchenweise' etwas eingebaut, was aber nur ähnlich funktioniert.
Ein wirklichen D&D ist es anscheinend nicht.

MS will wohl, dass ihr keine Mails/Anhänge so einfach aus ihrem Universum (Outlook "Cloud") heraus bekommt!
(Ja ich Verwende Delphi 6 Pro und will NICHT wechseln!)
  Mit Zitat antworten Zitat
jbg

Registriert seit: 12. Jun 2002
3.485 Beiträge
 
Delphi 10.1 Berlin Professional
 
#6

AW: Drag&Drop aus neuem Outlook

  Alt 20. Mär 2025, 20:22
Microsoft habe beim neuen Outlook nicht nur beim Drag&Drop vom MSG-Format zum EML-Format gewechselt, sondern nutzt nun asynchrones Drag&Drop, das so gut wie keine (ältere) Anwendung implementiert.

Die JVCL-Komponente TJvDropTarget wurde im Dezember um das asynchrone Drag&Drop erweitert. Der entsprechende Git Commit ist:
https://github.com/project-jedi/jvcl...795e4f7ddc067a

Ein aufs wesentliche reduziertes Beispiel mit der TJvDragTarget Komponente:
Delphi-Quellcode:
procedure TForm1.JvDropTargetDragAccept(Sender: TJvDropTarget; var Accept: Boolean);
begin
  Accept := (Sender.GetFilenames(nil) > 0) or // CF_HDROP
            (Sender.GetFileDescrCount > 0) or // CF_FILEDESCRIPTOR
            Sender.IsAsyncHDrop // "Neues Outlook" (WebApp) - Gültigkeit muss im OnDragDrop geprüft werden
end;

procedure TForm1.JvDropTargetDragDrop(Sender: TJvDropTarget;
  var Effect: TJvDropEffect; Shift: TShiftState; X, Y: Integer);
var
  List: TStrings;
begin
  // ...
  // GetFilenames bei Sender.IsAsyncHDrop = True funktioniert erst im OnDragDrop
  Sender.GetFilenames(List);
  // Dateien auf *.eml Suffix prüfen ...
end;

Geändert von jbg (20. Mär 2025 um 20:31 Uhr)
  Mit Zitat antworten Zitat
Redeemer

Registriert seit: 19. Jan 2009
Ort: Kirchlinteln (LK Verden)
1.114 Beiträge
 
Delphi 2009 Professional
 
#7

AW: Drag&Drop aus neuem Outlook

  Alt 21. Mär 2025, 12:46
Damit kriege ich weder aus Outlook (classic) 365 noch Outlook 2016 irgendwas (weder Mails noch Anhänge). Dateien aus dem Explorer nimmt er. Ich habe keinen Filter drin, denn Outlook (classic) 365 liefert immer noch MSG. Mein bisheriges Outlook-Drag-and-Drop aus der Melander-Suite geht aber mit Outlook (classic) 365 nicht.

Wo ist eigentlich die vollständige Dokumentation von Jedi? Ich arbeite gerade das erste Mal damit.
Janni
2005 PE, 2009 PA, XE2 PA
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:23 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