Запуск стороннего приложения Visual Prolog 7.5
Формулировка задачи:
Здравствуйте. Столкнулся с такой проблемой при написании программы на Visual Prolog 7.5. Нашел как запустить стороннюю программу по нажатию кнопки на форме, все работает, однако в другой форме этот же кусок кода не работает. Имя предиката менял, программа постоянно крашится при нажатии этой кнопки. Вот кусок кода:
Этот работает
Этот не работает
Все файлы лежат в папке с ЕХЕ, пробовал ставить тот файл, который запускается - краш программы. Срок сдачи поджимает, что делать понять не могу.
Выдает вот такую ошибку
Листинг программы
- resolve shellExecute externally from "Shell32.dll"
- class predicates
- shellExecute:(handle, string, string,string, string, integer)-> integer language stdcall as "ShellExecuteW".
- predicates
- onPushButtonClick : button::clickResponder.
- clauses
- onPushButtonClick(_Source) = button::defaultAction:-
- _ = shellExecute(nullHandle,"open", "DiskCheckup.exe","","",1).
Листинг программы
- resolve shellExecuteA externally from "Shell32.dll"
- class predicates
- shellExecuteA:(handle, string, string,string, string, integer)-> integer language stdcall as "ShellExecuteWATX".
- predicates
- onPushButtonClick : button::clickResponder.
- clauses
- onPushButtonClick(_Source) = button::defaultAction:-
- _ = shellExecuteA(nullHandle,"open", "ATX.bmp","","",1).
Листинг программы
- Exception: cannotGetProcAddress (runtime_exception)
- Cannot get the address of an exported function
- error code = 16
- ExtraInfo = Error on loading predicate 'ShellExecuteWATX' from module 'Shell32.dll', GetLastError=127, Не найдена указанная процедура.
- raised 2015-05-25 00:02:08
- ThreadId: 19736
- Class name: runtime_exception
- Predicate name: runtimeExceptionRaiser
Решение задачи: «Запуск стороннего приложения Visual Prolog 7.5»
textual
Листинг программы
- resolve shellExecute externally from "Shell32.dll" %берем из библиотеки нужный метод
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д