[EMAIL PROTECTED] schrieb:
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.
I have no idea what the limits are regarding calling functions directly
from OOo Basic. However, this would probably only work with argument
types which are similar to UNO types. In other words, if a function
takes VARIANTs then this will not work. There is the possibility of
calling automation objects from OOo Basic. That is, you could put all
your functions in one IDispatch object and use it then from Basic.
I think there was still a problem with multidimensional arrays. Apart
from that this could work.
Joachim
Regards
Jürgen
Joachim Lingner <[EMAIL PROTECTED]> wrote on 10/15/2007 04:49:53 PM:
Importing a type library is not supported.
Joachim
[EMAIL PROTECTED] 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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]