Re: Error generating java stubs for mshtml
Andrew Gillett <[email protected]>
| Newsgroups | gmane.comp.windows.devel.jawin |
|---|---|
| Message-ID | <[email protected]> |
Thanks for your reply Josh.
Looking at the code, the problem is not an unsupported type.
The problem occurs in:
int err = iTypeInfo.getRefTypeInfo(typeDesc.hreftype,
userDefinedType);
which returns a value of 80070057 (E_INVALIDARG).
The next line
if (HRESULT.FAILED(err)) {
throw new RuntimeException(new COMException(err).toString());
tests whether the MSB of err is set and throws the exception.
So the problem is occurring in the call to ITypeInfo.getRefTypeInfo().
This is a native method, and I can only follow the logic as far as the
C++ wrapper, where the "err" value is set in
src/com/develop/jawin/win32/com_develop_jawin_win32_ITypeInfo.cpp, line 241:
returnType=(jint)pTypeInfo->GetRefTypeInfo((long)hRefType,
&pRefTypeInfo);
So GetRefTypeInfo, which is a win32 library function, is returning the
E_INVALIDARG. Unfortunately, I can't tell what arguments are being
supplied. My next step will be to try and add some debug to get more
detailed info and build the package myself. But I was hoping someone
else might have tackled this before :)
Andrew
Josh Passenger wrote:
> Hi Andrew,
>
> The TypeParser class interfaces with a native dll that extracts type info
> from type libraries.
>
> AFAIK not all M$ types are currently supported, there are lots.
>
> Feel free to check out the line number in this file and add the type you
> need as a patch if you feel comfortable doing this.
>
> Josh
>
>> From: Andrew Gillett <[email protected]>
>> Reply-To: Discussion of Java/Win32/COM integration with Jawin
>> <[email protected]>
>> To: [email protected]
>> Subject: [JAWIN] Error generating java stubs for mshtml
>> Date: Sun, 10 Oct 2004 21:34:02 -0400
>> Received: from discuss.develop.com ([66.129.110.38]) by
>> mc1-f18.hotmail.com
>> with Microsoft SMTPSVC(5.0.2195.6824); Sun, 10 Oct 2004 19:04:56 -0700
>> Received: from develop-lserv (66.129.110.38) by discuss.develop.com
>> (LSMTP
>> for Windows NT v1.1b) with SMTP id <[email protected]>;
>> 10 Oct
>> 2004 21:49:04 -0400
>> Received: from DISCUSS.DEVELOP.COM by DISCUSS.DEVELOP.COM
>> (LISTSERV-TCP/IP
>> release 1.8e) with spool id 794786 for
>> [email protected];
>> Sun, 10 Oct 2004 21:49:03 -0400
>> Received: from develop-lserv (66.129.110.38) by discuss.develop.com
>> (LSMTP
>> for Windows NT v1.1b) with SMTP id
>> <[email protected]>; 10 Oct 2004 21:34:02 -0400
>> X-Message-Info: vAu4ZEtdRigRXcfsE18Qdjm0mpuJ/Tcw
>> Message-ID: <LISTSERV%[email protected]>
>> Precedence: list
>> Return-Path: [email protected]
>> X-OriginalArrivalTime: 11 Oct 2004 02:04:57.0943 (UTC)
>> FILETIME=[B5624E70:01C4AF36]
>>
>> Hi,
>>
>> I'm having trouble trying to generate the java stubs for IE6 in Windows
>> XP(SP2) using mshtml.tlb and jawin-1.0.19.
>>
>> It seem that an error is being generated in the native method,
>> ITypeInfo.getRefTypeInfo. The exception and stack trace are shown below.
>>
>> Can anyone suggest a way to resolve this problem?
>>
>>
>> Andrew
>>
>>
>>
>> Loaded TypeLibWrapper
>> Loaded TypeLibWrapper
>> [DEBUG] ********************************************
>> [DEBUG] TypeInfo GUID: GUID{3050f1c5 ffff98b5 11cf 00 00 00 00 00 00
>> 00 00
>> }
>> [DEBUG] TypeInfo Locale: 0
>> [DEBUG] TypeInfo Platform: 1
>> [DEBUG] TypeInfo Major version: 4
>> [DEBUG] TypeInfo Minor version: 0
>> [DEBUG] TypeInfo Flags: 8
>> Exception in thread "AWT-EventQueue-0" java.lang.RuntimeException:
>> org.jawin.COMException: 80070057: null
>> at
>> org.jawin.browser.typelib.TypeParser.buildUserDefinedDescription(TypeParser.java:921)
>>
>> at
>> org.jawin.browser.typelib.TypeParser.buildTypeDescription(TypeParser.java:900)
>>
>> at
>> org.jawin.browser.typelib.TypeParser.buildUserDefinedDescription(TypeParser.java:944)
>>
>> at
>> org.jawin.browser.typelib.TypeParser.buildTypeDescription(TypeParser.java:900)
>>
>> at
>> org.jawin.browser.typelib.TypeParser.buildTypeDescription(TypeParser.java:829)
>>
>> at
>> org.jawin.browser.typelib.TypeParser.parseFuncDesc(TypeParser.java:322)
>> at
>> org.jawin.browser.typelib.TypeParser.parseTypeInfo(TypeParser.java:166)
>> at
>> org.jawin.browser.gui.TypeBrowserFrame.loadCurrentProjectLibraries(TypeBrowserFrame.java:551)
>>
>> at
>> org.jawin.browser.gui.TypeBrowserFrame.editProjectProperties(TypeBrowserFrame.java:533)
>>
>> at
>> org.jawin.browser.gui.TypeBrowserFrame.newProject(TypeBrowserFrame.java:591)
>>
>> at
>> org.jawin.browser.gui.TypeBrowserFrame.access$200(TypeBrowserFrame.java:37)
>>
>> at
>> org.jawin.browser.gui.TypeBrowserFrame$3.actionPerformed(TypeBrowserFrame.java:223)
>>
>> at javax.swing.AbstractButton.fireActionPerformed(Unknown
>> Source)
>> at javax.swing.AbstractButton$Handler.actionPerformed(Unknown
>> Source)
>> at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown
>> Source)
>> at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
>> at
>> javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown
>> Source)
>> at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
>> at java.awt.Component.processMouseEvent(Unknown Source)
>> at javax.swing.JComponent.processMouseEvent(Unknown Source)
>> at java.awt.Component.processEvent(Unknown Source)
>> at java.awt.Container.processEvent(Unknown Source)
>> at java.awt.Component.dispatchEventImpl(Unknown Source)
>> at java.awt.Container.dispatchEventImpl(Unknown Source)
>> at java.awt.Component.dispatchEvent(Unknown Source)
>> at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown
>> Source)
>> at java.awt.LightweightDispatcher.processMouseEvent(Unknown
>> Source)
>> at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
>> at java.awt.Container.dispatchEventImpl(Unknown Source)
>> at java.awt.Window.dispatchEventImpl(Unknown Source)
>> at java.awt.Component.dispatchEvent(Unknown Source)
>> at java.awt.EventQueue.dispatchEvent(Unknown Source)
>> at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown
>> Source)
>> at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown
>> Source)
>> at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
>> at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
>> at java.awt.EventDispatchThread.run(Unknown Source)
>
>
> _________________________________________________________________
> Discover how everyone & everything in our world's connected:
> http://www.onebigvillage.com.au?&obv1=hotmail
>