Liebe Delphi-ianer,
ich habe derzeit ein etwas merkwürdiges Verhalten bei einer ANwendung von mir. Und zwar geht es darum das ich per Drag&Drop vom Explorer einzelne Files oder den Inhalt eines ganzen Ordners in eine Listbox laden möchte.
Wenn ich meinen Quellcode compiliere und aus der Entwicklungsumgebung ausführe, dann geht das ganze auch ohne Probleme. Sobald ich aber die Exe selber ausführe, wird beim Droppen eines Ordners nur der Ordner selbst hinzugefügt und nicht dessen Inhalt.
Hat da vielleicht jemand eine Idee woran dies liegen könnte?
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28:
| procedure TMain_Form.WMDROPFILES(var Msg: TMessage); var i, j, anzahl, size: Integer; Dateiname: PChar; begin inherited; anzahl := DragQueryFile(Msg.WParam, DF_NUMBEROFFILES, Dateiname, 255); for i := 0 to (anzahl - 1) do begin size := DragQueryFile(Msg.WParam, i, nil, 0) + 1; Dateiname := StrAlloc(size); DragQueryFile(Msg.WParam, i, Dateiname, size); if (FileGetAttr(String(Dateiname)) <> faDirectory) then begin MyMaterial.Items.Add(StrPas(Dateiname)); end else begin if (FileGetAttr(String(Dateiname)) = faDirectory) then begin if DirectoryExists(Dateiname) then BuildFileList(IncludeTrailingPathDelimiter(Dateiname) + '*.*', faAnyFile, MyMaterial.Items, True); end; end; StrDispose(Dateiname); end; DragFinish(Msg.WParam); StatusBar1.Panels[8].Text := IntToStr(MyMaterial.Items.Count); end; |
Besten Dank für Hinweise...
Schöne Grüße,
Torben