Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Click OK to Terminate

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:  Click OK to Terminate (1706 mal gelesen)
Gepetto
Mitglied
Diplomand auf Arbeitssuche


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

Beiträge: 32
Registriert: 04.03.2009

erstellt am: 05. Mrz. 2009 09:44    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

Hallo Zusammen,
ich bin erst seit kurzem hier und konnte bis jetzt immer wieder gute Tipps und Tricks nachlesen. Jetzt hab ich aber ein Problem, welches ich nicht gefunden habe oder alleine lösen konnte:

' ----------        Entsprechendes Part/Product öffnen SUB    ----------
        ' ----------        Dateipfad lesen    ----------
        If oDrwSheets.Parent.Path = "" Then
          Box = "The active drawing has no external references" & vbLf
          Box = Box & "The makro will not work without external references on CATParts or CATProducts" & vbLf
          Box = Box & "The makro ended now" & vbLf
          Box = MsgBox(Box, 16, "abort!")
          Exit Sub
        End If
        ' ----------
    Set ProductDrawn = oDrwSheet.Views.Item(3).GenerativeBehavior.Document
    oPath = ProductDrawn.Parent.FullName
    oName = ProductDrawn.Parent.Name
   
    Dim CatWindows(100)
    Dim oWindow
    For II = 1 To CATIA.Windows.count
        Set CatWindows(II) = CATIA.Windows.Item(II)
        If oName = CATIA.Windows.Item(II).Name Then
            Set oWindow = CatWindows(II)
            oWindow.Activate
        End If
    Next
    If Not oName = CATIA.Windows.Item(II).Name Then
        Box = "the external reference PART/PRODUCT of the drwaing is not open!" & vbLf
        Box = Box & " Please open the external reference before starting the makro again" & vbLf
        Box = MsgBox(Box, 16, "abort!")
        Exit Sub
    End If
    Set oName = CATIA.ActiveDocument
'---------

Es soll ein Part oder Product geöffnet werden auf das sich das Drawing bezieht.
1. Link auslesen
2. Prüfen ob Fenster bereits geöffnet wurde
3. Falls nicht geöffnet dann Fehlermeldung ausspucken.

und genau dann wenn ich den 3. Punkt im Debug-Mode angehe kommt die beliebte MEldung "Click OK to terminate"!!!

Bitte helft mir.

MfG Jan

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

Lusilnie
Mitglied



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

Beiträge: 1486
Registriert: 13.07.2005

erstellt am: 05. Mrz. 2009 23:00    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 Gepetto 10 Unities + Antwort hilfreich

Hallo Gepetto,

willkommen im Froum!

Wenn die fett gedruckte Zeile Dein Problem ist, solltest Du doch mal nicht so sparsam mit Klammern sein! 
Ich würde sie entweder besser "klammern":

Code:
If (Not (oName = CATIA.Windows.Item(II).Name)) Then
oder anders gestalten:
Code:
    Dim notName As Boolean
    notName = True

    For II = 1 To CATIA.Windows.count
        Set CatWindows(II) = CATIA.Windows.Item(II)
        If oName = CATIA.Windows.Item(II).Name Then
            Set oWindow = CatWindows(II)
            oWindow.Activate
            notName = False
            Exit For

        End If
    Next
    If notName Then
        Box = "The external reference PART/PRODUCT of the drwaing is not open!" & vbLf
        Box = Box & " Please open the external reference before starting the makro again" & vbLf
        Box = MsgBox(Box, 16, "abort!")
        Exit Sub
    End If
Auch Dein Abschnitt mit den "Windows aktivieren" erklärt sich mir nicht wirklich, doch dies ist ja auch nur ein CODE-Auszug...


mfg,
Lusilnie

------------------
Alle Aussagen zu DassaultSystemes-Produkten sind sehr optimistisch, selbst diese!!!

frei nach größeren Geistern

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

Gepetto
Mitglied
Diplomand auf Arbeitssuche


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

Beiträge: 32
Registriert: 04.03.2009

erstellt am: 06. Mrz. 2009 07:25    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

Hallo Lusilnie,

danke, ich habe deinen anders gestalteten code übernommen und jetzt hab ich keinen Fehler mehr. Das ärgerliche war, dass als der Fehler zum ersten Mal aufgetreten ist, hatte ich seit mehreren Stunden nicht mehr gespeichert. 

Jetzt läuft es ja und speichern tue ich auch regelmäßiger 

Zu deiner Frage warum das Window aktiviert werden sollte:
Der User startet das Makro, wenn eine Zeichnung aktiv ist und soll dann gegebenenfalls einen Part auswählen. Dazu hatest Du mir schon die andere Frage beantwortet!

MfG Jan

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