2016-03-11 1 views
0

Я работаю над Catia Automation.Чтение Информация отображается в поле для сообщений

Сценарий заключается в том, что всякий раз, когда какая-либо конкретная лицензия недоступна, появляется сообщение no licences are available и отображается неполный список пользователей, использующих лицензию.

Есть ли способ, посредством которого сообщение может считываться через код и использоваться в виде строки?

+0

Да, можно получить значение сообщения от объекта сообщения. Не могли бы вы разместить какой-нибудь образец кода, который, возможно, написал. – vcp

ответ

0

Из официальной документации «CAA V5 Automation Coding правила»:

Как поведение по умолчанию интерпретатор остановится и отобразить окно с сообщением об ошибке, когда возникает ошибка. Если вы хотите предпринять корректирующие действия при ошибке, принудительно отключить механизм автоматической обработки ошибок, используя «On Error Resume Next».

Это означает, что вы должны отключить обработку ошибок по умолчанию и вместо этого написать пользовательскую логику с использованием объекта ошибки Err.

Dim CATIA As Object 
On Error Resume Next  ' Disable automatic error handling 
    Set CATIA=GetObject(,"CATIA.Application") 
    iErr = Err.Number  ' For BasicScript parser (Unix) 
    If (iErr <> 0) Then ' Manually handle all errors 
     On Error Goto 0 ' Invalidates the Resume Next and clears the error 
     set CATIA=CreateObject("CATIA.Application") 
    End If 
On Error Goto 0   ' Invalidates the Resume Next and clears the error 
0

Err - это объект ошибки, содержащий информацию об ошибке.

вы можете использовать err.message, Err.Description, err.number получить информацию

Sub yoursub 
On Error goto error  ' goto error handling block 
    Set CATIA=GetObject(,"CATIA.Application") 

    // your code 

error: 
Debug.print Err.Description ' print description to immediate window 
Debug.print Err.Source  ' print source of error to immediate window 
Debug.print Err.Number  ' print error number to immediate window 
End Sub 
Смежные вопросы