|
Команда host с UNC-путями
|
|||
---|---|---|---|
#18+
Из Forms6i командой host запускается батник start2.cmd В нем собстно вызов java-программы (небольшая swing-формочка для ввода данных) вызов батника из формсов выглядит примерно так: Host('start2.cmd '||GET_APPLICATION_PROPERTY(CONNECT_STRING)||' '||GET_APPLICATION_PROPERTY(USERNAME)||' '||GET_APPLICATION_PROPERTY(PASSWORD)); В таком виде работает. Но смысл в том, что у юзеров используются шара (в которой сидят fmx), которую по своим каким-то убеждениям (или корпоративным правилам) они не хотят подключать как диск. Заставить их сделать это я не могу. Когда пытаюсь заменить вызов на что-то типа: Host('%~dp0start2.cmd и т.д') - не работает, смаргивает окошко и я не понимаю что там. Предполагаю что что-нибудь типа: CMD.EXE не поддерживает пути UNC... или строку эту %~dp0 команда host не переводит в строку текущего каталога Хотелось бы увидеть что именно там плохо и как выкрутиться На формсах писал сто лет назад и то не на шестых :) все забыл Кто может что подсказать? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2012, 16:21 |
|
Команда host с UNC-путями
|
|||
---|---|---|---|
#18+
Дык, вроде срабатывает нормально: Слепил себе test.cmd и форму, расположил на шаре, стартуется fmx с шары. - В форме, на кнопке: Код: plsql 1. 2. 3.
- В test.cmd: Код: powershell 1.
- Вроде, запускается... ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2012, 17:33 |
|
Команда host с UNC-путями
|
|||
---|---|---|---|
#18+
-=APS=-, Спасибо, чуть сдвинули с мертвой точки, но... Я не могу в форму абсолютный путь прописывать. Если они завтра на другой сервак формы перенесут, мне тогда форму перекомпилировать? Кривовато как-то... Я потому и хотел %~dp0 использовать, но не пойму как... ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2012, 18:02 |
|
Команда host с UNC-путями
|
|||
---|---|---|---|
#18+
sanBezили строку эту %~dp0 команда host не переводит в строку текущего каталога А откуда Вы такой синтаксис взяли? sanBezЯ не могу в форму абсолютный путь прописывать. Если они завтра на другой сервак формы перенесут, мне тогда форму перекомпилировать? Кривовато как-то... Насколько я помню, можно получить имя файла (путь) текущей выполняемой форме. Ну дык и определяйте директорий динамически, проблемы особой вроде нет. Самому не проверить, Forms'а под руками нет ... |
|||
:
Нравится:
Не нравится:
|
|||
17.06.2012, 12:42 |
|
Команда host с UNC-путями
|
|||
---|---|---|---|
#18+
ЛеонидКsanBezили строку эту %~dp0 команда host не переводит в строку текущего каталога А откуда Вы такой синтаксис взяли? Да где-то в инете. Попытка сделать второпях, не понимая сути :( %~dp0 даст текущий каталог уже запущенного батника start2.cmd (в текущем случае). То есть я попытался получить информацию еще до ее появления. Не прокатит. ЛеонидКНасколько я помню, можно получить имя файла (путь) текущей выполняемой форме. Ну дык и определяйте директорий динамически, проблемы особой вроде нет. Имя, сестра, имя! :) (c) Три мушкетера Скажите как, я хоть попробую. Не знаток я формс. :( Наверно все равно не пройдет. При UNC вроде нельзя определить имя текущего каталога. А очень хочется :) ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2012, 10:32 |
|
Команда host с UNC-путями
|
|||
---|---|---|---|
#18+
sanBez, GET_APPLICATION_PROPERTY (CURRENT_FORM); вроде как полный путь формы а дальше substr попробовать пока нет возможности в 6 не помню вроде с помощью D2KWUTIL.pll можно получить, посмотри в сторону win_api_environment.get_working_directory, там вобщем надо её открыть и прошерстить наверняка найдутся подходящие функции ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2012, 11:32 |
|
Команда host с UNC-путями
|
|||
---|---|---|---|
#18+
Можно воспользоваться GET_APPLICATION_PROPERTY(CURRENT_FORM), надо будет разобрать строку в виде \\сервер\путь\форма.fmx Использование d2kwutil в это плане, думаю, ситуацию усложняет. Есть еще и другие варианты, например, передавать путь к запускаемому скрипту параметрами командной строки (стартовать форму с ярлыка с параметрами). Или можно хранить эту настройку где-либо на сервере. Короче, вариантов масса, никто же не заставляет форму перекомпиливать :) ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2012, 11:50 |
|
Команда host с UNC-путями
|
|||
---|---|---|---|
#18+
ну D2KWUTIL.pll это как вариант, если он уже юзается в формах, а так конечно цеплять его нет смысла ради этого Код: plsql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2012, 11:56 |
|
Команда host с UNC-путями
|
|||
---|---|---|---|
#18+
Всем спасибо! Работает и локально и из сети. Host('cmd /c '||SUBSTR(GET_APPLICATION_PROPERTY (CURRENT_FORM),1,INSTR(GET_APPLICATION_PROPERTY (CURRENT_FORM),'\',-1,2))||'bin\JForm\runForm.cmd '||GET_APPLICATION_PROPERTY(CONNECT_STRING)||' '||GET_APPLICATION_PROPERTY(USERNAME)||' '||GET_APPLICATION_PROPERTY(PASSWORD)); В ярлыке только пришлось прописать полный путь к главной форме: C:\orant\BIN\ifrun60.EXE \\myfamily-n\ES\APP\FORMS\ rut0000f.fmx user/password@sid ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2012, 13:07 |
|
|
start [/forum/topic.php?fid=51&fpage=16&tid=1878467]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
37ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
2ms |
others: | 314ms |
total: | 448ms |
0 / 0 |