No announcement yet.

Technical question about plugin DLLs

  • Filter
  • Time
  • Show
Clear All
new posts

  • Technical question about plugin DLLs

    Can a plugin DLL export entry points so those entries can be called directly by other DLLs or .Exes?

    Assuming proper serialization as needed, I have a situation that it would be much easier to call an entry in the plugin DLL from an exe rather that route the call through RR.


  • #2
    Sure, there's no problem with calling them direct, but you'd have to make sure to provide the right "environment" for it to run, by creating the plugin object, setting the path to its working folder and probably simulating any commands it may expect to come from RR. You can just look at the extension plugin examples and get the idea of how to do it, but if you have any questions, let me know. Depending on the plugin it may be looking for specific features of RR to work with (which you could simulate) but in general it should just work. PM me if you have more questions.
    Ride Runner RR's Myspace

    "Being happy is not about having what you want, it's about wanting what you have."
    "The best things in life are always free - but that doesn't mean money can't buy you good things."


    • #3

      It turns out that if the DLL is written using .NET (C#) there are some post build processes that must be done to "export" the entry points.

      In my case, I have a private plugin (C#) that manages/shares an external connection using WiFiMan or Internet Connection Sharing via PAN using I have several AutoIt RR support functions and a couple of other private plugins that need to have a connection to function.

      I wanted a way to call the connection manager either directly via exports or via RR commands as defined by the connection manager plugin to establish and otherwise manage/share a connection.

      Turns out the "exports" with .Net and C# aren't part of the language definition and require internal modifications to the DLL. Fortunately there is a package written in Germany (DotNet DLL-Exporter) that performs the modifications.

      Once the mods are made to the C# DLL, any normal program can call using LoadLibrary, etc.