Announcement

Collapse
No announcement yet.

onDocumentBeforeSave (Print/Close) abfangen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • onDocumentBeforeSave (Print/Close) abfangen

    Hallo,

    ich benutze die Serverkomponenten von Delphi 6 (WordApplication) und möchte verhindern, dass Word seinen eigenen Speichern-Dialog anzeigt.
    Also setze ich in der Ereignisbehandlungsroutine (onDocumentBeforeSave)
    Cancel auf false oder auch wie in einem anderen Beitrag auf -1.
    Leider wird der Speichervorgang nicht abgebrochen und Word zeigt trotzdem seinen Dialog an.
    Gibt es vielleicht anderen Weg oder mache ich was falsch?

  • #2
    Hallo,

    >... mache ich was falsch?

    nein - der Grund für dieses Verhalten liegt darin, dass auch Delphi 6 an dieser Stelle immer noch einen Bug hat. Die von den VCL-Wrapperkomponenten unterstützten Events der COM-Objekte unterstützen die Parameter <b>nur als Einbahnstraße</b>, d.h. der gesetzte Wert kommt nicht beim Word-Objekt an.

    Anstelle die Servers-Komponenten von Delphi 6 zu nutzen, würde ich in diesem Fall die Wrapperkomponenten über das FreeWare-Tool <b>EventSinkImp.exe</b> (Download via <i>http://www.techvanguards.com/products/eventsinkimp/</i>) zusammenbauen lassen. Dort wird die Event-Schnittstelle vollständig (bidirektional) umgesetzt

    Comment


    • #3
      Geht auch einfacher :

      WordBool((TVarData(Cancel).VPointer)^):=Tru

      Comment

      Working...
      X