Autor
|
Thema: Daten von einem Sub an ein anderes weitergeben (1142 mal gelesen)
|
PhilippNr1 Mitglied Konstrukteur
Beiträge: 4 Registriert: 18.08.2014
|
erstellt am: 04. Dez. 2014 15:32 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, ich hab mal ne Frage zum Übergeben von Strings vom einen Sub in ein anderes. In dem Programm an dem ich arbeite gibt es ein Sub, das eine Kollisionsanalyse durchführt und ein weiteres, das die Kollisionsanalyse wieder löscht. Provisorisch habe ich im zweiten Sub eine weitere Kollisionsanalyse eingebaut um Kollisionen zu erhalten, da ich es noch nicht hinbekommen habe den String "Bericht" zu übergeben. Kann mir hier vielleicht jemand weiterhelfen? Grüße, Philipp Code:
'----------------------- 'Bereich Analyse -> Button Kollisionanalyse '-----------------------Private Sub Clash_Button_Click() 'Aktion wird nur ausgeführt, wenn die richtige Datei in CATIA geöffnet ist If CATIA.ActiveDocument.FullName = "Truck_Konfiguration.CATProduct" Then GUI_Main.Enabled = False 'Status aktualisieren Label_Status.Caption = "Working - Kollisionsanalyse wird durchgeführt" Dim Bericht() As String 'Kollisionsanalyse mit Einfärben der Bauteile durchführen Bericht = Analyse.Clash(1) 'Berichtdatei abarbeiten und in GUI_Result darstellen: 'GUI_Result zurücksetzen GUI_Result.ListBox_Ergebnis.Clear GUI_Result.ListBox_Ergebnis.ColumnCount = 1 GUI_Result.Label_Info.Caption = "Kollisionen:" 'Daten aus der Berichtdatei in GUI_Result schreiben Dim I As Integer I = 0 Do While Bericht(I, 0) <> "" GUI_Result.ListBox_Ergebnis.AddItem ((I + 1) & ": " & Bericht(I, 0) & " & " & Bericht(I, 2)) I = I + 1 Loop If I = 0 Then GUI_Result.ListBox_Ergebnis.AddItem "Keine Kollisionen" End If 'Status aktualisieren Label_Status.Caption = "" 'GUI_Result anzeigen GUI_Result.Show GUI_Main.Enabled = True Else MsgBox "Die Fahrzeugkonfiguration muss zuerst aktiviert werden!" End If End Sub
Code:
'----------------------- 'Bereich Analyse -> Button Kollisionanalyse entfernen '-----------------------Private Sub ClashDelete_Button_Click() Dim I As Integer Dim Bericht() As String 'Status aktualisieren Label_Status.Caption = "Kollisionen werden entfernt" 'Farbton der Kollisionsteile auf Default zurücksetzen Bericht = Analyse.Clash(0) I = 0 Do While Bericht(I, 0) <> "" Dim Farbezurücksetzen As Selection Set Farbezurücksetzen = CATIA.ActiveDocument.Selection Farbezurücksetzen.Clear Dim Komponente As String Komponente = Bericht(I, 0) Farbezurücksetzen.Search "Name='" & Komponente & "';Alle" Farbezurücksetzen.VisProperties.SetRealColor 210, 210, 255, 1 Farbezurücksetzen.Clear Komponente = Bericht(I, 2) Farbezurücksetzen.Search "Name='" & Komponente & "';Alle" Farbezurücksetzen.VisProperties.SetRealColor 210, 210, 255, 1 Farbezurücksetzen.Clear I = I + 1 Loop 'Kollision aus Strutkturbaum entfernen Set Selektion = CATIA.ActiveDocument.Selection Selektion.Clear Selektion.Search "Name=*Kollision.*;all" Dim oprod As Product Set oprod = CATIA.ActiveDocument.Product Set TheClashes = oprod.GetTechnologicalObject("Clashes") For I = 1 To Selektion.Count TheClashes.Remove (Selektion.Item(I).Value.Name) Next 'Status aktualisieren Label_Status.Caption = ""
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RSchulz Moderator² Head of CAD, Content & Collaboration / IT-Manager
Beiträge: 5541 Registriert: 12.04.2007 @Work Lenovo P510 Xeon E5-1630v4 64GB DDR4 Quadro P2000 256GB PCIe SSD 512GB SSD SmarTeam V5-6 R2016 Sp04 CATIA V5-6 R2016 Sp05 E3.Series V2019 Altium Designer/Concord 19 Win 10 Pro x64
|
erstellt am: 04. Dez. 2014 15:40 <-- editieren / zitieren --> Unities abgeben: Nur für PhilippNr1
|
PhilippNr1 Mitglied Konstrukteur
Beiträge: 4 Registriert: 18.08.2014
|
erstellt am: 04. Dez. 2014 16:02 <-- editieren / zitieren --> Unities abgeben:
Dank für die schnelle Antwort! Hat leider noch nicht ganz geklappt, weil beide Subs mit Button_Click aktiviert werden sollen. Ich habs gerade so in der Art probiert, da kam aber ein Complie Error Code:
Private Sub Button1_Click() Dim strBlah as string strBlah = "So geht es bestimmt!" Sub_Button2_Click(strBlah) End Sub Private Sub Button2_Click(ByVal Übergabestring as string) msgbox(Übergabestring) End Sub
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RSchulz Moderator² Head of CAD, Content & Collaboration / IT-Manager
Beiträge: 5541 Registriert: 12.04.2007 @Work Lenovo P510 Xeon E5-1630v4 64GB DDR4 Quadro P2000 256GB PCIe SSD 512GB SSD SmarTeam V5-6 R2016 Sp04 CATIA V5-6 R2016 Sp05 E3.Series V2019 Altium Designer/Concord 19 Win 10 Pro x64
|
erstellt am: 04. Dez. 2014 17:02 <-- editieren / zitieren --> Unities abgeben: Nur für PhilippNr1
|
PhilippNr1 Mitglied Konstrukteur
Beiträge: 4 Registriert: 18.08.2014
|
erstellt am: 04. Dez. 2014 17:56 <-- editieren / zitieren --> Unities abgeben:
|
bgrittmann Moderator Konstrukteur
Beiträge: 11780 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 04. Dez. 2014 18:05 <-- editieren / zitieren --> Unities abgeben: Nur für PhilippNr1
Servus Du solltest dich mal in die Grundlagen von VB(A) einarbeiten. Kleine Korrektur in Ricks Code: Code: Sub_Button2_Click(strBlah)
Gruß Bernd PS: Bitte Systeminfo ausfüllen. ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |