[PHP] new com -> unable to obtain IDispatch

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Chieliot
  • Registratie: September 2001
  • Laatst online: 08-09 13:41
In PHP ben ik bezig om word documenten om te zetten naar html bestanden.

Gisteren kon ik zonder problemen msword openen vanuit php met:

$word = new COM("Word.Application")

Maar vandaag geeft hij plots een fout:

Unable to obtain IDispatch for CLSID{000209FF-0000-0000-C000-00000000046}: The message filter indicated that the application is busy.

Ik heb gereboot in de hoop dat alles van msword werd afgesloten, staat ook niets meer in mijn taskmanager, maar nog steeds die fout. Ik kan msword wel gewoon opstarten. Ik heb andere code gebruikt, wat ook niet hielp. Gezocht op internet, daar krijg ik wat over de Regedit waarin enkele keys moeten kloppen en cdo.dll moet geregistreerd zijn, klopt ook allemaal.

Het rare is dat het gister dus werkte en vandaag niet meer zonder dat ik iets heb veranderd... uiteindelijk heb ik ook nog geprobeerd een Excel.Application te starten en dat werkt wel weer gewoon.

Ik gebruik windows 2000 met office 2000 beide proffesional met IIS en php-4.3.2

Vanaf vanochtend 8 uur al bezig met het zoeken naar een oplossing,
dus ik hoop dat iemand mij een tip of oplossing kan geven.

Edit: Heb ondertussen office opnieuw geinstalleerd, maar dat mocht niet baten...

Edit2: Telkens als ik het script run komt er een extra winword.exe in mijn taskmanager, deze kan ik niet verwijderen.

[ Voor 11% gewijzigd door Chieliot op 26-03-2004 15:27 ]

AMD XP1800+, 512MB Intern, Maxtor 160Gig, Matrox G550 32 DDR Dual Head in een Chieftec DX-01-SLD


Acties:
  • 0 Henk 'm!

Verwijderd

als ik dit zo lees ligt het misschien wel aan het bestand wat je probeert te openen in php..

probeer eens een ander bestand.. en staat er geen temp bestand meer van het bestand wat je wilt openen..

ik weet verder ook niet wat het kan zijn..

Acties:
  • 0 Henk 'm!

  • Chieliot
  • Registratie: September 2001
  • Laatst online: 08-09 13:41
Whoei! Een repley! Bedankt! Mijn testscript bestaat momenteel alleen nog uit de noodzakelijke code om een com verbinding op te zetten met Word. Dit werkt nog steeds niet, terwijl dezelfde code gister wel werkte en dezelfde code, maar dan met Excel wel werkt. Heb office opnieuw geinstalleerd, IIS opnieuw. Ben bijna geneigd windows opnieuw te installeren. Hoop dat er voor die tijd nog iemand met een helpend advies komt.

Misschien iemand die weet hoe ik alleen de COM+ components van windows kan verwijderen en opnieuw kan installeren?

AMD XP1800+, 512MB Intern, Maxtor 160Gig, Matrox G550 32 DDR Dual Head in een Chieftec DX-01-SLD


Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 00:27

.oisyn

Moderator Devschuur®

Demotivational Speaker

Ja maar wie zegt dat dat je probleem gaat oplossen? Ik zou eerst proberen uit te vinden waaraan het ligt voordat je vanalles opnieuw gaat installeren :)

(Ok, hoe je dat moet doen is een tweede natuurlijk ;))

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Acties:
  • 0 Henk 'm!

  • Chieliot
  • Registratie: September 2001
  • Laatst online: 08-09 13:41
Ja, geen gerantie dat het dan wel gaat werken, daar heb je gelijk in, maar ik ben de hele dag al aan het zoeken waar het aan kan liggen, kan niets vinden. En omdat dezelfde code wel heeft gewerkt en ook nog steeds met bijvoorbeeld excel werkt ben ik bang dat er gewoon een fout in word is geslopen, of in het com model m.b.t. word. Dus als ik die dingen opnieuw kan installeren zonder al teveel problemen en het werkt plots dan ben ik al blij, hoef ik geneens te weten waar de fout lag. Oplossing is voldoende. Het zijn inderdaad wat laatste wanhopige pogingen het toch nog aan de praat te krijgen.

AMD XP1800+, 512MB Intern, Maxtor 160Gig, Matrox G550 32 DDR Dual Head in een Chieftec DX-01-SLD


Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 00:27

.oisyn

Moderator Devschuur®

Demotivational Speaker

Heb je ervaring met andere COM-enabled programmeertalen als VB of Delphi? Anders moet je eens kijken wat er gebeurt als je het daarin doet

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Acties:
  • 0 Henk 'm!

  • Chieliot
  • Registratie: September 2001
  • Laatst online: 08-09 13:41
Dat is een goed idee, ik zal eens wat gaan proberen in VB, is al een tijdje terug, maar met wat voorbeelden van internet moet dat wel lukken. Mocht er wat uitkomen post ik dat meteen uiteraard :-)

AMD XP1800+, 512MB Intern, Maxtor 160Gig, Matrox G550 32 DDR Dual Head in een Chieftec DX-01-SLD


Acties:
  • 0 Henk 'm!

  • Chieliot
  • Registratie: September 2001
  • Laatst online: 08-09 13:41
Okey, ging dus ook fout in VB, helaas. Ligt dus niet specifiek aan PHP.

Maar ondertussen ook verder aan het zoeken uiteraard en ik heb gevonden dat het kan liggen aan het feit dat je Normal.dot corrupt is. Ik vond het al raar dat er plots een normal.dot in mijn C:\ stond.

Als je die verwijderd word er automatisch een nieuwe aangemaakt en kan je 1 malig, na een reboot, weer een com word object aanroepen. Dan is hij weer corrupt.

Dus ik zoek nu verder, maar hoop nog steeds dat er meer mensen zijn die dit probleem kennen en weten op te lossen. Om bij elke word -> html conversie mijn pc te rebooten en die normal.dot te verwijderen word ik ook niet vrolijk :9

Houden jullie mij op de hoogte, dan houd ik jullie op de hoogte ;)

Edit: Na elke com connection verwijder ik nu de normal.dot zodat hij weer nieuw wordt aangemaakt en ik weer 1x een connectie kan maken. Heel irrirant, maar vooruit, hoef niet meer te rebooten. Iemand enig idee hoe ik erachter kan komen of er een corrupte normal.dot wordt aangemaakt en / of ik dit kan repareren.

[ Voor 18% gewijzigd door Chieliot op 27-03-2004 15:03 ]

AMD XP1800+, 512MB Intern, Maxtor 160Gig, Matrox G550 32 DDR Dual Head in een Chieftec DX-01-SLD


Acties:
  • 0 Henk 'm!

  • Chieliot
  • Registratie: September 2001
  • Laatst online: 08-09 13:41
Na 3,5 dag zoeken en zwoegen heb ik de fout gevonden en werkt het allemaal weer als vanouds! Iedereen toch bedankt voor de hulp en voor de mensen met hetzelfde probleem hier een korte beschrijving van de oplossing die voor mij het werk deed:

Door onbekende reden had windows de security polici van mijn interactive user verwijderd, dit leidde tot een fout bij het aanroepen van een com word object wat er weer voor zorgde dat mijn normal.dot corrupt werd.

De oplossing is het herstellen van die security polici in dcomcnfg.exe

Meer info hierover op:

http://support.microsoft....aspx?scid=kb;EN-US;288366


Ik hoop dat jullie hier wat aan hebben!

Gegroet en het gaat u goed! 8) (sorry ben ff happy na 3,5 dagen klooien :+ )

AMD XP1800+, 512MB Intern, Maxtor 160Gig, Matrox G550 32 DDR Dual Head in een Chieftec DX-01-SLD


Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 00:27

.oisyn

Moderator Devschuur®

Demotivational Speaker

_o_ :P

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.

Pagina: 1