Bug bei Drag'n'Drop aus Mozilla

German support forum

Moderators: Hacker, Stefan2, white

taurec
Junior Member
Junior Member
Posts: 49
Joined: 2004-10-10, 17:08 UTC
Location: Hamburg, Germany

Post by *taurec »

2SanskritFritz
Ja, schade
Eigentlich könnte er doch wieder aus der Versenkung auftauchen, nachdem sich sein/das "Problem" von selbst erledigt hat. ;)
User avatar
SanskritFritz
Power Member
Power Member
Posts: 3693
Joined: 2003-07-24, 09:25 UTC
Location: Budapest, Hungary

Post by *SanskritFritz »

Ich hab ihm schon geschrieben, er sagte, er liest manchmal mit, aber es gibt anderen namen, die ihn zu sehr an Norfie erinnern :lol:
I switched to Linux, bye and thanks for all the fish!
taurec
Junior Member
Junior Member
Posts: 49
Joined: 2004-10-10, 17:08 UTC
Location: Hamburg, Germany

Post by *taurec »

Da kann man dann nix machen. Evt. überlegt er sich ja nochmal.
User avatar
Tahattmeruh
Senior Member
Senior Member
Posts: 244
Joined: 2003-05-16, 13:35 UTC

Post by *Tahattmeruh »

Gibt es schon neue Informationen an was es liegt, daß es mit Mozilla und TC nicht funktioniert?
JoBa
Junior Member
Junior Member
Posts: 76
Joined: 2003-04-21, 08:57 UTC
Location: Bavaria

Post by *JoBa »

Für den Zweck hat Opera doch die Schnelldownload funktion.
W7 HP x64, Q6600@3GHz, 8GB, SB X-Fi, 3xMon 3240x1920 an Radeon HD 6950 #79922
-------------------------------------------------------
credendo vides
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50541
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Tahattmeruh wrote:Gibt es schon neue Informationen an was es liegt, daß es mit Mozilla und TC nicht funktioniert?
Ich habe mir das mal mit dem Debugger angesehen: Mozilla ruft die Drop-Methode des Total Commander auf. Wenn der TC nach den vorhandenen Formaten fragt, wird seltsamerweise nur das Format "Dateien" angeboten (CF_HDROP). Dieses wird normalerweise für auf der Platte vorhandene Dateien verwendet, nicht für Objekte, die üblicherweise als OLE-Objekte übergeben werden.

Total Commander erfragt nun den Ort der Datei(en), und erhält einen Dateinamen im TEMP-Verzeichnis. Während der ganzen .Drop-Funktion hat diese temporaere Datei 0 Bytes! Erst nach Verlassen der .Drop-Funktion bekommt sie die richtige Grösse! Es scheint, als würde Firefox die Datei zu spät anlegen. Da eigentlich per Drag&Drop erhaltene Objekte nur während der .Drop-Funktion Gültigkeit habe, ist dieses Verhalten umgekehrt als eigentlich erwartet.

Leider konnte ich deshalb bisher keine Möglichkeit finden, komplette Dateien von Mozilla Firefox zu erhalten. Was der Explorer da anders macht ist mir schleierhaft. :(
Author of Total Commander
https://www.ghisler.com
User avatar
Tahattmeruh
Senior Member
Senior Member
Posts: 244
Joined: 2003-05-16, 13:35 UTC

Post by *Tahattmeruh »

Wie kopiert TC die Datei aus dem Temp-Verzeichnis in den Zielordner?
Per COPY und dann die Temp Datei löschen? Oder per MOVE?

Meiner Erfahrung nach kann unter Windows eine geöffnete Datei
verschoben werden und von einem anderen Programm wird diese
trotzdem weitergeschrieben. Vielleicht arbeitet der Explorer so.
Ansonsten könnte ich einen Bug in Bugzilla posten.


Tahattmeruh
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50541
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Ja, per copy. Move könnte nur dann so funktionieren, wenn Quelle und Ziel auf demselben Laufwerk liegen, oder?
Author of Total Commander
https://www.ghisler.com
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50541
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Ich habe es nun mal mit MoveFile() innerhalb desselben Laufwerks versucht, selbes Problem: Es wird eine leere 0-Byte-Datei verschoben, und Firefox (0.93) legt die eigentliche Datei nochmals im TEMP-Verzeichnis an, und zwar erst, nachdem die .Drop-Funktion zurückgekehrt ist.

Dieses Verhalten ist auf jeden Fall falsch, gibt man doch in der Variablen dwEffect dem Absender zurück, was mit den Daten passieren soll:
You also pass the effect of this operation back to the source application through DoDragDrop, so the source application can clean up after the drag-and-drop operation is complete:

·Remove any source feedback that is currently displaying.
·Make any necessary changes to the data, for example, removing the data if the operation was a move.
Nach Ende der .Drop-Funktion sind die Daten also gar nicht mehr gültig...
Author of Total Commander
https://www.ghisler.com
Post Reply