API-SmartCounter

Hallo

Wir verwenden zwei Zähler für die eindeutige Benennung von CAD-Dateien, die wir im ePDM-TRESOR speichern (P-XXXXX.sldprt und A-XXXXXX.sldasm). Unsere CAD-Dateien werden ausnahmslos alle im Tresor gesichert.

Ich entwickle eine hauseigene Anwendung, die neue Dateien generiert, die im Tresor gespeichert werden müssen. Also brauche ich Zugang zu den Zählern.

Ich möchte es richtig machen, das heißt, nicht direkt in XML-Dateien schreiben. Sonst könnte ich nichts über den konkurrierenden Zugang dieser Zähler sagen.

 

Ich habe das Vorhandensein der SmartCounter.dll-Datei entdeckt. Was für ein interessanter Name, nicht wahr? Gibt es eine zugehörige Dokumentation?

 

Herzliche Grüße

Hallo

Wenn Sie eine Anwendung über die PDM-API erstellen , können Sie, sofern ich mich nicht irre, in der Hilfe auf der GetSerialNumberNames-Seite nachsehen, damit Sie auf die Zähler zugreifen können.

1 „Gefällt mir“

Hallo

Um eine Nummer aus dem ePDM zu übernehmen, sehen Sie sich das Beispiel an: Erstellen von Seriennummern

und auch das Beispiel am Ende dieser Seite: Wert-Eigenschaft

Hallo

 

Vielen Dank für Ihre Antworten und Entschuldigung für meinen Mangel an Präzision. Unsere Zählernummer wird von der smartproperty vergeben und verwendet keine EPDM-Tools wie Seriennummern. Die Leistungsindikatoren werden in einer XML-Datei definiert, die außerhalb des Tresors (auf einer Windows-Freigabe) gespeichert ist.

 

<Counters>
  <Counter name="NomFichierPrt" id="Incrementing0" Auto="0" AutoName="" type="1">
    <Value value="55413" StartValue="0" step="1" />
    <Custom value="" SeparatorList=";" LinkFileList="False" />
    <Format value="P-0000000#" />
  </Counter>
  <Counter name="Incrementing" id="Incrementing" Auto="0" AutoName="" type="1">
    <Value value="0" StartValue="0" step="0" />
    <Custom value="" SeparatorList=";" LinkFileList="False" />
    <Format value="0#" />
  </Counter>
  <Counter name="NomFichierAsm" id="Incrementing1" Auto="0" AutoName="" type="1">
    <Value value="86557" StartValue="0" step="1" />
    <Custom value="" SeparatorList=";" LinkFileList="False" />
    <Format value="A-0000000#" />
  </Counter>
</Counters>

 

In diesem Fall ist die xml-Datei dafür gemacht.

Inkrementieren Sie einfach 'Value value="55413" ' in der

Schreiben wir direkt in die Datei? Besteht beim gleichzeitigen Zugriff nicht ein Risiko? Muss ich eine '.lock'-Sperrdatei erstellen?

verwendet FileShare.None:

bool success = false;
while (!success)
{
    try
    {
        using(Stream file = new FileStream(path, FileMode.Open, FileAccess.ReadWrite, FileShare.None))
        {
            // Read current content from file.
            // Make changes
            // Save new content to file.
        }
        success = true;
    }
    catch(IOException e)
    {
        // Someone else was modifying the file or another IO exception.
    }
}

OKAY. Ich denke, es wird es schaffen.

Ich werde einen "Feedback"-Kommentar abgeben, wenn ich meine Entwicklung vorangetrieben habe.

Vielen Dank und ein schönes Wochenende.