Autor
|
Thema: Dimensionsloses Array erstellen? (879 mal gelesen)
|
theshadog Mitglied
Beiträge: 61 Registriert: 18.03.2009
|
erstellt am: 03. Apr. 2009 16:31 <-- editieren / zitieren --> Unities abgeben:
Hi Leute! Kann man in CATScript kein dimensionsloses Array erstellen wie in VB? Wenn ich den code so hab, wie hier, zeigt er mir an "Index außerhalb des gültigen Bereichs". Schreib ich stattdessen Dim reference(3) as reference, kommt diese Fehlermeldung nicht. Oder initialisiere ich das Array falsch? Anbei mal der Code: Code: Dim i as Integer i = 0 dim reference() as reference 'Selectieren und ableiten do ableitung (i) Dim hybridShapes As HybridShapes Set hybridShapes = hybridBody.HybridShapes Set ableiten = hybridShapes.Item("Ableitung." & i) Set reference(i) = bauteil.CreateReferenceFromObject(ableiten) bauteil.InWorkObject = ableiten i = i + 1 ' Abfrage, ob weitere Flaeche abgeleiten werden soll Dim Message, Style, Title, Response, MyString Message = ("Weitere Flaeche ableiten?") Style = vbYesNo + vbDefaultButton2 Title = "Continue?" Response = MsgBox(Message, Style, Title) If Response = vbYes Then mystring = "yes" else mystring = "no" End if loop while mystring = "yes"
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
denyo_1 Moderator Manager
Beiträge: 2506 Registriert: 10.08.2005 HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3
|
erstellt am: 04. Apr. 2009 14:51 <-- editieren / zitieren --> Unities abgeben: Nur für theshadog
Hallo theshadog, das was du vorhast funktioniert IMHO auch nicht in VB. Du braucht einen ReDim Preserve um ein dimensionsloses Array nach der Deklaration mit "Dim" nochmal einen Dimemsion zuzuweisen (ohne die geht es nicht). Schau dir mal das Beispiel hier an:
Code:
Sub CATMain() Dim myArray() Dim Counter As Integer Counter = -1 Do Counter = Counter + 1 'Hier wird dem dimemsionslosen Array eine Dimension zugewiesen!!! ReDim Preserve myArray(Counter) myArray(Counter) = "Array-Position Nr.: " & UBound(myArray) Loop Until Counter = 2 Dim M1, M2, M3, M4, Title, Skin M1 = "Das Array sieht folgendermaßen aus:" M2 = "1 Zeile: " & myArray(0) M3 = "2 Zeile: " & myArray(1) M4 = "3 Zeile: " & myArray(2) Title = "Ergebniss" Skin = vbInformation + vbOKOnly Box = MsgBox(M1 + Chr(10) + Chr(10) + M2 + Chr(10) + M3 + Chr(10) + M4, Skin, Title) End Sub
------------------ MFG Daniel Die KATJA ist halt doch nur ne zickige Französin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
theshadog Mitglied
Beiträge: 61 Registriert: 18.03.2009
|
erstellt am: 07. Apr. 2009 09:39 <-- editieren / zitieren --> Unities abgeben:
|
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|