Lisp HUG Maillist Archive

COM:MIDL problems

Hi

I am trying to compile the an IDL file for the Adobe SVG Viewer (the 
file is attached, I found it on the net at 
http://www.svg.org/wiki/index.php/AsvIDL)

However I get the following error:

> CL-USER 9 > (midl "ASVGViewer.idl" :depth 1)
> ;;; Processing ASVGViewer.idl
> 
> Error: [z:\lang\cl\ASVGViewerLW\ASVGViewer.idl:44]: Unexpected symbol "IDispatch"
> Skipping rest of statement.
> 
> **++++ Error between functions:
>   :ERROR is not of type CONS.
> ; *** 1 error detected, no fasl file produced.
> NIL
> ((NIL #<TYPE-ERROR 205EA1A4>))
> T

This is for LWW 4.2.7.

Does anybody have an idea about what is going wrong?

Thanks

--
Marco Antoniotti

Re: COM:MIDL problems

Unable to parse email body. Email id is 2604

Re: COM:MIDL problems

Hi Marco,

I can get you further and maybe some of what I show
you will help you get the rest of the way. 

At the top of the file:

import "ocidl.idl";

There may be a much better import file to use. That's
one I needed before and it clears up a lot of issues
for your file but may be overkill, or may still be
missing something you need. I say that because to
continue "making progress", you can comment out lines
in the idl file, including all lines with 'single':

//        HRESULT DefaultFontSize([out, retval]
single* pVal);

Two lines with 'custom' at the top:

//  custom(DE77BA64-517C-11D1-A2DA-0000F8773CE9,
83951780),
//  custom(DE77BA63-517C-11D1-A2DA-0000F8773CE9,
1004130005)

That gets you as far as:

....
;; Typedef LPSPECIFYPROPERTYPAGES as
LPSPECIFYPROPERTYPAGES
;; Struct tagCAUUID as TAG-CAUUID
;;   Struct field cElems as C-ELEMS
;;   Struct field pElems as P-ELEMS
;; Typedef CAUUID as CAUUID
;; Typedef LPCAUUID as LPCAUUID
;; Interface ISpecifyPropertyPages as
I-SPECIFY-PROPERTY-PAGES
;;   method GetPages as GET-PAGES
;; Typedef LPPERSISTMEMORY as LPPERSISTMEMORY



**++++ Error between functions:
  Unknown parent interface I-PERSIST.
; *** 1 error detected, no fasl file produced.
NIL
((NIL #<SIMPLE-ERROR 2067716C>) ((SUBFUNCTION (DEFUN
|COM Member : (I-ENUM-CONNECTIONS NEXT) wrapper|)
(SUBFUNCTION |COM Member : (I-ENUM-CONNECTIONS NEXT)
wrap...

I would search in the Visual C include directory for
I-PERSIST, or search in directories with IDL files, to
do additional imports, or determine if I really need
whatever is referring to I-PERSIST and remove it if I
don't need it. 

I've also done copy/paste to manually do the 'include'
or 'import'. Lispworks seems to choke sometimes. I
have seen IDL files with a lot of syntax in them that
Lispworks didn't like but which wasn't related to what
I needed, so making my own copy and removing the
unneeded syntax was a workaround.

I hope this helps. I am very interested, if you make
further progress, to know what you learn. I hope you,
or anyone else working with COM in LWW, don't mind
posting a bit about tips, techniques, or even a
working sample or two.

Jeff



--- Marco Antoniotti <marcoxa@cs.nyu.edu> wrote:
> Hi
> 
> I am trying to compile the an IDL file for the Adobe
> SVG Viewer (the 
> file is attached, I found it on the net at 
> http://www.svg.org/wiki/index.php/AsvIDL)
> 
> However I get the following error:
> 
> > CL-USER 9 > (midl "ASVGViewer.idl" :depth 1)
> > ;;; Processing ASVGViewer.idl
> > 
> > Error:
> [z:\lang\cl\ASVGViewerLW\ASVGViewer.idl:44]:
> Unexpected symbol "IDispatch"
> > Skipping rest of statement.
> > 
> > **++++ Error between functions:
> >   :ERROR is not of type CONS.
> > ; *** 1 error detected, no fasl file produced.
> > NIL
> > ((NIL #<TYPE-ERROR 205EA1A4>))
> > T
> 
> This is for LWW 4.2.7.
> 
> Does anybody have an idea about what is going wrong?
> 
> Thanks
> 
> --
> Marco Antoniotti
> > // typelib filename: NPSVG3.dll
> 
> [
>   uuid(8415B62C-3C1B-416E-B5D7-40D983A9FA50),
>   version(3.0),
>   helpstring("SVGActiveX 3.0 Type Library"),
>   custom(DE77BA64-517C-11D1-A2DA-0000F8773CE9,
> 83951780),
>   custom(DE77BA63-517C-11D1-A2DA-0000F8773CE9,
> 1004130005)
> 
> ]
> library SVGACTIVEXLib
> {
>     // TLib :     // TLib : OLE Automation :
> {00020430-0000-0000-C000-000000000046}
>     importlib("Stdole2.tlb");
> 
>     // Forward declare all types defined in this
> typelib
>     dispinterface _ISVGControlEvents;
>     interface ISVGControl;
> 
>     [
>       uuid(BD719F6D-BC21-4435-9BA1-AFD2F73E22B2),
>       helpstring("_ISVGControlEvents Interface")
>     ]
>     dispinterface _ISVGControlEvents {
>         properties:
>         methods:
>     };
> 
>     [
>       uuid(377B5106-3B4E-4A2D-8520-8767590CAC86),
>       helpstring("SVGCtl Class")
>     ]
>     coclass SVGCtl {
>         [default] interface ISVGControl;
>     };
> 
>     [
>       odl,
>       uuid(41066AF3-53A3-4C67-83AC-14688B13B31E),
>       helpstring("ISVGControl Interface"),
>       dual,
>       oleautomation
>     ]
>     interface ISVGControl : IDispatch {
>         [id(0x00000014), propget,
> helpstring("property SRC")]
>         HRESULT SRC([out, retval] BSTR* pVal);
>         [id(0x00000014), propput,
> helpstring("property SRC")]
>         HRESULT SRC([in] BSTR pVal);
>         [id(0x60020002), helpstring("gets the src")]
>         HRESULT getSrc([out, retval] BSTR* pVal);
>         [id(0x60020003), helpstring("sets the src")]
>         HRESULT setSrc([in] BSTR newVal);
>         [id(0xfffffdf3), propget, helpstring("Stock
> property ReadyState")]
>         HRESULT ReadyState([out, retval] long*
> pnReadyState);
>         [id(0x00000065), helpstring("method
> reload")]
>         HRESULT reload();
>         [id(0x00000002), propget,
> helpstring("property DefaultFontFamily")]
>         HRESULT DefaultFontFamily([out, retval]
> BSTR* pVal);
>         [id(0x00000002), propput,
> helpstring("property DefaultFontFamily")]
>         HRESULT DefaultFontFamily([in] BSTR pVal);
>         [id(0x60020008),
> helpstring("getDefaultFontFamily")]
>         HRESULT getDefaultFontFamily([out, retval]
> BSTR* pVal);
>         [id(0x60020009),
> helpstring("setDefaultFontFamily")]
>         HRESULT setDefaultFontFamily([in] BSTR
> newVal);
>         [id(0x00000003), propget,
> helpstring("property DefaultFontSize")]
>         HRESULT DefaultFontSize([out, retval]
> single* pVal);
>         [id(0x00000003), propput,
> helpstring("property DefaultFontSize")]
>         HRESULT DefaultFontSize([in] single pVal);
>         [id(0x6002000c),
> helpstring("getDefaultFontSize")]
>         HRESULT getDefaultFontSize([out, retval]
> single* pVal);
>         [id(0x6002000d),
> helpstring("setDefaultFontSize")]
>         HRESULT setDefaultFontSize([in] single
> newVal);
>         [id(0x00000004), propget,
> helpstring("property DefaultAntialias")]
>         HRESULT DefaultAntialias([out, retval] long*
> pVal);
>         [id(0x00000004), propput,
> helpstring("property DefaultAntialias")]
>         HRESULT DefaultAntialias([in] long pVal);
>         [id(0x60020010),
> helpstring("getDefaultAntialias")]
>         HRESULT getDefaultAntialias([out, retval]
> long* pVal);
>         [id(0x60020011),
> helpstring("setDefaultAntialias")]
>         HRESULT setDefaultAntialias([in] long
> newVal);
>         [id(0x00000012), propget,
> helpstring("property FULLSCREEN")]
>         HRESULT FULLSCREEN([out, retval] BSTR*
> pVal);
>         [id(0x00000012), propput,
> helpstring("property FULLSCREEN")]
>         HRESULT FULLSCREEN([in] BSTR pVal);
>         [id(0x00000013), propget,
> helpstring("property USE_SVGZ")]
>         HRESULT USE_SVGZ([out, retval] BSTR* pVal);
>         [id(0x00000013), propput,
> helpstring("property USE_SVGZ")]
>         HRESULT USE_SVGZ([in] BSTR pVal);
>         [id(0x00000015), propget,
> helpstring("property WMODE")]
>         HRESULT WMODE([out, retval] BSTR* pVal);
>         [id(0x00000015), propput,
> helpstring("property WMODE")]
>         HRESULT WMODE([in] BSTR pVal);
>         [id(0x00000017), propget,
> helpstring("property INTERNALID")]
>         HRESULT INTERNALID([out, retval] BSTR*
> pVal);
>         [id(0x00000017), propput,
> helpstring("property INTERNALID")]
>         HRESULT INTERNALID([in] BSTR pVal);
>         [id(0x00000016), propget,
> helpstring("property window")]
>         HRESULT window([out, retval] IDispatch**
> pVal);
>         [id(0x0000006d), helpstring("getWindow")]
>         HRESULT getWindow([out, retval] IDispatch**
> pVal);
>         [id(0x0000006b), helpstring("method
> getSVGDocument")]
>         HRESULT getSVGDocument([out, retval]
> IDispatch** ppSVGDocument);
>         [id(0x0000006a), helpstring("method
> getSVGViewerVersion")]
>         HRESULT getSVGViewerVersion([out, retval]
> BSTR* pVersion);
>         [id(0x0000006c), helpstring("method
> disableAutoUpdate")]
>         HRESULT disableAutoUpdate();
>     };
> 
>     [
>       uuid(78156A80-C6A1-4BBF-8E6A-3CD390EEB4E2),
>       helpstring("SVG Behavior Factory Class")
>     ]
>     coclass SVGBehaviorFactory {
>         [default] interface IDispatch;
>     };
> 
>     [
>       uuid(ABD2F8EA-F1D9-4704-BDC3-A07741F967A2),
>       helpstring("SVG Scriptable Renderer Class")
>     ]
>     coclass SVGRenderer {
>         [default] interface IDispatch;
>     };
> };


__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 


Updated at: 2020-12-10 08:55 UTC