Announcement

Collapse
No announcement yet.

Word 2000

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

  • Word 2000

    Hallo,

    mein Programm verwendet mit Hilfe von TWordApplication (Delphi 5) Word 97. Der Test ergab daß dies mit Word 2000 nicht einwandfrei funktioniert. Ich verwendet offensichtlich Visual Basic Befehle die in Word 2000 nicht genau die gleiche Funktionsweise haben. Nun ist es meine Aufgabe mein Programm sowohl mit Word 97 als auch mit Word 2000 umgehen kann.

    Was muß ich tun bzw. beachten? Meine erste Versuche ergaben daß neue Visual Basic Befehle die nur in Word 2000 zur Verfügung stehen nicht kompiliert werden können da Delphi diese nicht kennt.

    Für jeden Tip bin ich dankbar.

    Gruß
    Bernhard

  • #2
    Hallo,

    die neuen Delphi 5-Komponenten auf der Registerseite <i>Servers</i> sind nur die beim Import der Typbibliotheken von <b>Office 97</b> generierten <i>Wrapper</i>-Klassen (TOleServer-Nachfolger). Somit kann man jederzeit die neuen <i>Office 2000</i>-Typbibliotheken auf dem gleichen Weg importieren und hat dann neue Komponenten, mit deren Hilfe die neuen Events und Methoden von den Office2000-Anwendungen zur Verfügung stehen. Allerdings muss unter Delphi ein Komponenten-Name (Klassenname) eindeutig sein - somit muss man <br>
    a) entweder vor dem Import der Office2000-Typbibliotheken die "alten" Komponenten de-aktivieren (Package entladen), oder <br>
    b) beim Import der Office2000-Typbibliotheken die vorgeschlagenen Komponentennamen von Hand abändern (z.Bp. TW2kApplication anstelle von TWordApplication).

    Ich selber bevorzuge die Version a). In der nächsten Ausgabe der Zeitschrift DER ENTWICKLER ist von mir ein umfangreicher Artikel über das Thema <i>Delphi 5 und Office 2000</i> zu finden, in dem diese Probleme behandelt werden.

    Was in jedem Fall bleibt, ist das Problem der unterschiedlichen Word-Versionen. In meinem Buch <b>COM/DCOM mit Delphi</b> stelle ich einen Weg vor, wie ein Controller mit Hilfe einer DLL zur Laufzeit die Word-Versionen 6 (deutsches WordBASIC) oder 7 (engl. VBA) steuern kann, ohne das im Programm die gravierenden Unterschiede der beiden Word-Versionen berücksichtigt werden müssen. Es läuft dabei daraus hinaus, das im Programm nur eigene Hilfsfunktionen aufgerufen werden und innerhalb dieser Funktionen für jede Word-Version die "richtige" Syntax aufgerufen wird.

    P.S: Normalerweise sollten sich die Office2000-Anwendungen auch über die Delphi 5-Komponenten für Office 97 problemlos "fernbedienen" lassen. Nach den COM-Spielregeln darf ein einmal veröffentlichtes Interface nicht mehr geändert werden. In sehr vielen Fällen ist das zum Beispiel bei Word 2000 und Outlook 2000 auch der Fall - aber es gibt anscheinend auch Fälle, wo sich Microsoft nicht an die eigenen Spielregeln hält

    Comment


    • #3
      Hallo Andreas,

      vielen Dank für Deine ausführliche Antwort.

      Gruß
      Bernhar

      Comment

      Working...
      X