【发布时间】:2011-11-08 19:38:16
【问题描述】:
我已经实现了以下过程,当我在运行 windows vista 的计算机 #1 上编译它时,它可以正常工作。如果我将创建的 .exe 文件共享到另一台运行 win7 的计算机 #2,它也运行良好。问题是当我让计算机#2 编译它时,它不会简单地识别出应用程序上的任何内容。这段代码根本没有响应。它的构建和编译没有错误或警告。 我已经在网上搜索了一段时间,但没有找到任何解释为什么会发生这种情况或其他人有这个问题的东西。
两台计算机都使用安装了相同组件的 Delphi 2010。
- 这是允许用户将文件拖放到应用程序的方法吗?如果没有,现在应该怎么做?
- 知道为什么它在#1 计算机上编译但不能在#2 计算机上编译时有效吗? (在 #1 计算机上编译时,程序在两台计算机上都能正常运行)
非常感谢任何帮助或评论。
procedure TfMainForm.WMDROPFILES(var msg: TWMDropFiles);
const
MaxLength = 255;
var
nFiles : integer;
i : integer;
fileName : array [0..MaxLength] of char;
fileNames : TStringArray;
begin
// Get number of files dropped
nFiles := DragQueryFile(msg.Drop, $FFFFFFFF, fileName, MaxLength);
// Get filenames
SetLength(fileNames, nFiles);
for i := 0 to nFiles - 1 do begin
DragQueryFile(msg.Drop, i, fileName, MaxLength);
fileNames[i] := fileName;
end;
// Add files
projectHandler.addFiles(fileNames);
//release memory
DragFinish(msg.Drop);
end;
【问题讨论】:
标签: delphi windows-7 drag-and-drop windows-vista delphi-2010