Перейти к содержимому

Фотография

Работа с айтемами TdxBarControl


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 5

#1 gs1983

gs1983

    Новый участник

  • Members
  • Pip
  • 6 сообщений

Отправлено 12 апреля 2010 - 11:48

Использую TestComplete 7.5, перебором айтемов получаю нужный айтем:
[codebox]Function getButton(control, item)
Dim i, button

For i = 0 to control.ItemLinks.Count-1
If aqString.Trim(control.ItemLinks.Items(i).Caption) = item Then
Set button = control.ItemLinks.Items(i).Item
Exit For
End If
Next

If button is Nothing Then
Log.Error("Menu item:" & item & "was not found.")
End If

Set getButton = button
End Function[/codebox]

После этого вызываю у button нативный метод Click, при проигрывании - кнопка нажимается и появляется новое окно, однако после этого TestComplete подвисает и прекращает дальнейшее выполнение скрипта, хотя иконка TestCoplete показывает что идет Playback.

Можно ли как-то исправить эту проблему?

Спасибо.
  • 1

#2 modbear

modbear

    Специалист

  • Members
  • PipPipPipPipPip
  • 548 сообщений

Отправлено 12 апреля 2010 - 12:57

Скорее всего, надо звать нативный Click асинхронно основному скрипту. Как это сделать -- рассказано в статье Calling Methods Asynchronously.
  • 0

#3 gs1983

gs1983

    Новый участник

  • Members
  • Pip
  • 6 сообщений

Отправлено 13 апреля 2010 - 06:21

Помогло.
Спасибо большое!!!!
  • 0

#4 Lzk

Lzk

    Специалист

  • Members
  • PipPipPipPipPip
  • 504 сообщений
  • ФИО:Олег
  • Город:Мск

Отправлено 04 сентября 2014 - 08:47

Скорее всего, надо звать нативный Click асинхронно основному скрипту. Как это сделать -- рассказано в статье Calling Methods Asynchronously.

 

А можно где то статью увидеть ?

Error

Или написать здесь как в итоге разрешилась проблема?


  • 0

#5 modbear

modbear

    Специалист

  • Members
  • PipPipPipPipPip
  • 548 сообщений

Отправлено 04 сентября 2014 - 09:21

Скорее всего, надо звать нативный Click асинхронно основному скрипту. Как это сделать -- рассказано в статье Calling Methods Asynchronously.

 
А можно где то статью увидеть ?
Error
Или написать здесь как в итоге разрешилась проблема?

Calling Methods Asynchronously

Смысл в том, что если нативный метод показывает модальное окно, то этот метод надо звать не напрямую, а используя Runner.CallObjectMethodAsync.
  • 1

#6 Lzk

Lzk

    Специалист

  • Members
  • PipPipPipPipPip
  • 504 сообщений
  • ФИО:Олег
  • Город:Мск

Отправлено 08 сентября 2014 - 12:14

 

Calling Methods Asynchronously


Смысл в том, что если нативный метод показывает модальное окно, то этот метод надо звать не напрямую, а используя Runner.CallObjectMethodAsync.

 

 

Спасибо большое, помогло!

Call Runner.CallObjectMethodAsync(ClickBut.getButton(TdxDockControl.TdxBarControl,"Просмотр заявки"), "Click")

  • 0


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных