Как запустить из HyperMethod внешний exe-файл
?.
Ответ:
Первый способ запуска внешних файлов:
1.
Поместите ваш файл в каталог коллекции. Лучше создать
в каталоге коллекции подкаталог, в котором и будут лежать
все внешние файлы. Для примера, допустим, в каталоге
коллекции мы создали подкаталог FILESEXE, а в него поместили
программу calc.exe.
2.
В кадре определите объект и событие, по которому должен
запускаться этот файл. Допустим, для примера, мы хотим
запустить calc.exe по щелчку мышки на кнопке. Для этого
для события "Click" нам потребуется написать
следующий скрипт:
IF
WinExec( GetCollectPath( )+"\\ FILESEXE \calc.exe",
1)
ENDIF
Здесь
мы воспользовались двумя функциями :
WinExec
- запускает на выполнение указанный файл. Но для того
чтобы создать переносимую коллекцию, надо всегда использовать
относительные пути, поэтому для определения полного
имени файла (вместе с путем до него) необходимо знать,
где находится коллекция.
GetCollectPath(
) - возвращает путь к коллекции.
Замечание:
Относительный путь к файлу, в нашем примере "\\
FILESEXE \calc.exe" - должен начинаться с двойного
слеша "\\".
Второй
способ запуска внешних файлов:
1.
Внешний файл должен находиться строго в корневом каталоге
коллекции, в противном случае коллекция будет не переносима.
2.
Выполнить команду "Вставить | Объект", и,
установив флажок "из файла", указать тот файл,
который нужно выполнить. После выполнения этой команды,
в кадре появится "иконка", изображающая это
приложение. Если желательно, чтобы "иконка"
в режиме просмотра не отображалась на экране, то надо
выполнить команду "Правка|Свойства объекта"
и, выбрав закладку "объект", удалить флажок
"Видимый".

3.
Определить объект и событие, по которому запускать программу.
4.
Выделить этот объект ( к примеру, кнопку) и войти в
редактирование скриптов этой кнопки. Выбрав событие,
по которому должна запускаться программа, нажать на
кнопку "OLE Verbs", в открывшемся диалоговом
окне выбрать тот объект, который требуется активизировать,
и нажать кнопку "ОК".

Первый
способ запуска программ предпочтительней.
|