TMC-Dateien neu laden

Die .tmc-Datei eines TcCOM-Objekts beschreibt die Parameterschnittstelle des Moduls. Wird die TMC-Datei auf dem Datenträger aktualisiert, muss sie in der Solution neu geladen werden, damit die Änderungen sichtbar werden. Das geht über ConsumeXml direkt am Tree-Item, ohne die Solution zu schließen oder neu zu öffnen. Der Mode-Parameter steuert dabei, ob bestehende Einstellungen erhalten bleiben.

Voraussetzungen

C# Beispiel

Das erste Snippet lädt die TMC-Datei über den intern hinterlegten Pfad neu. Das zweite Snippet gibt Pfad und Mode explizit an. Das dritte Snippet exportiert die aktuell geladene TMC-Datei vor dem Reload in eine Datei, was sich als Sicherungskopie anbietet.

ITcSmTreeItem tcComObject = sysManager.LookupTreeItem(@"TIRC^TcCOM Objects^MyModule");

// Reload TMC file of the object (using current path)
tcComObject.ConsumeXml("<TreeItem><ReloadTmc>true</ReloadTmc></TreeItem>");

// Load TMC file from explicit path with mode
tcComObject.ConsumeXml(@"<TreeItem>
  <ReloadTmc Path=""C:\Projects\MyModule.tmc"" Mode=""warm"">true</ReloadTmc>
</TreeItem>");

// Export TMC file (optional, before reload)
tcComObject.ConsumeXml(@"<TreeItem>
  <ExportTmc Path=""C:\Temp\tmc.tmc""/>
</TreeItem>");

Mode bestimmt, welche bestehenden Einstellungen nach dem Reload erhalten bleiben:

- warm (Standard): Alle gespeicherten Einstellungen werden wiederhergestellt.
- cold: Nur Einstellungen, die nicht explizit gesetzt wurden, werden wiederhergestellt.
- origin: Keine Einstellungen werden wiederhergestellt. Das Objekt wird auf den Werkszustand zurückgesetzt.

Hat sich die GUID des Moduls geändert, schlägt der Reload fehl. Das Objekt muss in diesem Fall neu angelegt werden.