PDA

Показать полную графическую версию : Открыть сетевую папку на другом компе с помощью Delphi 7


Srednas
30-05-2008, 16:03
Здравствуйте!
Ситуация:
слелал (Delphi 7) на форме кнопочку открыть папку, на клик:

procedure TForm1.Button2Click(Sender: TObject);
begin
ShellExecute(handle, Nil, 'D:\user\buffer', Nil, Nil, SW_SHOWNORMAL);
end;

Если просто кликнуть на кнопку то все нормально открывается, но если заходить на комп ч-з РДП соединение, и нажать на кнопку, вылезает ошибка
"windows не удалось найти 'idlist,:252:5804,D:\user\buffer'. Проверьте, что имя было введено правильно, и повторите попытку. Чтобы выполнить поиск файла, нажмите Пуск, и выберите Найти."

Вопрос:
Почему возникает такая ощибка и как её исправить?

Admiral
30-05-2008, 16:13
Srednas, потому что используется абсолютный путь, который на удалённой машине может и вовсе не существовать. Если нужно переменные удалённой машины, то нужно писать клиент-сервер приложение, что б удалённый файл пересылать. Или использовать относительные пути и что б нужный файл был не далеко от ЕХЕ.

Srednas
03-06-2008, 15:05
А что такое "Относительные пути"??? И как и х сделать?

Admiral
03-06-2008, 15:41
Допустим скомпилированный файл Project1.exe в папке D:\user, относительный путь к интересующей папки будет .\buffer или buffer
Так же возможно используя функцию определения местоположения ЕХЕ ExtractFilePath(ParamStr(0));
или
AppPath: String;
GetDir(AppPath, 0); приделать этот относительный путь к этому пути и получить абсолютный путь к различным вариантам запуска проги.




© OSzone.net 2001-2012