DropFiles / TForm

Rund um die LCL und andere Komponenten
Antworten
Benutzeravatar
Lincoln Six Echo
Beiträge: 138
Registriert: Di 26. Aug 2014, 16:42
OS, Lazarus, FPC: Win10, Debian
CPU-Target: I7/I9/Q9650/u.a.
Wohnort: Hamburg

DropFiles / TForm

Beitrag von Lincoln Six Echo »

Bei mir funktioniert der DropFiles-Event eines TForm weder unter Linux noxh unter Windows.

Es wird zwar der richtige Cursor angezeigt aber das war es dann auch schon.

Hat jemand eine Idee ?

Benutzeravatar
theo
Beiträge: 11327
Registriert: Mo 11. Sep 2006, 19:01

Re: DropFiles / TForm

Beitrag von theo »

Welchen Wert hat die Eigenschaft "AllowDropFiles" und wenn ja, warum?

Benutzeravatar
Lincoln Six Echo
Beiträge: 138
Registriert: Di 26. Aug 2014, 16:42
OS, Lazarus, FPC: Win10, Debian
CPU-Target: I7/I9/Q9650/u.a.
Wohnort: Hamburg

Re: DropFiles / TForm

Beitrag von Lincoln Six Echo »

AllowDropFiles ist natürlich = true, deshalb wird auch der "Drag"-Cursor angezeigt

Aber das Ereigniss "OnDropFiles" wird trotzdem vom System nicht aufgerufen .

Benutzeravatar
m.fuchs
Lazarusforum e. V.
Beiträge: 2905
Registriert: Fr 22. Sep 2006, 19:32
OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
CPU-Target: x86, x64, arm
Wohnort: Berlin
Kontaktdaten:

Re: DropFiles / TForm

Beitrag von m.fuchs »

Stimmt die Versionsangabe in deinem Footer? Dann update doch bitte mal auf ein aktuelles Lazarus.

Ohne etwas Quellcode, werden wir dir nicht viel sagen können. Mach doch mal ein Minimalbeispiel, bei dem das Problem auftritt.
0118999881999119725-3

Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de

Benutzeravatar
Lincoln Six Echo
Beiträge: 138
Registriert: Di 26. Aug 2014, 16:42
OS, Lazarus, FPC: Win10, Debian
CPU-Target: I7/I9/Q9650/u.a.
Wohnort: Hamburg

Re: DropFiles / TForm

Beitrag von Lincoln Six Echo »

Oh, Footer jetzt erst gesehen, sorry.

Aktuell läuft Lazarus 1.2.4 auf Win7-64 Pro.

Code ist simpel, einfach eine TForm, "AllowDropFiles = true, Ereigniss "OnDropFiles" sieht so aus:

Code: Alles auswählen

....
{$H+}
 
procedure TMainForm.FormDropFiles(Sender: TObject; const FileNames: array of String);
var
  c : integer;
begin
  if length(FileNames) > 0 then
  for c := 0 to length(FileNames) do OpenFile(FileNames[c]);
end; 
 
...
Ich kann auch halt; oder ShowMessage('HÄ?') einfügen, es passiert nichts. Das Ereignis wird nicht angesprungen.
Zuletzt geändert von Lori am Fr 19. Sep 2014, 19:55, insgesamt 1-mal geändert.
Grund: Highlighter

Benutzeravatar
m.fuchs
Lazarusforum e. V.
Beiträge: 2905
Registriert: Fr 22. Sep 2006, 19:32
OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
CPU-Target: x86, x64, arm
Wohnort: Berlin
Kontaktdaten:

Re: DropFiles / TForm

Beitrag von m.fuchs »

Hm, hab so ein Minimalprogramm läuft hier bei mir (gleiches Windows, gleiches Lazarus) problemlos.
Ich hoffe das klingt jetzt nicht dämlich: Du hast auch wirklich ein Minimal-Programm erstellt?
0118999881999119725-3

Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de

Benutzeravatar
theo
Beiträge: 11327
Registriert: Mo 11. Sep 2006, 19:01

Re: DropFiles / TForm

Beitrag von theo »

Kackt der nicht einfach ab?

Probier mal so:
for c := 0 to length(FileNames)-1 do

Benutzeravatar
Lincoln Six Echo
Beiträge: 138
Registriert: Di 26. Aug 2014, 16:42
OS, Lazarus, FPC: Win10, Debian
CPU-Target: I7/I9/Q9650/u.a.
Wohnort: Hamburg

Re: DropFiles / TForm

Beitrag von Lincoln Six Echo »

Das -1 hatte ich hier im Beispiel vergessen, im Programm ist es enthalten.

Aber es passiert einfach nichts. Wie gesagt, das Ereigniss wird gar nicht aufgerufen wenn ich Dateien auf die Form ziehe.

Gibt es da vielleicht irgendeine Einstellung ? Und / oder etwas wie "Application.AcceptFiles := true" o.ä. ?

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Re: DropFiles / TForm

Beitrag von Christian »

Werkzeuge->Beispielprojekte->Dropfiles damit kannst du schaun was du falsch machst
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

Benutzeravatar
Lincoln Six Echo
Beiträge: 138
Registriert: Di 26. Aug 2014, 16:42
OS, Lazarus, FPC: Win10, Debian
CPU-Target: I7/I9/Q9650/u.a.
Wohnort: Hamburg

Re: DropFiles / TForm

Beitrag von Lincoln Six Echo »

Super Tipp, danke. Ich hatte mir die Beispielprogramme alle angesehen nachdem ich Lazarus installiert habe.

Ich habe es in meiner App genauso gemacht wie im Beispielprogramm, und es funktioniert auch genau so nämlich GAR NICHT.

Dabei ist es egal woher oder wieviele Dateien ich auf die Form ziehe, nur der Drag-Cursor wird richtig angezeigt, das Ereigniss "OnDropFiles" wird nicht aufgerufen und es passiert NICHTS.

Benutzeravatar
m.fuchs
Lazarusforum e. V.
Beiträge: 2905
Registriert: Fr 22. Sep 2006, 19:32
OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
CPU-Target: x86, x64, arm
Wohnort: Berlin
Kontaktdaten:

Re: DropFiles / TForm

Beitrag von m.fuchs »

Kannst du die kompilierte Exe mal auf einem anderen PC testen oder hier hochladen?
0118999881999119725-3

Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de

Benutzeravatar
Lincoln Six Echo
Beiträge: 138
Registriert: Di 26. Aug 2014, 16:42
OS, Lazarus, FPC: Win10, Debian
CPU-Target: I7/I9/Q9650/u.a.
Wohnort: Hamburg

Re: DropFiles / TForm

Beitrag von Lincoln Six Echo »

Ich habe gerade etwas herausgefunden :

Starte ich die kompilierte Exe per Doppeklick im Windows-Explorer funktioniert es perfekt.

Starte ich die Exe in der IDE passiert nichts. Egal ob mit oder ohne Debugger.

Hat hierzu jemand eine Idee ?

Antworten