serzh82saratov пишет:не подходит - работает надежно
не подходит тем что надёжно работает?
программа сбоит - отказывается сохранять данные
Так вы код покажите, какая связь между посылом текста в контрол, и сохранением данных.
а при следующей загрузке прорисовывает контрол уже с текстом из прошлой сессии.
Вам контрол нужен в сторонней проге, или в своём GUI AHK?
И чего вы хотите вообще добится?
Уважаемый serzh82saratov, не надо горячится. да и словесные перепалки нам ни к чему. Кода и информации в своем вопросе я привел ровно столько, сколько необходимо для описания данной проблемы. Ваше предложение использовать ControlSetText вместо ненадежно работающей ControlSetText имеет смысл, ибо в моей ситуации ControlSetText показала лучшие результаты. Для себя я ее использовать увы, не могу по причине побочных эффектов в целевом окне.
Если более детально, ситуация выглядит так:
Скрипт разрабатывается для управления диагностической программой для грузовых машин.
Вышеприведенный фрагмент кода посылает номер машины из переменной скрипта в соответствующее поле формы заказа на ремонт.
При тестовых прогонах скрипта выяснилось, что ControlSend работает со сбоями, описанными выше: в 11 из 71 формах номер авто был искажен. Причем применение Send вместо ControlSend дало похожие результаты. Еще Send в данном случае дополнительно требовал клика мыши по контролу, что нежелательно.
Применение ControlSetText само содержимое переменной в контрол посылает безошибочно, однако приводит к нештатному поведению самой диагностической программы, каким-то образом препятствуя завершению и сохранению открытого заказа, хотя визуально текст посылается куда надо.
Вот у меня и возник вопрос, есть ли возможность повысить надежность срабатывания ControlSend, ибо она мне в данной ситуации подходит лучше всего. Завтра поэкспериментирую с SetKeyDelay, в случае успеха - отпишусь. Однако, насколько я понимаю, на скорость посылки содержимого переменной SetKeyDelay не влияет, то есть успех маловероятен.