Ошибки, баги, вопросы - страница 2201
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Ну как топорный вариант (не значит, что плохой):
Эксперт:
1. вызывается файл-сценарий командной оболочки
2. ожидается появления файла, сигнализирующего о завершении внешних действий
3. удаление сигнального файла
Сценрий командной оболочки:
1. запуск внешней программы
2. создание сигнального файл
зы: ссылка вставилась автоматом, она вообще не о том.
зыы: кстати, как запускается внешняя программа? Если через какой-нибудь ПроцесКриэйт() или ШелЭкзекют(), то можно полученный хендл отдать в WaitForSingleObject(), но это пляски с декларированием типов winapi.
Ну как топорный вариант (не значит, что плохой):
Эксперт:
1. вызывается файл-сценарий командной оболочки
2. ожидается появления файла, сигнализирующего о завершении внешних действий
3. удаление сигнального файла
Сценрий командной оболочки:
1. запуск внешней программы
2. создание сигнального файл
зы: ссылка вставилась автоматом, она вообще не о том.
зыы: кстати, как запускается внешняя программа? Если через какой-нибудь ПроцесКриэйт() или ШелЭкзекют(), то можно полученный хендл отдать в WaitForSingleObject(), но это пляски с декларированием типов winapi.
Внешняя программа запускается с помощью ShellExecuteW().
На выходе выполнения программы генерируется файл. По сути он и может быть сигнальным.
Но я не понимаю, как в это время приостанавливать тестер?
С winapi практически не знаком. Если это реально поможет, готов углубиться.
Внешняя программа запускается с помощью ShellExecuteW().
На выходе выполнения программы генерируется файл. По сути он и может быть сигнальным.
Но я не понимаю, как в это время приостанавливать тестер?
С winapi практически не знаком. Если это реально поможет, готов углубиться.
В winapi имеется следующий механизм:
объекты, которые описываются HANDLE'ом возвращаемым при создании (потоки, процессы, мьютексы, ...) имеют сигнальный флаг. Если говорить о процессе, то он установит его после своего завершения. WaitForSingleObject() останавливает выполнение текущего потока (вашего эксперта) до того момента, когда флаг будет установлен, т.е. из WaitForSingleObject() эксперт выйдет после завершения внешней программы.
ShellExecuteW() возвращает не HANDLE, а HINSTANCE, не уверен что он сгодится для Вэйт..() функции, но стоит попробовать. Если не получится, то нужно использовать ShellExecuteEx, например (но там нетривиальные аргументы передаются внутрь).
http://fkn.ktu10.com/?q=node/633
https://msdn.microsoft.com/en-us/library/windows/desktop/ms687032(v=vs.85).aspx
В winapi имеется следующий механизм:
объекты, которые описываются HANDLE'ом возвращаемым при создании (потоки, процессы, мьютексы, ...) имеют сигнальный флаг. Если говорить о процессе, то он установит его после своего завершения. WaitForSingleObject() останавливает выполнение текущего потока (вашего эксперта) до того момента, когда флаг будет установлен, т.е. из WaitForSingleObject() эксперт выйдет после завершения внешней программы.
ShellExecuteW() возвращает не HANDLE, а HINSTANCE, не уверен что он сгодится для Вэйт..() функции, но стоит попробовать. Если не получится, то нужно использовать ShellExecuteEx, например (но там нетривиальные аргументы передаются внутрь).
http://fkn.ktu10.com/?q=node/633
https://msdn.microsoft.com/en-us/library/windows/desktop/ms687032(v=vs.85).aspx
Благодарю за совет!
Пойду разбираться
Но я не понимаю, как в это время приостанавливать тестер?
чтож так сложно-то? следить за файлом результата + родной Sleep решают проблему.
Кстати, да. Самое простое ))
Да, есть такая проблема. При передаче указателя по ссылке в перегруженный оператор выдаётся ошибка. Это появилось в последних билдах, раньше всё было ок. Я уже пару месяцев как отправил заявку в сервис-деск, но там глухо, как обычно. Ни ответа, при привета.
Особенно критично это для массива указателей, так как их по другому и не передашь, кроме как по ссылке:
Так что я по-прежнему сижу на 1554 билде.
так же с указателями столкнулся в последних билдах, раньше можно было без проблем гонять void, сейчас по ссылке не проходит, пришлось поправить код в нескольких своих библиотеках
Объект синхронизации с большим оверхедом чем файл предложить не могли? Бред.
вообще нужно ли писать в файл во время тестирования?, чем память не нравится?