Searching an example for actxserver with machine?

I am searching for a practical example of the actxserver funktion with more input then just the progid.
I've got a programm to test. It should read data from a Wii Balance Board but there is an error that in the function actxserver is an error. But this function is in the library and I can't change it. So I expect that the error is from that function not getting enough inputarguments. In the discribtion of the use of actxserver there are the possibilities to give the function more arguments then just the progid
h = actxserver('progid','machine'..)
In the program I've got the progid:
wiimote.wm = actxserver('WiiLAB.WiiLAB');
Now I am searching for an example call of actxserver with input for 'machine'.. etc.
I have the ID of the device, is that anyhow useable?

 Risposta accettata

Guillaume
Guillaume il 4 Ago 2016
Trying solutions that you don't even understand at random is probably not the best way to debug your issue.
If your problem is that the 'WiiLAB.WiiLAB' component does not talk properly to your Wii board, then passing a 'machine' option to actxserver is not going to help whatsoever. That does not tell 'WiiLAB' to talk the machine, instead actxserver attempts to run the version of WiiLAB that exists on the remote machine. I doubt there's a version of the WiiLAB program that is installed on the Wii board, as it's probably not even running windows.
When you use actxserver('WiiLAB.WiiLAB', 'machine', 'nameoripofmachine'), what is happening is that your local machine asks the remote machine to run the program 'WiiLAB.WiiLAB' and forward back and forth any input/output. In effect, the program runs on the other machine but appears to run locally. Prerequisites are: 'WiiLAB.WiiLAB' is installed on the remote machine (if there is a local version it's not used), DCOM is enabled on both machines, and of course, since it's proprietary microsoft technology, both machines must be running windows.
What is the exact error you're getting anyway?

10 Commenti

You're right I don't understand the problem. The error that accures is:
??? Error using ==> actxserver at 91
Server creation failed. Invalid ProgID 'WiiLAB.WiiLAB'
Error in ==> Wiimote.Wiimote>Wiimote.Wiimote at 118
wiimote.wm = actxserver('WiiLAB.WiiLAB');
Error in ==> bbrecord_1_4 at 88
bb = Wiimote();
But because I can´t change the actxserver file I thought perhabs the error is from the input. Do you knwo how I can install WiiLAB on the Wii Board? In the "discription" of the program there is nothing written about that I need to install WiiLAB on the Board. The program I try to use is from the University of Colorado:
I use the R2007b Version to run the program, but before I tried a 2016 version. There was an Systemerror and matlab forced me to close it, but it aknowleged the board and the frist steps worked. So I think it isn't necessary to install WiiLAB on the board.
The problem is not installing the software on the Wii board. Most likely, there's nothing to install there. It's installing the software that talks to the board on your local machine.
The error you get is because WiiLAB is not installed correctly on your local machine. The program is not found by actxserver. For actxserver to find the program it needs to be installed and registered. I could not find installation instructions (other than a video that I'm not going to watch) but if the installer does not take care of registration you may have to do it manually (using regsvr32)
Follow all the steps in the video to install WiiLab properly. Again, at the moment, the problem is not with the Wii board, just your local installation.
Ok, now I have somewhere to start. Thank you.
But if I install it again I get an other quite simular error:
??? Error using ==> feval
Server Creation Failed: Klasse nicht registriert
Error in ==> Wiimote.Wiimote>Wiimote.Wiimote at 118
wiimote.wm = actxserver('WiiLAB.WiiLAB');
Error in ==> bbrecord_1_4 at 88
bb = Wiimote();
Is this still about that the WiiLAB isn't installed correctly? Because feval only appears in the actxserver.m file
Yes, it appears to be the same error but in German. Is your OS in german?
Note that the error comes from Windows, not matlab. You would get the same error if you were trying to instantiate the component in .Net, VBA, etc.
Yes it is in german.
Ok, thank you again, then I try to figgure out what's wrong with Windows :)
Found the installation instructions. It sounds like step 5 did not work for you, particularly the You should see “Assembly exported to ‘ C:\Program Files\WiiLAB\WiiLAB\WiiLAB.tlb', and the type library was registered successfully"
You were right. By the installation there was an error because the Program Files folder wasn't found. My OS is in german and it is called Programme. By changing that in the .bat file the WiiLAB installation worked.
Hi Guillaume, The link for installation instructions is not working. Could you please send me the all the steps. I do have similar problem with my actxserver.
Cheers,
The link still works for me. In any case, I originally found it through an internet search, you can do the same.
Note that I know absolutely nothing about the WiiLab project so I can't give you any better instructions than what they have written.
And of course, if the progID you're trying to instantiate with actxsever is not 'WiiLAB.WiiLAB', then the entire conversation in this post is completely irrelevant to your case and you should start a new question (with a lot more details than what you have written above, including the actual code you're using and the exact error message you receive).
Thanks for your quick reply, I am now working with WiiLab. Currently i would like to connect the windows executable file (or the library file .tlb) using actxserver. I need the procedural steps that i can connect and access that software from my MATLAB GUI.

Accedi per commentare.

Più risposte (0)

Community Treasure Hunt

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

Start Hunting!

Translated by