Announcement

Collapse
No announcement yet.

Word-Dokument in TOleContainer

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

  • Word-Dokument in TOleContainer

    Hallo,

    ich habe in meiner Anwendung einen TOleContainer, in welchen ich ein Word-Dokument lade. Das funktioniert auch soweit gut, bis dass ein anderes Objekt im Formular markiert wird. Die Anzeige wird zwar weiterhin korrekt dargestellt, jedoch ist ein weiteres Bearbeiten, bzw. reaktivieren nicht möglich...

    Meine Frage ist jetzt, über welches Event ich diesen bearbeitungsmöglichen Zustand vom deaktivierten unterscheiden kann, oder ob es einen anderen Weg gibt.

    Danke im Voraus,
    Heiko Ziegler

  • #2
    Hallo,

    in dem Beispielprojekt <i>WordOLETest.dpr</i> aus meinem COM/DCOM/COM+-Buch habe ich das Problem (Anwendung verliert den Fokus und wird neu fokussiert) folgendermaßen gelöst:

    <pre>

    // Neu: OLEContainer beim Aktivieren der Anwendung neu initialisieren

    procedure TFormMain.FormCreate(Sender: TObject);
    begin
    Application.OnActivate := ActivateWordDocInContainer;
    end;

    // Datenmodul-Methode aufrufen: Im Edit-Modus wird DoVerb(1) aufgerufen

    procedure TFormMain.ActivateWordDocInContainer(Sender: TObject);
    begin
    DM.ActivateContainer
    end;
    </pre>

    <pre>
    procedure TDM.ActivateContainer;
    begin
    if TableWordOLE.State = dsEdit then
    FormMain.OleContainerWord.DoVerb(1);
    end;
    </pre>
    Über <b>DoVerb</b> wird das im TOleContainer eingebettete Objekt wieder reanimiert

    Comment

    Working...
    X