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;
}
}