![]() |
Moin Nailor,
[EDIT] ich hatte die zweite Seite des Threads übersehen :oops: [/EDIT] |
Klappt!!! :firejump: :firejump:
KAnn man jetzt noch irgendwie die AVs verhindern, wenn man einen Ordner droppt? |
Hallo Nailor,
entweder Du prüfst, ob die Datei existiert oder mit try - except Ich habe das 2. verwendet:
Code:
mfg
procedure TFTest.WMDROPFILE(var msg: TMessage);
var hDrop : Cardinal ; fName : array[0..MAX_PATH] of Char ; fnnew, fnold : string; i : integer; begin hDrop := Msg.WParam ; fName := '' ; i := 0; fnold := ''; DragQueryFile(hDrop, i, fName, MAX_PATH); fnnew := string(fName); while fnnew <> fnold do begin fnold := fnnew; try Memo2.Lines.LoadFromFile(String(fName)); Memo2.SelectAll; Memo2.CopyToClipboard; Memo1.SelStart := Memo1.GetTextLen; Memo1.Lines.Add(''); Memo1.Lines.Add(''); Memo1.Lines.Add(''); Memo1.Lines.Add(fnnew); Memo1.Lines.Add(''); Memo1.PasteFromClipboard; except MessageDlg(fnnew + ' konnte nicht geöffnet werden', mtError, [mbOK], 0); end; // RichEdit1.Lines.LoadFromFile(String(fName)); inc(i); DragQueryFile(hDrop, i, fName, MAX_PATH); fnnew := string(fName); end; DragFinish (hDrop); end; eddy PS: was heißt "AVs" auf Deutsch? |
Zugriffsverletzung glaub ich, falls sich das so schreibt
|
Sorry, dass ich deinen Code so verstümmelt habe, aber warum geht das nicht?
Delphi-Quellcode:
Es kommt noch nichtmal eine MessageBox mit zwei Sternchen, aber der Drag&Drop-Zeiger kommt :?
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, ShellApi; procedure WMDROPFILE(var msg: TMessage); procedure TForm1.WMDROPFILE(var msg: TMessage); var hDrop: cardinal; fName: array[0..MAX_PATH] of char; begin hDrop := Msg.WParam; fName := '' ; DragQueryFile(hDrop, 0, fName, MAX_PATH); ShowMessage('*' + string(fName) + '*'); //LabeledEdit1.Text := string(fName); DragFinish (hDrop); end; procedure TForm1.FormCreate(Sender: TObject); begin DragAcceptFiles(Handle,True); end; |
Hallo Nailor,
es gibt da einen kleinen Unterschied zwischen Deinem Code und dem von Luckie übernommenen Code:
Delphi-Quellcode:
Der kleine Unterschied macht's!
private
{ Private-Deklarationen } procedure WMDROPFILE (var msg: TMessage ); Message WM_DropFiles ; // procedure WMDROPFILE(var msg: TMessage); mfg eddy |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:07 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz