|
Neohapsis is currently accepting applications for employment. For more information, please visit our website www.neohapsis.com or email hr@neohapsis.com |
From: Daniel Bowen (dbowen_at_ES.COM)
Date: Tue Aug 13 2002 - 12:24:35 CDT
VBScript can handle more than just VARIANTs, it can handle oleautomation types.
The problem you're having is because of [in,out].
The short answer is change the [in, out] IXMLDOMDocument** to [in, out] IDispatch**.
[in,out] is generally a bad idea though for COM objects used in scripting languages.
The long answer is to read a previous post I wrote a while ago:
http://discuss.microsoft.com/SCRIPTS/WA-MSD.EXE?A2=ind0009D&L=ATL&P=R31818&I=-3
The ATL list on discuss.microsoft.com is also a good place to ask questions like these.
-Daniel
-----Original Message-----
From: Frederic Gos [mailto:frederic
GOS.DK]
Sent: Tuesday, August 13, 2002 3:36 AM
To: DCOM
DISCUSS.MICROSOFT.COM
Subject: Re: runtime error '800a000d' when attempting to call COM
function from ASP page
You will not be able to use that COM object from an ASP page.
VBScript can basically only handle VARIANT's. For it to work, the params
should have been VARIANTs holding IDispatch*
You should instead create a COM obj in VB or C++ that uses this object and
call it from an ASP page.
cheers
Frederic
-----Original Message-----
From: Keith Daly [mailto:keith_daly
HOTMAIL.COM]
Sent: Tuesday, August 13, 2002 11:17 AM
To: DCOM
DISCUSS.MICROSOFT.COM
Subject: runtime error '800a000d' when attempting to call COM function
from ASP page
Hi,
Hope this is the correct forum for this request, I don't see a pure COM
mailing list...
I'm having a problem accessing a function in a COM object from VBScript in
an ASP page. The COM object interface (I have no access to the source for
this) is
[id(0x60030000)] boolean ProcessMessage(
[in, out] IXMLDOMDocument** InputXML,
[in, out] IXMLDOMDocument** OutputXML,
[in, out] IXMLDOMDocument** MessageXML);
The VbScript I am using is:
Dim objQuote, outputXML, messageXML, return, inputXML
Set objQuote = Server.CreateObject("Object.Quote")
Set inputXML = Server.CreateObject("Microsoft.XMLDOM")
Set outputXML = Server.CreateObject("Microsoft.XMLDOM")
Set messageXML = Server.CreateObject("Microsoft.XMLDOM")
Set return = objQuote.ProcessMessage(inputXML, outputXML,
messageXML)
I get the following error when I run the script:
Microsoft VBScript runtime error '800a000d'
Type mismatch: 'objQuote.ProcessMessage'
I assume it's a problem with the type of the parameters. It may be a problem
with my version of msxml.dll. (though having checked it out using Oleview
and compared it against the doco for the COM object, it looks right).
Any help with fixing this gratefully accepted
Keith
_________________________________________________________________
MSN Photos is the easiest way to share and print your photos:
http://photos.msn.com/support/worldwide.aspx
----------------------------------------------------------------
Users Guide http://discuss.microsoft.com/archives/mailfaq.asp
contains important info. Save time, search the archives at
http://discuss.microsoft.com/archives/index.html .
To unsubscribe, mailto:DCOM-signoff-request
DISCUSS.MICROSOFT.COM
----------------------------------------------------------------
Users Guide http://discuss.microsoft.com/archives/mailfaq.asp
contains important info. Save time, search the archives at
http://discuss.microsoft.com/archives/index.html .
To unsubscribe, mailto:DCOM-signoff-request
DISCUSS.MICROSOFT.COM
----------------------------------------------------------------
Users Guide http://discuss.microsoft.com/archives/mailfaq.asp
contains important info. Save time, search the archives at
http://discuss.microsoft.com/archives/index.html .
To unsubscribe, mailto:DCOM-signoff-request
DISCUSS.MICROSOFT.COM
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]