mehrmaliger Zugriff auf ll-Datei

Hallo,

wie kann ich auf eine ll-Datei zwei-oder mehrmals zugreifen? In meinem Programm gibt es die Möglichkeit, dass der User ein neues instance des Programms starten kann. Und wenn er im ersten instance einen Bericht schon gedruckt hat, und dieser Bericht ist auf dem Bildschirm, dann kann er im zweiten instance denselben Bericht nicht ausdrucken, weil eine Fehlermeldung kommt, dass man ihn nicht drucken kann, weil der Prozess keinen Zugriff hat.

Kommt drauf an, wie Du die Datei öffnest. LlStgsysStorageOpen() mit READONLY müßte Mehrfachzugriff erlauben.

Paulchen

Soweit ich weiss (bin mir aber nicht ganz sicher), lockt der Viewer die LL-Datei wenn er diese anzeigt. Hier müsste man dann ggf. beim Starten der anderen Instance die Berichte “kopieren”. Zusätzlich würde sich dann auch die Frage stellen, ob man dann nicht auch prozessübergreifend (bspw. IPC) die jeweilige Instance über neue Berichte der anderen Instance benachrichtigt, um diese auch entsprechend kopieren zu können.

ich drucke den Bericht in ein viewer control auf einem Form. Kann ich in diesem Fall LlStgsysStorageOpen() benutzen?

Wenn das ViewerControl verwendet wird, müsste man die Property ‘FileName’ verwenden, um eine Vorschaudatei zu öffnen bzw. anzuzeigen. Aber vielleicht kann man vorher noch die Eigenschaft ‘ForceReadOnly’ des ViewerControls auf “True” setzen.

Ausprobieren :wink:

Aber ich hatte mal einen unbeabsichtigen Doppelzugriff Viewer + meine App (man soll halt doch GetTempFileName() benutzen), und da klappte es. Ist aber eine Weile her.

Paulchen