Änderung der Druckerzuordnung "überwachen"?

Hallo,

wie kann ich zuverlässig bei laufendem Designer darauf reagieren wenn die Druckerzuordnung im PFile geändert wurde? Ich nutze die L&L API (Version 15). Ich möchte den Anwender bestätigen lassen dass die Druckerzuordnung geändert wird.

Mit meinen bisherigen Ansätzen bin ich gescheitert:

  • als Reaktion auf den Callback LL_CMD_SAVEFILE geht es nicht, weil das PFile scheinbar erst nach Aufruf dieses Callbacks aktualisiert wird
  • als Reaktion auf ein LL_CMD_SELECTMENU (für file->load oder file->new) geht es ebenfalls nicht, weil LlGetPrinterFromPrinterFile immer noch den vorherigen Druckernamen zurückgibt obwohl der geänderte Druckername bereits in das PFile gespeichert wurde. Es kommt mir so vor als würde der Druckername irgendwo aus einem Cache kommen und nicht aus dem PFile auf der Platte geladen wird.
    Ich werde mir wohl so helfen müssen die “load” und “new” Menüeinträge zu deaktivieren um zu verhindern dass der Anwender aus dem Designer heraus ein anderes Projekt öffnet. Dann kann ich beim Beenden des Designers den Inhalt des PFiles vergleichen, das funktioniert zwar, ist aber unschön.

Hat jemand eine andere Idee?

Danke vorab,
Jens

Hallo Jens,

programmiertechnisch kenne ich keine Lösung, deshalb habe ich die P-Files schreibgeschützt, damit diese nicht ausversehen geändert werden. Wenn diese geändert werden sollen, nehme ich vor dem Designeraufruf kurz den Schreibschutz weg und setze ihn hinter her wieder.

Nicht schön die Lösung weil beim speichern mit aktiviertem Schreibschutz eine Fehlermeldung kommt, funktioniert aber.

Gruß,
Lars Vietense