Zum Hauptinhalt springen

Laden von Druckprofilen

Mit der Funktion LoadPrintingProfiles werden alle Profile mit jedem Zugriffsrecht geladen.

Beispiel, Druckprofile laden mit Validierung

    public bool LoadProfiles()
{
// Läd die Profildatei
LoadSettingsArgs loadRes = this.Pool.LoadPrintingProfiles(this.PlugIn.Application);

// Wenn die Datei nicht existiert
if (!loadRes.FileFound)
{
XSystem.XMsgBox.ShowException("file not found");
return false;
}

// Sonstiger Fehler beim Laden der Profildatei
if (!loadRes.Succeeded)
{
XSystem.XMsgBox.ShowException("Error loading printing profiles\nException Message: " + loadRes.ExceptionMessage);
return false;
}

// Wenn der Vorgang erfolgreich war, enthält das klassenfeld Pool die geladenen Profile.
// Der Zugriff erfolgt über die Dictionary this.Pool.PrintingProfiles
return true;
}

Beispiel mithilfe einer statischen Klasse, in der bereits beim holen der Instanz der Inhalt geladen wird

public static class PrintingManager
{
private static readonly PrintingPool _pool = new PrintingPool();

public static PrintingPool Instanz(Application app)
{
// Überprüft ob mindestens eine Profilkategorie geladen wurde
// Ansonsten wird LoadPrintingProfiles ausgeführt
bool privateLoaded = _pool.PrivateProfilesLoaded;
bool publicLoaded = _pool.PublicProfilesLoaded;
bool globalLoaded = _pool.GlobalProfilesLoaded;
if (!privateLoaded && !publicLoaded && !globalLoaded)
{
Load(app);
}
return _pool;
}

private static bool Load(Application app)
{
// Lädt die Profildatei
LoadSettingsArgs loadRes = _pool.LoadPrintingProfiles(app);

// Wenn die Datei nicht existiert
if (!loadRes.FileFound)
{
XSystem.XMsgBox.ShowException("file not found");
return false;
}

// Sonstiger Fehler beim Laden der Profildatei
if (!loadRes.Succeeded)
{
XSystem.XMsgBox.ShowException("Error loading printing profiles\nException Message: " + loadRes.ExceptionMessage);
return false;
}

// Wenn der Vorgang erfolgreich war, enthält das klassenfeld Pool die geladenen Profile.
// Der Zugriff erfolgt über die Dictionary this.Pool.PrintingProfiles
return true;
}
}