Автор | Сообщение |
|
| постоянный участник
|
Пост N: 2903
Зарегистрирован: 12.09.06
|
|
Отправлено: 12.07.13 15:22. Заголовок: Непонятки в хХарборе....
Столкнулся с проблемой определения (стартовой) директории программы. Функция CurDrive() + ":" + DirName() выдает разные и неправильный путь. Программа записана на D:\2222 При вызове из Far'a возвращает D:\Program Files\Far\ При вызове из проводника возвращает D:\\ Если запускаю программу с папки проекта, то все нормально: W:\HB_Project\MyProject\ С чем это связано ? Есть ли в хХарборе функция как в МиниГуи - GetStartupFolder() ? Использую - xHarbour build 1.2.1 Intl. (SimpLex) (Rev. 6406) Borland C++ 5.5.1 Если эта ошибка в хХарборе - просьба сообщить разработчикам !
|
|
|
Ответов - 5
[только новые]
|
|
|
| Администратор
|
Пост N: 2926
Зарегистрирован: 23.05.05
|
|
Отправлено: 12.07.13 15:58. Заголовок: Не подтверждаю. У ме..
Не подтверждаю. У меня во всех случаях возвращается текущий каталог, которая совпадает с папкой, где находится программа. Эти функции и работают по текущему каталогу. Если текущий каталог отличается от папки, где находится программа, значит, его установили таким фар или проводник. Сообщить разработчикам не получится. Во-первых, непонятно, что сообщать. Во-вторых, чтобы что-то сообщить о проблемах в версии 1.2.1, понадобится машина времени. Сейчас версия немного другая. А насчет папки запуска - уже более 20-ти лет как есть же функция exename() из тузл.
|
|
|
|
| постоянный участник
|
Пост N: 2904
Зарегистрирован: 12.09.06
|
|
Отправлено: 12.07.13 20:43. Заголовок: Pasha пишет: Не под..
Pasha пишет: У меня на 2х машинах такая вещь ! На Win7 и Win8. Буду делать отдельный пример и тестировать на других машинах. Pasha пишет: цитата: | Сейчас версия немного другая. |
| Понял. Pasha пишет: цитата: | уже более 20-ти лет как есть же функция exename() из тузл. |
| Да, я тоже её использую давно... Просто на другом проекте - "залетел" на грабли. Из-за этого и сообщил об этом.
|
|
|
|
| Администратор
|
Пост N: 2931
Зарегистрирован: 23.05.05
|
|
Отправлено: 12.07.13 21:51. Заголовок: Andrey пишет: У мен..
Andrey пишет: цитата: | У меня на 2х машинах такая вещь ! На Win7 и Win8. |
| Харбор тут ни при чем. Он не устанавливает текущий каталог программы. Это делает система, или процесс, который запускает программу (тот же фар). Я могу навскидку назвать пару причин, когда текущий каталог будет отличаться от каталога, где находится программа. 1. Запуск от имени администратора. В этом случае текущим будет что-то вроде system32 2. Если антивирус вдруг решит, что программа сомнительная, и запустит ее "в песочнице", каталог тоже будет другим. Может быть еще что-то.
|
|
|
|
| постоянный участник
|
Пост N: 891
Зарегистрирован: 27.01.07
|
|
Отправлено: 13.07.13 07:56. Заголовок: Еще запуск посредств..
Еще запуск посредством bat-ника, в котором производится смена папки
|
|
|
|
| постоянный участник
|
Пост N: 362
Зарегистрирован: 13.10.05
|
|
Отправлено: 14.07.13 14:54. Заголовок: Я использую Left(E..
Я использую Left(EXENAME(),RAT("\",EXENAME())) xHarbour build 1.0.0 Определяется правильно на локальных и сетевых дисках, так же и относительный путь типа \\server\...
|
|
|
|