Package DragDrop Nutzen [gelöst]

Rund um die LCL und andere Komponenten
Antworten
Benutzeravatar
corpsman
Lazarusforum e. V.
Beiträge: 1498
Registriert: Sa 28. Feb 2009, 08:54
OS, Lazarus, FPC: Linux Mint Mate, Lazarus GIT Head, FPC 3.0
CPU-Target: 64Bit
Wohnort: Stuttgart
Kontaktdaten:

Package DragDrop Nutzen [gelöst]

Beitrag von corpsman »

Hallo Zusammen,

ich habe mir schon vor Ewigkeiten einen Plattformunabhängigen Suchendialog gebastelt. Dieser Listet mir Dateien auf meinem System auf

Da war es dann auch Möglich im Suchergebnis (TListbox) einzelne Zeilen zu Markieren und dann in ein anderes Programm zu draggen, z.B. nach Notepad++ oder via Filecopy in ein anderes Verzeichnis

Doch meine "NativeDragDrop" Komponente die ich von unbekannt her hatte geht nun nicht mehr Compiliert mit irgendwelchen Abstrusen meldungen nicht mehr unter dem neuesten lazaurs.

Der Online package Manager schlägt mit das Packet "DragDrop" vor, das habe ich mal fix installiert und da gibt es auch eine TDropFileSource, doch irgendwie finde ich keine Examples,
Kann mir hier jemand einen Tipp geben wo ich da was finden kann, google will mir diesmal irgendwie nicht helfen und im package ist keine HP hinterlegt...
Zuletzt geändert von corpsman am Di 3. Nov 2020, 12:29, insgesamt 1-mal geändert.
--
Just try it

Benutzeravatar
fliegermichl
Lazarusforum e. V.
Beiträge: 1435
Registriert: Do 9. Jun 2011, 09:42
OS, Lazarus, FPC: Lazarus Fixes FPC Stable
CPU-Target: 32/64Bit
Wohnort: Echzell

Re: Package DragDrop Nutzen

Beitrag von fliegermichl »

Hallo,

Bei der Package Beschreibung steht "Allows COM based Drag Drop and integrate App in Windows clipboard"
Da vermute ich mal eine Windows only Lösung. Die COM based Drag and Drop Integration ist auch beim VirtualTreeview integriert. Vielleicht findet sich da ein Beispiel.

Gruß
Michael

Benutzeravatar
corpsman
Lazarusforum e. V.
Beiträge: 1498
Registriert: Sa 28. Feb 2009, 08:54
OS, Lazarus, FPC: Linux Mint Mate, Lazarus GIT Head, FPC 3.0
CPU-Target: 64Bit
Wohnort: Stuttgart
Kontaktdaten:

Re: Package DragDrop Nutzen

Beitrag von corpsman »

Ja ich hatte befürchtet das es Windows Only ist, damit für mich eh gestorben.

Kennt jemand ne Variante die unter Win und Linux funktioniert ?
--
Just try it

wp_xyz
Beiträge: 4885
Registriert: Fr 8. Apr 2011, 09:01

Re: Package DragDrop Nutzen

Beitrag von wp_xyz »

corpsman hat geschrieben:
Di 3. Nov 2020, 11:36
da gibt es auch eine TDropFileSource, doch irgendwie finde ich keine Examples,
Auch wenn es für dich nicht mehr aktuell ist: Solange du den OPM nicht speziell konfiguriert hast (Options > Folders), speichert OPM seine Downloads und Installationen in dein Lazarus-Konfigurations-Verzeichnis, das kannst du im Lazarus über "View" > "IDE Internals" > "About IDE" beim Eintrag zu "Primary Config Directory" abfragen, und dort findest du dann auch einige Beispiele zu DragDrop.

Ich hab's mit Laz 2.0.10 ausprobiert, bin aber nicht weit gekommen: Beim DragAndDrop auf den Explorer kommt es zu einer Exception tief aus dem System. Vielleicht liest six1 das, der Melanders DragAndDropSuite auf Lazarus portiert hat (https://forum.lazarus.freepascal.org/in ... 64283.html).

Benutzeravatar
corpsman
Lazarusforum e. V.
Beiträge: 1498
Registriert: Sa 28. Feb 2009, 08:54
OS, Lazarus, FPC: Linux Mint Mate, Lazarus GIT Head, FPC 3.0
CPU-Target: 64Bit
Wohnort: Stuttgart
Kontaktdaten:

Re: Package DragDrop Nutzen

Beitrag von corpsman »

hehe,

ich hab mir nun mal meine drag&drop komponente genauer angesehen und "ergoogelt"

die Stammt von hier: https://github.com/prof7bit/NativeDragDrop

hab nun auch den fehler "fixen" können und ein PullRequest gemacht (zum ersten mal 8) ) bin mal gespannt was draus wird.
--
Just try it

wp_xyz
Beiträge: 4885
Registriert: Fr 8. Apr 2011, 09:01

Re: Package DragDrop Nutzen

Beitrag von wp_xyz »

fliegermichl hat geschrieben:
Di 3. Nov 2020, 11:47
Die COM based Drag and Drop Integration ist auch beim VirtualTreeview integriert. Vielleicht findet sich da ein Beispiel.
Bist du sicher? Der Inhalt der DragAndDrop Methode von TBaseVitualTree ist mit einem {$IFDEF Windows} versehen. Und das Include-File "olemethods.inc" führt bei Nicht-Windows-Betriebssystemen zu einer Datei "dummyolemethods.inc", in der alles leer ist. Genauso beim Include "vtdragmanager.inc".

Benutzeravatar
fliegermichl
Lazarusforum e. V.
Beiträge: 1435
Registriert: Do 9. Jun 2011, 09:42
OS, Lazarus, FPC: Lazarus Fixes FPC Stable
CPU-Target: 32/64Bit
Wohnort: Echzell

Re: Package DragDrop Nutzen [gelöst]

Beitrag von fliegermichl »

Ich meinte OLE Drag and Drop. Bei VirtualTreeview ist unter Demos ein Drag and Drop Beispiel. Damit konnte ich auch eine Datei aus dem Windows Explorer in den Tree ziehen.
Allerdings zeigt er bei dem Eintrag dann "Unknown Source Control""

Benutzeravatar
six1
Beiträge: 788
Registriert: Do 1. Jul 2010, 19:01

Re: Package DragDrop Nutzen [gelöst]

Beitrag von six1 »

zu "Fork of Melanders Drag&Drop Suite":
ich habe Melanders Komponenten damals für Lazarus angepasst.
https://forum.lazarus.freepascal.org/in ... #msg264283

Die sind NUR WINDOWS!
Gruß, Michael

wp_xyz
Beiträge: 4885
Registriert: Fr 8. Apr 2011, 09:01

Re: Package DragDrop Nutzen [gelöst]

Beitrag von wp_xyz »

@six1: Hast du die Komponenten kürzlich mit einem aktuellen Lazarus 2.0.10 / FPC 3.2.0 getestet? Stürzen bei dir die Demoprogramme, die auf dem Explorer droppen, ab, genauso wie bei mir? Es wäre schön, wenn du das beheben könntest, denn immerhin wird das Package über den OPM verteilt.

Benutzeravatar
six1
Beiträge: 788
Registriert: Do 1. Jul 2010, 19:01

Re: Package DragDrop Nutzen [gelöst]

Beitrag von six1 »

Hi wp_xyz,
ich habe den Bug gefunden.
Werde die Änderung an GetMem weitergeben, so dass er das in OPM aktualisiert.

Ändere bitte in Zeile 921 DropSource.pas in:
DropResult := DoDragDrop(Self, Self, AllowedEffects, lpdword(@DropEffect));

Rufe danach das Paket DragDropLazarus auf und kompiliere es neu.
Damit läuft es dann.

Du kannst dir das gefixte Pake auch hier herunterladen: http://www.mediafire.com/file/6qsx6uhb0 ... p.zip/file
Ich habe das "Mixed Demo" gleich noch für LCL Scaling angepasst.
Das Paket ging auch an GetMem, der es im Download des OPM aktualisieren wird.
Gruß, Michael

wp_xyz
Beiträge: 4885
Registriert: Fr 8. Apr 2011, 09:01

Re: Package DragDrop Nutzen [gelöst]

Beitrag von wp_xyz »

Danke, funktioniert nun.

Benutzeravatar
six1
Beiträge: 788
Registriert: Do 1. Jul 2010, 19:01

Re: Package DragDrop Nutzen [gelöst]

Beitrag von six1 »

GetMem hat mich gerade darüber informiert, dass er OPM Update durchgeführt hat.
Gruß, Michael

Antworten