List Info

Thread: Re: COM bridge from ooBasic to C++ dll with typelibrary




Re: COM bridge from ooBasic to C++ dll with typelibrary
user name
2007-10-15 09:49:53
Importing a type library is not supported.

Joachim

jjaegerxlstat.com wrote:
> Hello,
> 
> I am porting a C++ COM application that is called from
Excel via VBA to 
> application that is called from Calc via ooBasic.
> 
> I am new to the OpenOffice environment and have some
basic questions to 
> learn the way ooBasic uses the OLE/COM Uno bridge.
> 
> Here is my C++ example:
> 
> MYSHAREDLIB_API double __stdcall fplus (double
invalue)
> {
>         return invalue + 1.0;
> }
> 
> And here the type library file .odl:
> 
> import "oaidl.idl";
> import "ocidl.idl";
>       [
>          uuid(7D4B1C8E-69AF-4082-90CF-E07FD904A4DA),
>          helpstring("MySharedLib"),
>          lcid(0x0409),
>          version(1.5)
>       ]
>       library MySharedLib
>       {
>       [
>          helpstring("Functions exported by
MySharedLib.dll"),
>          version(1.5),
>          dllname("MySharedLib.dll")
>       ]
>       module MSL
>               {
>                  [      helpstring("fplus"), 
  entry("fplus") ]   double 
> fplus(  [in]  double invalue  );
> }
> }
> 
> I can call this .dll in Calc using the VBA equivalent
of  Declare Function
> 
> Declare Function fplus Lib ?MySharedLib.dll? (ByVal 
invalue as Double) as 
> Double
> 
> With a call example like this in the ooBasic code 
> 
> Outval = fplus( inval)
> 
> How can I import the information about fplus using the
type library .tlb ? 
> In Excel I can use the Tools -> References? Menu to
add the typelibrary 
> information to my Excel vba code as a reference.
> 
> 
> 
> 
> Regards 
> 
> JJ

------------------------------------------------------------
---------
To unsubscribe, e-mail: dev-unsubscribeudk.openoffice.org
For additional commands, e-mail: dev-helpudk.openoffice.org


Re: COM bridge from ooBasic to C++ dll with typelibrary
user name
2007-10-16 06:12:11
Thank you for your help.

Is it possible to port the example using the OLE/COM Uno
bridge and still 
having the call in ooBasic of the function unchanged like 

Outval = fplus( inval) 

This would at least limit the changes to do the vba code
during the port 
to OpenOffice.

Is there another way than using the VBA statement Declare
Function Lib to 
declare C++ functions in ooBasic. I will have to port over
200.

Regards

Jürgen

Joachim Lingner <joachim.lingnersun.com> wrote on
10/15/2007 04:49:53 PM:

> Importing a type library is not supported.
> 
> Joachim
> 
> jjaegerxlstat.com wrote:
> > Hello,
> > 
> > I am porting a C++ COM application that is called
from Excel via VBA 
to 
> > application that is called from Calc via ooBasic.
> > 
> > I am new to the OpenOffice environment and have
some basic questions 
to 
> > learn the way ooBasic uses the OLE/COM Uno
bridge.
> > 
> > Here is my C++ example:
> > 
> > MYSHAREDLIB_API double __stdcall fplus (double
invalue)
> > {
> >         return invalue + 1.0;
> > }
> > 
> > And here the type library file .odl:
> > 
> > import "oaidl.idl";
> > import "ocidl.idl";
> >       [
> >         
uuid(7D4B1C8E-69AF-4082-90CF-E07FD904A4DA),
> >          helpstring("MySharedLib"),
> >          lcid(0x0409),
> >          version(1.5)
> >       ]
> >       library MySharedLib
> >       {
> >       [
> >          helpstring("Functions exported by
MySharedLib.dll"),
> >          version(1.5),
> >          dllname("MySharedLib.dll")
> >       ]
> >       module MSL
> >               {
> >                  [     
helpstring("fplus"),    entry("fplus") ]

double 
> > fplus(  [in]  double invalue  );
> > }
> > }
> > 
> > I can call this .dll in Calc using the VBA
equivalent of  Declare 
Function
> > 
> > Declare Function fplus Lib ?MySharedLib.dll?
(ByVal  invalue as 
Double) as 
> > Double
> > 
> > With a call example like this in the ooBasic code

> > 
> > Outval = fplus( inval)
> > 
> > How can I import the information about fplus using
the type library 
.tlb ? 
> > In Excel I can use the Tools -> References?
Menu to add the 
typelibrary 
> > information to my Excel vba code as a reference.
> > 
> > 
> > 
> > 
> > Regards 
> > 
> > JJ
> 
>
------------------------------------------------------------
---------
> To unsubscribe, e-mail: dev-unsubscribeudk.openoffice.org
> For additional commands, e-mail: dev-helpudk.openoffice.org
> 
> 
[1-2]

about | contact  Other archives ( Real Estate discussion Medical topics )