MixW as Automation Object

Discussion in 'Rig Control, Propagation, Cluster, & Other Softwar' started by CU2JT, Aug 30, 2006.

Thread Status:
Not open for further replies.
ad: L-HROutlet
ad: l-rl
ad: FBNews-1
ad: Left-3
ad: L-MFJ
ad: Subscribe
ad: Left-2
  1. CU2JT

    CU2JT Ham Member QRZ Page

    My home made logger, written i Visual Basic, has integrated MFSK, RTTY and BPSK31 digital modes. I even had it hooked up with the radio (Kenwood TS-570D) for sending short CW messages, keyer speed, power control etc but it ceased working - probably because of RF going into the circuit in the TS-570.

    Now, I have a registered copy of MixW and was planning to use it in CW contests because of the macros. It would be nice to hook up my VB program with MixW which I assume is written in C++ and, it would work using the OLE facility in VB but it keeps saying that there is no object library for MixW.

    Anyone has any idea ??
  2. W5ALT

    W5ALT Ham Member QRZ Page

    There are some examples using DDE with MS Word and Excel on the MixW web site. There are also examples of using it as an ActiveX component.

    I've played a little bit with it as an ActiveX component, but I so far haven't found the type library, so since I don't know all the methods it exposes, it's somewhat limiting. I've sent an email to Nick, but no response so far.

    If you are successful in finding out the methods available, please let me know!

    Walt, W5ALT
  3. KI4NGN

    KI4NGN Premium Subscriber QRZ Page

    Have you checked to see if MixW has been registered as an ActiveX component?

    The typelib can be imbedded into a DLL, it doesn't have to be a separate TLB file.
  4. KL7AJ

    KL7AJ XML Subscriber QRZ Page

    When you do get it running, would you like to do an article on that project for the QRZ Handbook? Although we are going to concentrate more on open source coding, workable VBs are cool too. [​IMG]

  5. W5ALT

    W5ALT Ham Member QRZ Page

    Michael, VB doesn't recognize it, but if you access it the interface works. There is no DLL - everything is in the EXE file. The MixW site calls it ActiveX, though.

    I've gotten it working by running MixW first, then running the VB (or Delphi or C# or whatever) code to find it and talk to it. That works fine, but I haven't figured out how to get the interface spec.

    If you know how to do that, please share the info!

    Walt, W5ALT
  6. W5ALT

    W5ALT Ham Member QRZ Page

    Here's an update: I just received an email from Nick with the TLB and ODL files for MixW. He says that I'm the first to ask, so he figured no one was interested and therefore just added minimal ActiveX features. But, he said he'd be happy to add anything else to MixW that I request or can dream up.

    I can't refuse an offer like that! I'll be playing around some and will most definitely send him a request list, unless he already has everything in there!

    If anyone needs the TLB and ODL files, contact me via PM or email.

    Walt, W5ALT
  7. KI4NGN

    KI4NGN Premium Subscriber QRZ Page

    It is certainly useful to have the TLB or the ODL files used to create them...gives you an explicit definition of the interface.

    However it is possible to query the interface to find out the methods that are available on the interface. This starts out with a query to they IUknown interface, which all of the other interfaces are derived from. It is been a while since I've done this, but an interface can be queried. The problem is, of course, that this does not give you then intent of each method or parameters (if any). The biggest reason for supporting the query is for your software to be able to handle differing versions of an interface.

    ActiveX controls may also be a part of an EXE. When the program starts, depending on how it is constructed, one of the first things that it does is register its components (controls).

    One part of the registration process for ActiveX controls is establishing the physical file location (DLL, EXE) of the component. When you open a control via it's registered name, the system searches the registry for that name (or CLSID) to locate the filename, and then loads the component (control) from that file. Controls located within a DLL are normally designed to be Inproc servers (in process). Outproc servers are normally located within an exe. The exe is executed, and if it has registered its controls, those controls are accessible to other processes.

    I have on my list of things to do a minor software project that I was going to work on to interface with MixW. I saw on their website that they do provide an interface, and I left it at that. I'd appreciate it if you sent those files to me Walt. [​IMG] (My email address is in my profile.)

  8. W5ALT

    W5ALT Ham Member QRZ Page

    Michael, it appears that MixW is an Inproc control, so it's only available when it's running. Check your email - I forwarded the files to you, so let me know if you don't get them.

    Walt, W5ALT
Thread Status:
Not open for further replies.

Share This Page