Matlab m file into ocx file.

Can I convert my m file into an .ocx file ? I have converted my m file into a .dll file using the deploytool option. Whether can I do the former ? And I need to register that .ocx file in my Windows Activex Control List ? Please tell me how?

2 comentarios

Friedrich
Friedrich el 22 de Mzo. de 2012
Do you have the Builder NE? If so, you can create a COM DLL out of your MATLAB code.
Raj Shankar
Raj Shankar el 22 de Mzo. de 2012
Hello Friedrich,
Yes I have. But still I want to use my m file as an OCX file. I did used builder NE and got a COM DLL out of that. Rather but I want an OCX file for my application. How could I do this.

Iniciar sesión para comentar.

 Respuesta aceptada

Friedrich
Friedrich el 22 de Mzo. de 2012

1 voto

Hi,
you wont be able to create an OCX file out of your MATLAB code.
I guess you want OCX to embed a MATLAB figure or your MATLAB GUI in some other application right? What other application is that?

5 comentarios

Raj Shankar
Raj Shankar el 22 de Mzo. de 2012
Friedrich
I want to convert my m file and fig as an OCX file and embed it with Visual C++ application. If I cannot create an OCX file from my m file then what other way in which I can do this?
Friedrich
Friedrich el 22 de Mzo. de 2012
Luck for you that I am working on this :)
I would say make a basic C++ DLL and use the Windows API (SetParent) in order to force the figure on the C++ Control (e.g. a Panel). Its important that the control has its own Window Handle.
You can get the Window Handle of a figure in MATLAB like this:
function hWnd = hwnd()
plot(1:10);
warning('off','MATLAB:HandleGraphics:ObsoletedProperty:JavaFrame');
jFrame = get(gcf,'JavaFrame');
warning('on','MATLAB:HandleGraphics:ObsoletedProperty:JavaFrame');
while isempty(jFrame.fHG1Client.getWindow)
pause(.05)
end
hWnd = jFrame.fHG1Client.getWindow.getHWnd;
This works on Windows only.
I tested this approach in C# (Builder NE), Java (Builder JA), and Excel (Builder EX) and it worked fine.
You maybe need MoveWindow in addition, to resize the figure when the Panel resizes.
Raj Shankar
Raj Shankar el 22 de Mzo. de 2012
Thankyou Mr.Friedrich. I think this would help me more. Thanks a lot :)
Jan
Jan el 22 de Mzo. de 2012
@Friedrich: Instead of disabling the warning temporarily, you can use:
jFrame = get(handle(gcf), 'JavaFrame');
Friedrich
Friedrich el 23 de Mzo. de 2012
nice, thanks :)

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre MATLAB Report Generator en Centro de ayuda y File Exchange.

Etiquetas

Preguntada:

el 22 de Mzo. de 2012

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by