Announcement

Collapse
No announcement yet.

Multi-instance Plugin - SetIOMulti not firing?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Multi-instance Plugin - SetIOMulti not firing?

    I'm working on a new plugin and had it all working fine until I decided to switch it to SupportsMultipleInstances = True...

    I worked through all the issues that I could see with that (web page names, menu item names, grabbing the instance name, settings in INI files, etc.) and thought I had it all figured out - until I went and clicked a control button on a device and nothing happened! This was all working before, and the log shows the CAPI control message, but nothing makes it into the plugin and no other messages are logged.

    It feels like there's a callback issue of some sort, but the sample multi-instance plugin is pretty messy so it's hard to tell if there's something there I need to do differently or not.

    Any idea what would cause this behavior?

  • #2
    How do you have SupportsMultipleInstancesSingleEXE set? Also you said you clicked on a control, was the interface set to your plugin or to your plugin:instance? (It should be set to just Plugin)

    Comment


    • #3
      SingleEXE is False.

      Not sure what you mean by the interface in that context. I'm just trying to click on a control button on the device list page, which isn't plugin-specific.

      Comment


      • #4
        when creating the device did you correctly set interface and interface instance?
        dev.set_Interface()
        dev.set_InterfaceInstance();

        Comment


        • #5
          Originally posted by shill View Post
          SingleEXE is False.

          Not sure what you mean by the interface in that context. I'm just trying to click on a control button on the device list page, which isn't plugin-specific.
          SetIOMulti is ONLY called for devices registered to your plugin, sounds like you are hoping to intercept all devices. SetIOMulti doesn't do that... You need to hook the set and change hooks to see all devices.

          SetIOMulti is where your plugin should to the actual work to talk to the hardware device, network, etc to cause devices your plugin owns to perform an action. If your creating a different type of plugin, you don't control the actual hardware so you shouldn't be implementing this (and if you are, as you see, it won't be called as it wouldn't make sense)

          Comment


          • #6
            This is my 6th commercial plugin, it's just the first one I've tried to use multiple instances with, so I get how SetIOMulti works - I'm just obviously not explaining the erroneous behavior correctly.

            Spud hit the nail on the head: I wasn't calling set_InterfaceInstance (and I assume this is also what you meant above that I didn't catch on to, bsobel)!

            Gotta love the robust developer documentation, right? Thanks guys!

            Comment


            • #7
              Originally posted by shill View Post
              This is my 6th commercial plugin, it's just the first one I've tried to use multiple instances with, so I get how SetIOMulti works - I'm just obviously not explaining the erroneous behavior correctly.

              Spud hit the nail on the head: I wasn't calling set_InterfaceInstance (and I assume this is also what you meant above that I didn't catch on to, bsobel)!

              Gotta love the robust developer documentation, right? Thanks guys!
              Yeah the documentation is 'interesting' at best ,)

              Comment

              Working...
              X