actxserver not calling application

13 visualizaciones (últimos 30 días)
Meghan Rochford
Meghan Rochford el 4 de Ag. de 2020
Comentada: Walter Roberson el 4 de Ag. de 2020
Hello
I am using someone else's script to call an application called Total tide. This application is in my Program Files (x86). The function actxserver is being used within the script and I haven't actually used this before, but it seems to be causing an error:
Any help in how to fix this is very much appreciated. I've looked at the documentation and I'm still not really understanding what's going wrong.
Cheers
Error using actxserver (line 93)
Server creation failed. Invalid ProgID 'TotalTide.Application'.
Error in TotalTide.connection (line 21)
tt = actxserver('TotalTide.Application');
Error in TotalTide.portsInBounds (line 31)
tt = TotalTide.connection;
Error in TotalTide.portsInUK (line 26)
results = TotalTide.portsInBounds(sw(2), sw(1), ne(2), ne(1));
Error in TotalTide.closestPort (line 69)
search_domain = TotalTide.portsInUK();
Error in test (line 14)
port = TotalTide.closestPort(x,y)

Respuestas (1)

Walter Roberson
Walter Roberson el 4 de Ag. de 2020
TotalTide Defence appears to date from 2002 in some releases. I am having trouble tracking down details, but my suspicion is that the ActiveX control for the program is a 32 bit control, and those cannot be invoked from a 64 bit process.
Your options are to use MATLAB R2015b for windows 32, or else to write a proxy that can receive requests from your 64 bit process and execute the 32 bit control.
I seem to recall having encountered a technology for making those kinds of proxy comparatively easier than writing by hand, but I do not recall the details (it is not something that I have had reason to implement myself.)
  4 comentarios
Meghan Rochford
Meghan Rochford el 4 de Ag. de 2020
It's 64 bit (assuming I did this process correctly).
I'm quite clueless when it comes to this sort of thing, as you can probably tell.
Are you saying that the actxserver function cannot handle calling a 64 bit process?
Walter Roberson
Walter Roberson el 4 de Ag. de 2020
activexserver should be able to call 64 bit DLL from 64 bit versions of MATLAB.
Unfortunately I cannot seem to verify that you have used the correct ActiveX ProgID, and I also cannot seem to find information about where it should be showing up in the registry.
It appears that you can search for the information; see https://www.freetutes.com/learn-vb6-advanced/lesson4/p35.html

Iniciar sesión para comentar.

Categorías

Más información sobre Startup and Shutdown en Help Center y File Exchange.

Productos


Versión

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by