Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Error Message schließen

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:  Error Message schließen (1241 mal gelesen)
tjahnke
Mitglied


Sehen Sie sich das Profil von tjahnke an!   Senden Sie eine Private Message an tjahnke  Schreiben Sie einen Gästebucheintrag für tjahnke

Beiträge: 7
Registriert: 21.10.2010

erstellt am: 04. Jan. 2011 10:40    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

servus,
ich hänge gerade an einem problem. vielleicht könnt ihr mir da weiterhelfen.

hintergrund:
ich habe ein makro geschrieben, welches components in products umwandelt (externalize funktion)
das funktioniert auch wie es soll.

Problem:
gelegentlich kommt eine error message - diese möchte ich auch mit dem makro bestätigen
   
der befehl SendKeys.Send("{ENTER}") greift leider nicht immer, da er nur funktioniert wenn der error-dialog aktiv ist und er inaktiv wird sobald die schleife weiter durchlaufen wird

bei einem product mit nur wenigen components ist es nicht das problem den dialog nachinein manuel "weg zu klicken"
jedoch habe ich products die mehrere 100 bis 1000 components enthalten, da kommt der dialog öfters
es nervt dann den dialog gefühlte 100x "weg zu klicken"


gibt es eine möglichkeit error dialoge automatisch durch das makro zu schließen, bzw. zu überprüfen ob eine error message vorhanden ist?
danke

hier mein ein auszug aus dem code

Code:

Sub SUB_OneComponent()
        Dim CATIA As INFITF.Application
        CATIA = System.Runtime.InteropServices.Marshal.GetActiveObject("CATIA.Application")

        Dim oSel As Selection
        Dim oProd As Object = ""
        Dim oObject As Object
        Dim E As Object
        Dim Component(0)
        Component(0) = "Product"

        oSel = CATIA.ActiveDocument.Selection
        oSel.Clear()

        E = oSel.SelectElement2(Component, "################### Choose a Component #####################", False)

        If E = "Normal" Then
            If oSel.Count2 > 0 Then
                oObject = oSel.Item(1).Value
                Select Case oSel.Item(1).Type
                    Case Is = "PartDocument"
                        oProd = oObject.Product
                    Case Is = "Product"
                        oProd = oObject
                    Case Is = "Part"
                        oProd = oObject.Parent.Product
                    Case Else : MsgBox("something other than a part selected")
                End Select
                CATIA.StartCommand("Externalize product")
                SendKeys.Send("{ENTER}")
            Else
                MsgBox("nothing selected")
            End If
        End If
        oSel.Clear()
    End Sub

    Sub SUB_SubComponent()
        Dim CATIA As INFITF.Application
        CATIA = System.Runtime.InteropServices.Marshal.GetActiveObject("CATIA.Application")

        Dim oSel As Selection
        Dim oProd As Object = ""
        Dim oObject As Object
        Dim E As Object
        Dim Component(0)
        Component(0) = "Product"

        oSel = CATIA.ActiveDocument.Selection
        oSel.Clear()

        E = oSel.SelectElement2(Component, "################### Choose a Component #####################", False)

        If E = "Normal" Then
            If oSel.Count2 > 0 Then
                oObject = oSel.Item(1).Value
                Select Case oSel.Item(1).Type
                    Case Is = "PartDocument"
                        oProd = oObject.Product
                    Case Is = "Product"
                        oProd = oObject
                    Case Is = "Part"
                        oProd = oObject.Parent.Product
                    Case Else : MsgBox("something other than a part selected")
                End Select
                CATIA.StartCommand("Externalize all sub products")
                SendKeys.Send("{ENTER}")

            Else
                MsgBox("nothing selected")
            End If
        End If
        oSel.Clear()
    End Sub


[Diese Nachricht wurde von tjahnke am 04. Jan. 2011 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

RSchulz
Moderator²
Head of CAD, Content & Collaboration / IT-Manager



Sehen Sie sich das Profil von RSchulz an!   Senden Sie eine Private Message an RSchulz  Schreiben Sie einen Gästebucheintrag für RSchulz

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. Jan. 2011 10:57    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für tjahnke 10 Unities + Antwort hilfreich

Hallo,
hast du es mal folgendermaßen versucht?

Code:

  CATIA.DisplayFileAlerts = False

  ...
      code
  ...

  CATIA.DipslayFileAlerts = True


------------------
MFG
Rick Schulz

Nettiquette (CAD.de)  -  Was ist die Systeminfo?  -  Wie man Fragen richtig stellt.  -  Unities

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

tjahnke
Mitglied


Sehen Sie sich das Profil von tjahnke an!   Senden Sie eine Private Message an tjahnke  Schreiben Sie einen Gästebucheintrag für tjahnke

Beiträge: 7
Registriert: 21.10.2010

erstellt am: 05. Jan. 2011 07:49    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Guten Morgen,

hat leider nicht funktioniert - danke trotzdem!
Hab mir jetzt ein kleines Prog geschrieben, welchen mir die Error Message bestätigt.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz