Showing results 1 to 5 of 5

Thread: "WriteSync" und "PWLevel"

  1. #1
    Join Date
    26.04.2010
    Posts
    95

    Default "WriteSync" und "PWLevel"

    Hallo zusammen,

    wir versuchen durch einen Wizard die Eigenschaften „WriteSync“ und „PWLevel“ der RGMRezepte zu bearbeiten.

    Ich habe in der Hilfe gelesen, dass beide Eigenschaften nur zum Lesen vorhanden sind. Es hat aber trotzdem bei uns vorher funktioniert, vielleicht weil wir andere Version or Build von zenon hatten. Aktuell arbeiten wir mit zenon 6.51 SP0 Build 5.

    Ist es irgendwie möglich diese Eigenschaften durch VBA zu bearbeiten?

    Grüße
    rln

  2. #2

    Default Re: "WriteSync" und "PWLevel"

    Hi rln,

    Es können beide Eigenschaften über VBA geändert werden. Das Beispiel unten zeigt wie:


    Sub SynchWrite()
    Dim myGrp As RGMRecipeGroup
    Dim myRec As RGMRecipe
    Set myGrp = MyWorkspace.ActiveDocument.RGMGroups.Item("PARAM")
    If Not myGrp Is Nothing Then
        Set myRec = myGrp.RecipeItem("PRODUCTPARAM1")
        If Not myRec Is Nothing Then
            'first set the option for synchonous write TRUE to activate the timeout property
            myRec.DynProperties("WriteSync") = True
            myRec.DynProperties("WriteTimeout") = 15000
            'set authorization level 127
            myRec.DynProperties("PWLevel") = 127
            'don't forget to save
            myRec.Save
        End If
    End If
    End Sub

    Es darf nicht vergessen werden, dass der Editor und VBA beide mit einer eigene Kopie der RGM Daten arbeiten. Wird über VBA etwas geändert während im Editor der RGM Knoten aktiv ist, wird das im Editor nicht automatisch aktualisiert.

    Erst wenn im Editor einen anderen Knoten aktiviert wird, und anschliessend wieder der RGM Knoten aktiviert wird, werden die Daten erneut geladen und die Änderungen die im Hintergrund durch VBA passiert sind, aktualisiert.

    Das gleiche gilt übrigens auch für die Runtime, und beschränkt sich nicht nur auf VBA.

    Auch jedes RGM Bild das geöffnet wird in der Runtime, arbeitet mit einer eigene Kopie der Daten. Sowohl im Netzwerkverbund als auch auf einem einzigen Rechner.

  3. #3
    Join Date
    26.04.2010
    Posts
    95

    Default Re: "WriteSync" und "PWLevel"

    Ok, Problem gefunden.
    Bei uns wird das RGMRezept erzeugt und genau nach dem Erzeugen bearbeitet. Der Beispiel-Kode funktioniert, aber nur wenn das RGMRezept in der Rezeptgruppe schon vorhanden ist. Kann das irgendwie gelöscht werden?

    Sub SynchWrite()
    
        Dim myGrp As RGMRecipeGroup
        Dim myRec As RGMRecipe
        
        Set myGrp = MyWorkspace.ActiveDocument.RGMGroups.Item("RGMTest")
        If Not myGrp Is Nothing Then
            Set myRec = myGrp.RecipeItem("RGMRezeptTest")
            If myRec Is Nothing Then
                Set myRec = myGrp.CreateRecipe("RGMRezeptTest")
            End If
            myRec.DynProperties("WriteSync") = True
            myRec.DynProperties("PWLevel") = 127
           myRec.Save
        End If
        
    End Sub

  4. #4

    Default Re: "WriteSync" und "PWLevel"

    Das Problem liegt in Set myRec = myGrp.CreateRecipe

    Auf folgender Weise funktioniert es:


    Sub SynchWrite()
    Dim myGrp As RGMRecipeGroup
    Dim myRec As RGMRecipe
    Set myGrp = MyWorkspace.ActiveDocument.RGMGroups.Item("PARAM")
    If Not myGrp Is Nothing Then
        Set myRec = myGrp.RecipeItem("PRODUCTPARAM6")
        If myRec Is Nothing Then
            myGrp.CreateRecipe ("PRODUCTPARAM6")
            Set myRec = myGrp.RecipeItem("PRODUCTPARAM6")
        End If
        If Not myRec Is Nothing Then
            myRec.DynProperties("WriteSync") = True
            myRec.DynProperties("WriteTimeout") = 16000
            myRec.Save
        End If
    End If
    End Sub

    Übrigens wird eine Erweiterung der Version 7 in RGM sein, dass die Eigenschaft "Synchron Schreiben" + der Timeout, global bei der Gruppe einstellbar ist, und in ein neues Rezept von der Gruppe abgeleitet wird. Lokal beim Rezept können diese Einstellungen dann noch mal geändert werden.

  5. #5
    Join Date
    26.04.2010
    Posts
    95

    Default Re: "WriteSync" und "PWLevel"

    Alles klar, danke.

Similar Threads

  1. Replies: 1
    Last Post: 19th May 2011, 05:54
  2. Replies: 2
    Last Post: 9th June 2009, 12:53
  3. Replies: 4
    Last Post: 8th April 2009, 09:27
  4. Replies: 5
    Last Post: 28th November 2008, 10:49
  5. Replies: 2
    Last Post: 3rd April 2008, 12:24

Posting Rules

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •