Сначала вы должны знать, что при использовании пользовательского интерфейса и по-прежнему хотите взаимодействовать с CATIA, вы должны выбирать:
UserFormNow.Show 0
Me.Hide
или UserFormNow.Hide
Затем я настоятельно рекомендую вам не искать элементы с именами:
UserFormNow.Controls("Textbox" & i).SetFocus
Если вы хотите сгруппировать элементы управления и прокрутить их, используйте кадр , а затем используйте цикл For Each
.
For Each currentTextBox In MyFrame.Controls
MsgBox currentTextBox.Text
Next
Что касается вашего кода, можно сделать много упрощений:
Private Sub Auswahl_Click()
Dim sel As Object
Dim currentTextBox As TextBox
Dim Filter As Variant
ReDim Filter(0)
Filter(0) = "Body"
Set sel = CATIA.ActiveDocument.Selection
'Loop through each textbox
For Each currentTextBox In MyFrame.Controls
sel.Clear
'Ask for the selection and test the result at the same time
If sel.SelectElement2(Filter, "Wahle ein Body aus...", False) = "Normal" Then
'Get the name without saving the object
currentTextBox.Text = sel.Item2(1).Value.Name
Else
'allow the user to exit all the process if press Escape
Exit Sub
End If
Next
sel.Clear
End Sub
Я испробовал много решений, я изначально думал, что это проблема экземпляра AWS EC2, потому что код потока диалога отлично работает на моем локальном сервере Windows, но не на сервере AWS.
После нескольких исследований я обнаружил, что проблема была в модуле bcMath, который не установлен в настройке php моего экземпляра EC2.
Ниже приведены шаги для установки модуля bcMath на PHP - 1. Сначала проверьте, есть ли у вас bcMath. Проверьте это с помощью phpinfo (); функция. 2. Используйте следующую команду для установки bcMath на свой экземпляр AWS php - $ sudo yum install php55-bcmath