-
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by xaromz,
15. Okt 2007
Hallo,
konntest Du. Jetzt weiß ich auch, was Du meinst. Ich werde mal sehen, ob ich das Befüllen des Records an eine bessere Position verschieben kann.
Gruß
xaromz
-
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by xaromz,
9. Okt 2007
Hallo,
leider kann ich Deine Ausführungen nicht ganz nachvollziehen.
Bei mir wird erst nach dem OnDrop die Datei mit Inhalt gefüllt, obwohl sie in OnDragEnter/OnDrop schon existiert (aber Null Byte groß ist).
Die Methode FillObjects wird in DragEnter immer ausgeführt. Da Thunderbird keine FileGroup verwendet, werden auch die Dateien exakt so wie in der Methode Drop eingelesen.
-
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by xaromz,
28. Sep 2007
Hallo,
ich habe gerade nochmal die Version 1.2 getestet. Auch mit dieser Version tritt das Problem auf, dass das Attachment erst nach dem Droppen wirklich erstellt wird. An den Routinen habe ich auch schon lange nichts wesentliches verändert.
Gruß
xaromz
-
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by xaromz,
24. Sep 2007
Hallo,
nein, das ist was anderes. Wenn ich nachschaue, ob die Datenstruktur vom Typ "CFSTR_FILECONTENTS" ist, sagt mir Windows: "Ja". Wenn ich dann die Daten abholen will, sagt mir Windows: "Fehler" (ich glaube irgendwas mir falscher Parameter). Noch habe ich keine Ahnung, was da los ist.
Gruß
xaromz
-
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by xaromz,
24. Sep 2007
Hallo,
ich habe jetzt nochmal Thunderbird installiert, und habe folgende Beobachtung gemacht: Thunderbird verwendet den Standard-Weg für das Droppen von Dateien, verhält sich also so wie die Shell. Deshalb kommt auch kein ProcessFileGroup (der andere Weg). Leider erstellt aber Thunderbird den Inhalt der gedroppted Datei erst, wenn die Drop-Aktion komplett abgeschlossen ist, also, nachdem die...
-
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by xaromz,
24. Sep 2007
Hallo,
Setz doch mal einen Breakpoint in der Methode "ProcessFileGroup" und schau, was passiert. In dieser Methode werden nämlich die temporären Dateien erstellt, und zwar unmittelber, bevor das Ereignis "OnDrop" ausgelöst wird.
Gruß
xaromz
-
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by xaromz,
22. Sep 2007
Hallo,
ich habe jetzt die Komponente nochmals überarbeitet.
Getestet habe ich:
Drag aus der Shell (Explorer) -> funktioniert
Drag einer URL aus Internet Explorer -> funktioniert
Drag einer URL aus Firefox -> funktioniert
Drag einer URL aus Opera -> funktioniert nicht
Drag einer Mail aus Windows Mail -> funktioniert
Drag eines Anhangs aus Windows Mail -> funktioniert
-
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by xaromz,
21. Sep 2007
Hallo,
wenn Du einfach jeden WideString durch einen AnsiString ersetzt, dann kann das ja nicht funktionieren; Du musst natürlich die API-Aufrufe auch anpassen. Im Anhang findest Du eine Version, die abhängig vom Compiler die WideStrings einbindet (ab Delphi 7) oder eben nicht. Schau doch mal, ob das hilft.
Gruß
xaromz
-
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by xaromz,
5. Sep 2007
Hallo,
Jetzt geht also auch Outlook. Es ist wohl so, dass Outlook einen etwas anderen Weg geht: es übergibt die Dateien als Stream. Das führt zu ein paar Änderungen in der Komponente:
Die Dateieigenschaft (TFileType) hat ein neues Feld 'ftTemporary'. Dieses wird gesetzt, wenn eine Datei aus einem Stream stammt
Dateien, deren FileType 'dsTemporary' enthält, werden erst beim Droppen...
-
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by xaromz,
30. Aug 2007
Hallo,
ich kann mir mal anschauen, was da von Outlook kommt, wenn man einen Anhang droppt. Dazu komme ich aber wahrscheinlich erst nächste Woche.
Was kommt denn von Thunderbird an? Der Dateiname? Welchen Pfad hat der dann?
Gruß
xaromz
-
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by xaromz,
9. Nov 2006
Hallo,
die überarbeitete Version im Anhang (v1.2) kann jetzt mit Shell, IE und Firefox umgehen (bei Opera kommt nicht mal ein Event :cry: ). In den Ereignissen wird jetzt jeweils ein Record übergeben, in dem die Art des Objekts steht (Shell oder URL). Je nach Quelle ist entweder die StringListe (Ansi + Unicode) oder die URL gefüllt.
Gruß
xaromz
-
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by xaromz,
9. Nov 2006
Hallo,
Ist mir auch schon aufgefallen. Opera z. B. verwendet wohl ein anders Format.
Das hat praktische Gründe. Ich müsste sonst in den Ereignissen noch mitteilen, was gedroppt wird (Dateien oder eine URL). Da ich keine Lust hatte, das überall mit einzubauen, gibt's eben nur entweder oder. Ich werde das aber noch überarbeiten, da z. B. ein Control keine zwei Shelldropper nutzen kann.
...
-
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by xaromz,
9. Nov 2006
Hallo,
Eine Nennung des Namens wäre schön, z. B. "Diese Software verwendet Routinen von..." oder so ähnlich.
Das ist mein Standard-Disclaimer und bei dieser Komponente eigentlich Overkill. Du kannst also die Nennung auch weglassen.
Gruß
xaromz
-
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by xaromz,
9. Nov 2006
Hallo,
die Komponente kann bisher nur mit dem Format "CF_HDROP" umgehen, welches die Shell verwendet. Der IE nutzt aber das Format "CFSTR_INETURL".
Natürlich ist es kein großes Problem, die Komponente so abzuändern, dass sie auf dieses Format reagiert. Ich hab da mal was vorbereitet...
Die Komponente besitzt jetzt eine neue Eigenschaft "DropSource". Darüber kann man einstellen, ob die...
-
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by xaromz,
3. Nov 2006
Hallo,
Freut mich, dass es jetzt klappt.
Mach das.
Gruß
xaromz
-
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by xaromz,
31. Okt 2006
Hallo,
der Fehler tritt bei mir ebenfalls auf.
Versuch doch mal die angehängte Version.
Gruß
xaromz
-
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by xaromz,
30. Okt 2006
Hallo,
Das hört man gerne.
Das hört man nicht so gerne.
Ich habe die Komponente nur in Delphi 2006 getestet, da funktioniert sie einwandfrei. Sie ist eigentlich auch so konstruiert, dass sie in der IDE nicht aktiv wird. Ich werde mir das noch mal ansehen.
Wahrscheinlich nicht, aber ausschließen kann ich es nicht. Tritt der Fehler sofort auf, oder erst, nachdem Du das Programm einmal...
-
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by xaromz,
29. Okt 2006
Hallo,
so, jetzt kann die Komponente auch mit mehreren Controls umgehen.
Das Control, für welches das Ereignis gerade gilt, steckt im "Sender".
Die Exception sollte jetzt nicht mehr kommen. Leider habe ich es aber nicht hinbekommen, ein Control abzumelden, bevor es sein Handle verliert. Deshalb kann ich nicht garantieren, dass es hier kein Ressourcenleck gibt. Aber eigentlich sollte...
-
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by xaromz,
28. Okt 2006
Hallo,
Dazu musst Du die Komponente etwas umbauen. Schau Dir mal die beiden Methoden "Enable" und "Disable" an. Dort wird das Control als DropTarget registriert bzw. abgemeldet. Wenn Du mehrere Controls hast, musst Du eben eine Liste verwalten. Vielleicht habe ich am Sonntag etwas Zeit, das Ganze umzuschreiben.
Das liegt daran, dass beim Zerstören der Komponente das Control wieder...
-
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by xaromz,
28. Okt 2006
Hallo,
weil ich sowas schon lange machen wollte, habe ich gleich eine Komponente gebastelt, die das Droppen von Dateien behandelt.
Gruß
xaromz
-
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by xaromz,
28. Okt 2006
Hallo,
vielleicht kannst Du Dir mit IDropTargetHelper was basteln.
Oder noch einfacher: IDropTarget:
unit Unit1;
interface
uses