Einzelnen Beitrag anzeigen

Benutzerbild von markus5766h
markus5766h

Registriert seit: 5. Mär 2009
Ort: Hamburg
569 Beiträge
 
Delphi XE8 Professional
 
#1

WMDropfiles (Var MSG: TMessage)

  Alt 23. Jun 2015, 19:21
Moin an Alle.
Ich benötige 'mal Eure Hilfe.

foldenden Code benutze ich schon seit längerer Zeit.

Delphi-Quellcode:
procedure TfrmMain.WMDropFiles (Var Msg: TMessage);
var
  Idx,
  Size,
  FileCount: Integer;
  FileName: PChar;
begin
  FileCount := -1;
  DragList.Clear;
  Inherited;
  FileCount := DragQueryFile(Msg.WParam, $FFFFFFFF, Nil, 255); // File Count
  for Idx := 0 to FileCount -1 do
    begin
      Size := DragQueryFile (Msg.WParam, Idx, Nil, 0) + 1;
      FileName := StrAlloc(Size);
      DragQueryFile (Msg.WParam, Idx, FileName, Size);
      //ShowMessage(FileName); //<-------------- Kontrolle
      DragList.Add (FileName); // Liste füllen
      StrDispose(FileName);
    end; // end File Count
  DragFinish (Msg.WParam);
  //ShowMessage(IntToStr(FileCount)); //<-------------- Kontrolle
  //ShowMessage(IntToStr(DragList.Count)); //<-------------- Kontrolle
  if DragList.Count > 0 then SetDragging(Self) // Aktion on drop // CopyDrag(Self)
    else ShowMessage('keine Dateinamen in der Liste !');

end;
...hat bisher auch immer funktioniert (allerdings - schon ein paar Jahre her - XP-Zeiten).
Nun stellt sich folgendes Problem dar :
lasse ich das erste ShowMessage(PChar(FileName)); weg bzw. als Kommentar ist die DragList (TStringList) leer,
mit dem ShowMessage ist alles in Ordnung.
Dieses Verhalten ist zu jeder Zeit bei mir nachstellbar.
Delphi 7.0
Win 7 Prof. 64 Bit
Das entspr. Programm wird mit Admin-Rechten gestartet, ProzessPriorität habe ich schon auf "ABOVE_NORMAL" gesetzt - bringt auch nichts,
zumal das Programm zur Zeit obiger Prozedur sonst nichts zu tun hat.

Hat jemand eine Idee ? Ich steh' zur Zeit ziemlich auf dem Schlauch . . .
Markus H.

Geändert von markus5766h (23. Jun 2015 um 21:05 Uhr)
  Mit Zitat antworten Zitat