Hi,
are you talking about ActiveX?
This feature has been asked for several times.
Happy experimenting!
A1880
are you talking about ActiveX?
This feature has been asked for several times.
Happy experimenting!
A1880
This post has been edited 1 times, last edit by "A1880" (Jun 9th 2009, 9:05am)
Hello KrossBeaux,
welcome to Jabaco.
Do you have a simple example to test? I never programmed a DLL or OCX in Visual Basic.
Cheers
Stefan
welcome to Jabaco.
Do you have a simple example to test? I never programmed a DLL or OCX in Visual Basic.
Cheers
Stefan
ActiveX is COM with the IDispatch interface. COM is basically a standard Windows DLL or EXE with exported functions that provide access to an interface called IUnknown (btw, an OCX is still just a DLL). Using IUnknown the host application can early bind to various interfaces provided by the COM or ActiveX component. When you bind to an interface you really are intantiating a class and reference the object's functions using function pointers. VB always did a wonderful job hiding all this complexity for us. ActiveX extends COM by providing the IDispatch interface which enables COM to be used in late binding environments such VBScript (VB 6 can do both) where early binding doesn't work since they don't work with function pointers (late binding is very slow). Without getting too deep (it is a large topic) writing ActiveX components in JAVA is not possible since the ActiveX must be a standard cdecl DLL which JAVA can not create. Accessing ActiveX in JAVA is possible using JNI but still difficult (requires a lot of work). Low level COM and ActiveX is one of the most complex topics in windows development.
The fact is, it is better to look for premade JAVA beans to use in Jacabo than rely on existing ActiveX components. There are a lot out there that people might want to write a Jacabo wrapper around.
The fact is, it is better to look for premade JAVA beans to use in Jacabo than rely on existing ActiveX components. There are a lot out there that people might want to write a Jacabo wrapper around.
hi,
If we talk about ActiveX we should distinguish between writing and using it.
* writing:
we are glad not to be in JAVA, so writing ActiveX-dlls with Jabaco could be possible to implement if you bypass the Jabaco Compiler and do it with a new "COM"-compiler.
But who wants to implement this feature in Jabaco? one could use Microsoft VB if he wants to write ActiveXdlls
* using:
I must admit i have not tried this before in Jabaco. But look at this:
How to use ActiveX-controls with Jabaco
btw:
I will delete this hint afterwards OK?
greetings
OlimilO
Quoted
writing ActiveX components in JAVA is not possible
If we talk about ActiveX we should distinguish between writing and using it.
* writing:
we are glad not to be in JAVA, so writing ActiveX-dlls with Jabaco could be possible to implement if you bypass the Jabaco Compiler and do it with a new "COM"-compiler.
But who wants to implement this feature in Jabaco? one could use Microsoft VB if he wants to write ActiveXdlls
* using:
I must admit i have not tried this before in Jabaco. But look at this:
How to use ActiveX-controls with Jabaco
btw:
It is possible to edit your post. Read carefully what you have written and edit it: "standard call DLL"
Quoted
since the ActiveX must be a standard cdecl DLL
I will delete this hint afterwards OK?
greetings
OlimilO
This post has been edited 1 times, last edit by "OlimilO" (Jun 9th 2009, 7:13am)
Hi,
"cdecl" (or "_cdecl") refers to a calling convention in Microsoft C/C++. See here
Best regards
A1880
"cdecl" (or "_cdecl") refers to a calling convention in Microsoft C/C++. See here
Best regards
A1880
You are correct, OlimilO, COM is written in std call. I got those swapped in my head. VB requires a hack like this to use cdecl (http://pscode.com/vb/scripts/ShowCode.as…=49776&lngWId=1) I have studied COM and ActiveX extensively from writing them in C to C++ without a helper framework like MFC or ATL all the way to using ATL in C++. It was quite a learning experience.
It is possible to edit your post. Read carefully what you have written and edit it: "standard call DLL"
Quoted
since the ActiveX must be a standard cdecl DLL
I will delete this hint afterwards OK?
OlimilO
The importance of the type of DLL, in this case, refers to the order in which the parameters are pushed on to the stack and who is responsible for clearing the values after words.
The primary purpose of my post was to explain that COM and ActiveX is not just standard VB code but something far more complex. There are those, like you, that understand that but most VB programmers don't.
Also, the original poster did state he wanted to convert existing "vb" dlls and OCX's:
Quoted
A way to convert vb ocx a dll files to Jabaco
I'm new here, but it would be great if there was a way to convert existing vbdlls and ocx files so that the work with Jabaco. Great implementation of basic to bytecode btw. Loving Jabaco
This post has been edited 2 times, last edit by "StevenP" (Jun 9th 2009, 6:04pm)
Similar threads
-
General topics, questions and discussions »-
Manipulate binary files?
(Mar 29th 2009, 6:21pm)
-
General topics, questions and discussions »-
Console mode appears to be not quite console mode
(Mar 16th 2009, 9:50am)
-
History & News »-
RELEASE: Jabaco 1.4.0 BETA - 2008-11-18
(Nov 21st 2008, 8:52pm)
-
General topics, questions and discussions »-
Accessing Excel Files
(Feb 3rd 2009, 1:34pm)
