Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Управление приложением, написанным на Delphi6
|
|||
|---|---|---|---|
|
#18+
Добрый день ! Есть желание заказчика иметь возможность управлять через сторонние продукты автоматизации нашим софтом, написанным на Delphi6. Сделать скрипты, сценарии .. Все бы хорошо, но продуктам этим для автоматизации нужны уникальные идентификаторы объектов, это не свойства компонентов, они не видны в их интерфейсе. Например вот кнопка тулбара (см прилагаемый файл), также комбобоксы в формах и т д. Как и что можно добавить в наш софт, чтобы это стало доступно снаружи ? Есть ли примеры ? Пытаются смотреть вот этим продуктом https://accessibilityinsights.io/docs/en/windows/overview/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2021, 17:25 |
|
||
|
Управление приложением, написанным на Delphi6
|
|||
|---|---|---|---|
|
#18+
пользуй в своей программе только те контролы, которые имеют виндовый хэндл. сиречь потомки TWinControl. тогда "сторонние средства автоматизации" смогут до них достучаться. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2021, 17:29 |
|
||
|
Управление приложением, написанным на Delphi6
|
|||
|---|---|---|---|
|
#18+
Dual_Bios, 1) можно теоретически встроить в приложение веб-сервер или какой-нибудь другой сервер для удалённого вызова процедур с параметрами. через эти процедуры опрашивать статусы, управлять открытием и закрытием окон и т.д. 2) так же, как сказал выше Мимопроходящий, через хендлы. Например, TSpeedButton его не имеет, а TBitButton имеет. Здесь, правда, я вижу проблему: как идентифицировать контрол, чтобы скрипты всё ещё подходили после перекомпиляции проекта. Имени контрола-то нет, по хендлу его не получить. Может, встроить в программу такую штуку: специальный обработчик сообщений, который по хендлу возвращает имя контрола ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2021, 18:28 |
|
||
|
Управление приложением, написанным на Delphi6
|
|||
|---|---|---|---|
|
#18+
Кроик СемёнМожет, встроить в программу такую штуку: специальный обработчик сообщений, который по хендлу возвращает имя контрола В этом случае проще встроить в программу специальный обработчик сообщений, который выполняет сразу требуемую заказчику работу. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2021, 18:42 |
|
||
|
Управление приложением, написанным на Delphi6
|
|||
|---|---|---|---|
|
#18+
Dual_Bios, Только что нашёл: такие тулзы, как Spy++ или WinSpy++ кроме свойств контролов, которые вы показали на скриншоте, ещё показывают нечто под названием "user data". Возможно, этот параметр можно как-нибудь уникально и предсказуемо инициализировать изнутри программы (чтобы он оставался одним и тем же при добавлении новых контролов на форму / двигании контрола / перемещении на другую панельку на той же форме и т.д.). Потому-что я думаю, если завязаться на BoundingRectangle, то программу никогда в будущем нельзя будет менять без тотальной переделки всех скриптов автоматизации. Вот что показывает WinSpy++ про TBitBtn-кнопку (смотри скриншот): ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2021, 18:56 |
|
||
|
Управление приложением, написанным на Delphi6
|
|||
|---|---|---|---|
|
#18+
Кроик Семён Возможно, этот параметр можно как-нибудь уникально и предсказуемо инициализировать изнутри программы Код: pascal 1. Проблема в том, что Delphi иногда сама туда записывает информацию. Кроме того это доступно только для TWinControl Кроик Семён Может, встроить в программу такую штуку: специальный обработчик сообщений, который по хендлу возвращает имя контрола ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2021, 20:30 |
|
||
|
Управление приложением, написанным на Delphi6
|
|||
|---|---|---|---|
|
#18+
Dual_Bios, Вводите поддержку аксесабилити, там два варианта есть. Или используй готовую библиотеку с поддержкой ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2021, 00:06 |
|
||
|
Управление приложением, написанным на Delphi6
|
|||
|---|---|---|---|
|
#18+
white_nigger, добрый день, не понял Вашу мысль, можно подробнее ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2021, 09:01 |
|
||
|
Управление приложением, написанным на Delphi6
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_ Кроик Семён Возможно, этот параметр можно как-нибудь уникально и предсказуемо инициализировать изнутри программы Код: pascal 1. Проблема в том, что Delphi иногда сама туда записывает информацию. Кроме того это доступно только для TWinControl Кроик Семён Может, встроить в программу такую штуку: специальный обработчик сообщений, который по хендлу возвращает имя контрола Можете привести пример такой интеграции ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2021, 09:03 |
|
||
|
Управление приложением, написанным на Delphi6
|
|||
|---|---|---|---|
|
#18+
Dual_Bios Можете привести пример такой интеграции ? Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2021, 11:47 |
|
||
|
Управление приложением, написанным на Delphi6
|
|||
|---|---|---|---|
|
#18+
Dual_Bios white_nigger, добрый день, не понял Вашу мысль, можно подробнее ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2021, 01:30 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=40078382&tid=2037239]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
159ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
| others: | 283ms |
| total: | 536ms |

| 0 / 0 |
