Я реализовал следующую процедуру, и она работает правильно, когда я компилирую ее на своем компьютере под управлением 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;