powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle Forms [игнор отключен] [закрыт для гостей] / Команда host с UNC-путями
9 сообщений из 9, страница 1 из 1
Команда host с UNC-путями
    #37839915
sanBez
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Из 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 не переводит в строку текущего каталога

Хотелось бы увидеть что именно там плохо и как выкрутиться

На формсах писал сто лет назад и то не на шестых :) все забыл
Кто может что подсказать?
...
Рейтинг: 0 / 0
Команда host с UNC-путями
    #37840097
-=APS=-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дык, вроде срабатывает нормально:
Слепил себе test.cmd и форму, расположил на шаре, стартуется fmx с шары.
-
В форме, на кнопке:
Код: plsql
1.
2.
3.
begin
	host('cmd /c "\\vboxsvr\teka\test.cmd"');
end;

-
В test.cmd:
Код: powershell
1.
pause


-
Вроде, запускается...
...
Рейтинг: 0 / 0
Команда host с UNC-путями
    #37840162
sanBez
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-=APS=-,

Спасибо, чуть сдвинули с мертвой точки, но...

Я не могу в форму абсолютный путь прописывать. Если они завтра на другой сервак формы перенесут, мне тогда форму перекомпилировать? Кривовато как-то...

Я потому и хотел %~dp0 использовать, но не пойму как...
...
Рейтинг: 0 / 0
Команда host с UNC-путями
    #37841586
ЛеонидК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sanBezили строку эту %~dp0 команда host не переводит в строку текущего каталога

А откуда Вы такой синтаксис взяли?

sanBezЯ не могу в форму абсолютный путь прописывать. Если они завтра на другой сервак формы перенесут, мне тогда форму перекомпилировать? Кривовато как-то...

Насколько я помню, можно получить имя файла (путь) текущей выполняемой форме. Ну дык и определяйте директорий динамически, проблемы особой вроде нет.

Самому не проверить, Forms'а под руками нет
...
Рейтинг: 0 / 0
Команда host с UNC-путями
    #37842273
sanBez
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЛеонидКsanBezили строку эту %~dp0 команда host не переводит в строку текущего каталога

А откуда Вы такой синтаксис взяли?

Да где-то в инете. Попытка сделать второпях, не понимая сути :(
%~dp0 даст текущий каталог уже запущенного батника start2.cmd (в текущем случае).
То есть я попытался получить информацию еще до ее появления. Не прокатит.

ЛеонидКНасколько я помню, можно получить имя файла (путь) текущей выполняемой форме. Ну дык и определяйте директорий динамически, проблемы особой вроде нет.

Имя, сестра, имя! :) (c) Три мушкетера

Скажите как, я хоть попробую. Не знаток я формс. :(
Наверно все равно не пройдет. При UNC вроде нельзя определить имя текущего каталога. А очень хочется :)
...
Рейтинг: 0 / 0
Команда host с UNC-путями
    #37842360
OldBoyOdeSu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sanBez,

GET_APPLICATION_PROPERTY (CURRENT_FORM); вроде как полный путь формы а дальше substr попробовать пока нет возможности

в 6 не помню вроде с помощью D2KWUTIL.pll можно получить, посмотри в сторону win_api_environment.get_working_directory, там вобщем надо её открыть и прошерстить наверняка найдутся подходящие функции
...
Рейтинг: 0 / 0
Команда host с UNC-путями
    #37842393
-=APS=-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно воспользоваться GET_APPLICATION_PROPERTY(CURRENT_FORM), надо будет разобрать строку в виде \\сервер\путь\форма.fmx
Использование d2kwutil в это плане, думаю, ситуацию усложняет.
Есть еще и другие варианты, например, передавать путь к запускаемому скрипту параметрами командной строки (стартовать форму с ярлыка с параметрами). Или можно хранить эту настройку где-либо на сервере. Короче, вариантов масса, никто же не заставляет форму перекомпиливать :)
...
Рейтинг: 0 / 0
Команда host с UNC-путями
    #37842412
OldBoyOdeSu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну D2KWUTIL.pll это как вариант, если он уже юзается в формах, а так конечно цеплять его нет смысла ради этого

Код: plsql
1.
replace(GET_APPLICATION_PROPERTY(CURRENT_FORM), GET_APPLICATION_PROPERTY (CURRENT_FORM_NAME), ....
...
Рейтинг: 0 / 0
Команда host с UNC-путями
    #37842562
sanBez
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем спасибо! Работает и локально и из сети.

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
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Oracle Forms [игнор отключен] [закрыт для гостей] / Команда host с UNC-путями
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]