• Visitors can check out the Forum FAQ by clicking this link. You have to register before you can post: click the REGISTER link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below. View our Forum Privacy Policy.
  • Want to receive the latest contracting news and advice straight to your inbox? Sign up to the ContractorUK newsletter here. Every sign up will also be entered into a draw to WIN £100 Amazon vouchers!

Ole Dll

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

    Ole Dll

    Right Gents, I need some help.

    We provide a Windows program that runs as a service and exchanges messages between local clients and a central system.

    We provide a .h, .lib and a .dll to developers so they can get their programs to exchange messages with our service.

    Usually this isn't a problem for our clients because calling our functions from C, C++ or Visual Basic is easy.

    Unfortnately, we now have a client who is using a third party product that appears to insist on external code being OLE compliant.

    My experience of OLE is limited to its precursor DDE so I'm currently looking for the odd external spark of inspiration.

    At the moment I'm not interested in how we might provide something - I want to keep our work to a minimum - so its there a way of jacketing traditional dll based functions so they are OLE compliant.

    Also, could someone provide me with a code snippet to show how to call a dll hosted C function from C#. We have a pre-C# version of Visual Studio so I can't check it myself.

    Any pointers (not references ) would be useful.

    Thanks in anticipation.

    #2
    It's very easy.

    If you have the code to call your c/c++ dll from VB6, then simply create a Visual Basic ActiveX DLL project and create wrapper methods and properties to call into the DLL.

    VB6 automatically creates the necessary type libraries for COM callers.

    Your clients simply need to register the wrapper (run RegSvr32.exe) and have the VB6 wrapper and C dll in the same directory.

    HTH

    PS OLE is the old (like ancient man) term for ActiveX, which in turn is M$ marketing speak for COM (Component Object Model)

    PPS Calling umanaged C/C++/Delphi DLL's from C# is known as PInvoke (Platform Invoke). See http://www.pinvoke.net/ and http://www.paulyao.com/resources/tools/pinvoke.asp
    Last edited by DimPrawn; 17 May 2006, 11:35.

    Comment


      #3
      Many, many thanks Dim.

      Much appreciated.

      Comment

      Working...
      X