procedure TfrmCollage.OnPhotoMouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
  var Size:   Cardinal;
      DropFiles:   PDropFiles;
      Run:   PChar;
      MemHandle:   THandle;
      aFile : string;
begin
  FSelectPhoto := Button = mbLeft;
  if not FSelectPhoto then Exit;
  aFile := TImageThumb(Sender).FileName;
  size := 0;
  Inc(Size,   Length(aFile) + SizeOf(TDropFiles) + 1 );
  MemHandle := GlobalAlloc(GMEM_ZEROINIT,Size);
  DropFiles := PDROPFILES(GlobalLock(MemHandle));
  with DropFiles^ do
  begin
    pFiles    :=   SizeOf(TDropFiles);
    pt        :=   Point(0,   0);
    fNC       :=   False;
    fWide     :=   False;
  end;
  Run := Pointer(DropFiles);
  Inc(Run, SizeOf(TDropFiles));
  lstrcpy(Run, PChar(aFile));
  Inc(Run, Length(aFile) + 1);
  Run^ := #0;
  PostMessage(Handle,   WM_DROPFILES,   MemHandle,   0);   
  GlobalUnlock(MemHandle); 
  GlobalFree(MemHandle);
在调试时,执行到最后一句时出现CPU窗口 但不报错,而且WM_DROPFILES这个消息能拦截到,正常获取到文件名,但是脱离IDE运行时,获取不到文件名
不知道什么原因?
在WIN 7系统下