Задержка помогла :)
Нет, это не цикл 100*100 помог, это после cmb.WaitProperty("Enabled", True, 10000) cmb.Enabled = True (то есть цикл 100*100 только подстраховывал)))), и так было вчера, и позавчера.
А сегодня наконец-то получилось (вот текст исходный):
Log.AppendFolder("")
res_ = guiWindowTest("groupBox1", "ComboBox", "Name:WinFormsObject(""cmbProcessingCode"")", "cmbProcessingCode") ' на всякий случай
Set cmbProcessingCode = Project.Variables.VariableByName("cmbProcessingCode")
cmb_Exists_1 = cmbProcessingCode.Exists
cmb_Enabled_1 = cmbProcessingCode.Enabled
Call cmbProcessingCode.WaitProperty("Exists", True, 10000)
cmb_Exists_2 = cmbProcessingCode.Exists
cmb_Enabled_2 = cmbProcessingCode.Enabled
Call cmbProcessingCode.WaitProperty("Enabled", True, 10000)
cmb_Exists_3 = cmbProcessingCode.Exists
cmb_Enabled_3 = cmbProcessingCode.Enabled
For ijk = 1 To 100
If cmbProcessingCode.Exists And cmbProcessingCode.Enabled Then Exit For
BuiltIn.Delay(100)
Next
cmb_Exists_31 = cmbProcessingCode.Exists
cmb_Enabled_31 = cmbProcessingCode.Enabled
Call cmbProcessingCode.ClickItem(pSVVTipOp)
cmb_Exists_4 = cmbProcessingCode.Exists
cmb_Enabled_4 = cmbProcessingCode.Enabled
Log.PopLogFolder()
Log.Message("cmb_Exists_1 = " + CStr(cmb_Exists_1) + " cmb_Enabled_1 = " + CStr(cmb_Enabled_1) + "")
Log.Message("cmb_Exists_2 = " + CStr(cmb_Exists_2) + " cmb_Enabled_2 = " + CStr(cmb_Enabled_2) + "")
Log.Message("cmb_Exists_3 = " + CStr(cmb_Exists_3) + " cmb_Enabled_3 = " + CStr(cmb_Enabled_3) + "")
Log.Message("cmb_Exists_31 = " + CStr(cmb_Exists_31) + " cmb_Enabled_31 = " + CStr(cmb_Enabled_31) + "")
Log.Message("cmb_Exists_4 = " + CStr(cmb_Exists_4) + " cmb_Enabled_4 = " + CStr(cmb_Enabled_4) + "")
If (Not cmb_Enabled_3) Then
Log.Error("Not cmb_Enabled_3 (cmbProcessingCode.Enabled))")
End If
Log.Message("Выбрали тип операции '" + pSVVTipOp + "'")
А вот кусочек лога:
log_20100416_1.PNG 20,61К
30 Количество загрузок:То есть как раз так долго ожидаемая ситуация: после cmb.WaitProperty("Enabled", True, 10000)
cmb.Enabled = False, а после цикла 100*100 cmb.Enabled = True, и
вся цепочка за 2 секунды.
Получается, что cmb.WaitProperty("Enabled", True, 10000) иногда (оооочень редко) заканчивается ранее 10 секунд, но cmb.Enabled = False.
Такая вот оооооооочень редкая ошибка.