Autor Beitrag
Steini1980
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 59

WIN 2000, SuSE 9.3 Pro
Delphi 6 Enterprise, Lazarus 0.9.16b, PHP (Dreamweaver MX)
BeitragVerfasst: Fr 16.01.09 13:29 
Hallo,
ich versuche in Delphi 6 mittels der Word2000 Komponente unter dem Reiter Servers ein MS Word Dokument auszufüllen. Dies klappt soweit auch ganz gut, getestet habe ich das schon mit Word 2000, Word 2002 OEM (V10), Word XP OEM (V11), Word 2003 (V11.5604) und mit Word 2007. Bis auf die OEM Version von Word XP hat der Zugriff überall funktioniert. Habe es auf zwei unterschiedlichen Rechnern getestet. Woran kann das liegen, hat sich da mal zwischenzeitlich irgendwas geändert und wurde wieder zurückgeändert?

Das peinliche ist, dass genau diese Version beim Kunden liegt, die anderen Versionen sind alles Tests die ich hier in der Firma ausgeführt habe. Beim Kunden sind zwei Rechner, einen habe ich mitgebracht und einer war bereits vorhanden. Auf beiden Rechner das gleiche Problem, ich kann das Problem nur leider hier nicht nachvollziehen weils bei mir auf allen Rechnern, in den mir zur Verfügung stehenden Wordversionen klappt. Übrigens greift das Programm mit der gleichen Methode auch auf MS Excel zurück, dies Funktioniert aber wunderbar!

Hat jemand einen Tipp?!

Gruß
Thomas
MSCH
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1448
Erhaltene Danke: 3

W7 64
XE2, SQL, DevExpress, DevArt, Oracle, SQLServer
BeitragVerfasst: Fr 16.01.09 20:17 
*Glaskugel raushol*
hast du es auch mal mit der WordXP.pas Variante probiert?
Ist Word-die Installation schrott?
word Installation minimal oder abgespeckt? (VB Scripts?)
Rechte?Macros?

Kannst du das auf eine Funktion einschränken, was genau nicht funzt?

hascht du mal a bissle source?
:-)Msch

_________________
ist das politisch, wenn ich linksdrehenden Joghurt haben möchte?
Steini1980 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 59

WIN 2000, SuSE 9.3 Pro
Delphi 6 Enterprise, Lazarus 0.9.16b, PHP (Dreamweaver MX)
BeitragVerfasst: Mo 09.03.09 20:00 
Bin leider nicht im Besitz der WordXP.pas, wenn mir diese jemand der Verfügung stellen würde, könnte ich mal versuchen, ob ich diese in Delphi6 zum laufen bekomme.

Das Problem konnte ich mittlerweile weitestgehend einschränken, ich glaube es liegt am Service Pack 3 von Windows XP, vermutlich an MDAC. Hat jemand ne Idee wie ich das in Griff bekommen könnte?

Sorry für mein Doppelposting, habe vergessen, dass es dazu noch einen offenen Thread zum Thema gibt.
Keldorn
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 2266
Erhaltene Danke: 4

Vista
D6 Prof, D 2005 Pro, D2007 Pro, DelphiXE2 Pro
BeitragVerfasst: Mo 09.03.09 21:41 
Du hast leider nicht verraten, was du genau machst.
Was für einen Fehler erhälst du denn außerdem genau?

wenn es mit den höheren Word-Versionen funktioniert, glaube ich nicht, daß es an der wordxp.pas liegt.
Wenn Du wordxp selber installiert hat, kannst Du die Datei auch selber erzeugen Projekt->typbibliothek importieren -> Microsoft Word auswählen und dann installieren.
ich würde das für alle (auch excel und office) machen und vorher (!) das office-package entfernen.
Das wäre allerdings wirklich der letzte Schritt -> der Fehler liegt sicher woanders.

_________________
Lükes Grundlage der Programmierung: Es wird nicht funktionieren.
(Murphy)
Steini1980 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 59

WIN 2000, SuSE 9.3 Pro
Delphi 6 Enterprise, Lazarus 0.9.16b, PHP (Dreamweaver MX)
BeitragVerfasst: Di 10.03.09 14:26 
Wie gesagt, ich bin mir mittlerweile ziemlich sicher, dass es nicht an Word liegt sondern am SP3 von Windows XP bzw. an der aktuellsten MDAC Version. Dies konnte ich auch hier in der Firma nachvollziehen. Läuft auf einem PC SP2 und man zieht sich von Windows Update lediglich die MDAC herunter, dann funktionierts nicht mehr, gleiches gilt wenn man SP3 installiert.

Merkwürdigerweise funktioniert es dann aber trotzdem manchmal, meistens jedoch nicht. Also wenn ich SP3 drauf habe und ich mache ein paar Neustarts, dann kann es sein, dass der Wordzugriff beim dritten Neustart 1-2x funktioniert. Dann wieder nicht mehr.

Ich lasse eigentlich immer das selbe Programm, mit den selben Daten ausführen. Es handelt sich um eine Word-Vorlage mit Formularfeldern und ich fülle diese Formularfelder über die Anwendung aus.

Den Fehler erhalte ich aber bereits beim Verbindungsaufbau zu Word (also noch bevor ich die Daten an Word sende) in folgender Codezeile "WordApplication.Connect;". Als Fehlermeldung erhalte ich dann "Schnittstelle nicht unterstützt".

Update: Word 2007 und SP3 machen keine Probleme, vermutlich besteht das Problem nur mit älteren Word-Versionen im Zusammenhang mit SP3!

Update: Im englischen Windows XP lautet die Fehlermeldung nicht "Schnittstelle nicht unterstützt", sondern "The RPC server ist unavailable".
Jakob_Ullmann
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1747
Erhaltene Danke: 15

Win 7, *Ubuntu GNU/Linux*
*Anjuta* (C, C++, Python), Geany (Vala), Lazarus (Pascal), Eclipse (Java)
BeitragVerfasst: Di 10.03.09 20:43 
was hast du genau vor? Eventuell gibt's ja ne Alternative.
Keldorn
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 2266
Erhaltene Danke: 4

Vista
D6 Prof, D 2005 Pro, D2007 Pro, DelphiXE2 Pro
BeitragVerfasst: Di 10.03.09 22:40 
mich wundert jetzt die Fehlerausschrift:

Zitat:

The RPC server ist unavailable

paßt ja gar nicht zur deutschen :?

Zitat:

Der RPC-Server ist nicht verfügbar.

z.B. erhalte ich des öfteren auch. Bei mir liegts dann immer an einem fehlenden disconnect und erneutem Verbinden. Bei mir kann der Anwender das Worddoc noch weiterbearbeiten und auf das schließen reagier ich per events und rufe dann das disconnect auf, das gab/gibt es wirklich einen bug. anderer Problemfall ist, wenn z.B. Word abstürzt.

ich hatte hier schonmal was geschrieben: www.delphi-forum.de/...p;highlight=rpc+word

vielleicht kannst du ja dahingehend nochmal prüfen

Gruß Frank

_________________
Lükes Grundlage der Programmierung: Es wird nicht funktionieren.
(Murphy)
Steini1980 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 59

WIN 2000, SuSE 9.3 Pro
Delphi 6 Enterprise, Lazarus 0.9.16b, PHP (Dreamweaver MX)
BeitragVerfasst: Mi 11.03.09 16:35 
Super, dass hilft mir sicher schon einmal eine Ecke weiter. Jedenfalls weiss ich nun, wo ich mit der Fehlersuche weitermachen kann. In meiner Anwendung gibts zwar für jedes Connect auch ein Discounnect, und wie ich das am Entwicklungsrechner nachvollziehen konnte, werden diese auch beide ausgeführt vor bzw. nach jeder Übergabe an Word ausgeführt.

Kann natürlich evtl. sein, dass die eine oder andere Wordversion anders reagiert, wenn ein Feld in der Dokumentvorlage nicht vorhanden ist. Aber eigentlich sollte auch das mit Try ... Excepts soweit abgefangen werden, damit das Disconnect am Ende auf alle Fälle ausgeführt wird. Jedenfalls werd ich mir das Connecten und Disconnecten mal genauer anschauen.
Steini1980 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 59

WIN 2000, SuSE 9.3 Pro
Delphi 6 Enterprise, Lazarus 0.9.16b, PHP (Dreamweaver MX)
BeitragVerfasst: Mo 23.03.09 14:44 
Also erstmal wollte ich mich für eure Bemühungen bedanken. Ich habe das Problem jetzt gelöst, ich weiss jetzt auch wo der Fehler lag. Bei den genannten XP-Versionen des Kunden war eine Trialversion von MS Office 2007 dabei. Diese wurde direkt nach der Installation des Betriebssystems wieder deinstalliert und stattdessen wurde eine Lizenzierte Version von dem bewussten Office XP installiert.

Nun hat aber Dummerweise Office 2007 seine Spuren in der Registry hinterlassen, so dass meine Anwendung immer mit dem nichtvorhandenen Office 2007 connecten wollte. Wenn ich Testweise andere Wordversionen installiert habe, ist das Problem komischerweise nie aufgetreten.

Jedenfalls musste ich die Office 2007 Version vollständig entfernen. Die entsprechenden Einträge in der Registry zu finden sollte nicht schwer sein, ansonsten gibts hier noch eine kurze Anleitung:

beqiraj.com/office/2...ps/cleanup/index.asp