• If this is your first visit, you will have to register before you can post. To view messages, please scroll below and select the forum that you would like to visits. Questions? Be sure to check out the Forum FAQ.

Announcement

Collapse
No announcement yet.

Partner 728x90

Collapse

COM Interface ?

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

    #16
    Originally posted by NinjaTrader_Ray View Post
    NTDirect.dll
    This is what I have found, including the evidence.

    1. NTDirect.dll is NOT a COM dll. Rather, it is an unmanaged dll (having no support for Classes). You can verify this by trying to add NTDirect.dll to a .Net C# or VB project and you will see that MS Visual Studio clearly tells you that NTDirect.dll is not a COM dll and therefore cannot be added as a reference. NTDirect.dll should be used if your ATI application is other than .Net. So, for example, if you were implementing your ATI thru eSignal, you would use NTDirect.dll.

    2. NinjaTrader.Client.dll is not a COM dll either. Rather, it is a (fully managed) .Net class library. You can verify this by adding NinjaTrader.Client.dll to a .Net C# or VB project and you will see that MS Visual Studio clearly tells you that NinjaTrader.Client.dll is a .Net dll (and NOT a COM dll). This is positive in that it means that NinjaTrader developers have apparently reingineered the ATI interface to be fully .Net compliant with managed code.

    3. So where is the COM dll? I am not sure it exists. At least I have not seen it and NT support has not given me a file name that turns out to be a COM dll. But with NinjaTrader.Client.dll, you wouldn't want to use a COM dll even if it did exist. The COM architecture was Microsoft's first attempt at implementing object-oriented software technology into their platforms. For legacy reasons, they provide for interoperability with older COM dlls to work with .Net. Based on the documentation in the NinjaTrader help file, the ATI is implemented with COM technology. However, I do not believe this is the case since NinjaTrader.Client.dll appears to be a fully native .Net class library.

    In my initial testing, NinjaTrader.Client.dll works quite well with both C# and VB.Net. NT Support recommends use of NTDirect.dll, saying that "the COM interface has some issues" but if your application is .Net then you have to jump thru hoops to get NTDirect.dll to work (the hoops include using .Net System.RunTime.InteropServices, which can get kind of messy. I don't know why anyone would want to do that unless NinjaTrader.Client.dll had some serious issues.)

    If anyone knows of specific issues with NinjaTrader.Client.dll, could you please advise as to what the issues are? I will be doing extensive testing on NinjaTrader.Client.dll in the VB environment and will post any issues that I find.

    Scott

    Comment


      #17
      Again: We recommend NOT messing around with NinjaTrader.Client.dll but use COM or DLL ATI as documented.

      Thanks for your understanding.
      DierkNinjaTrader Customer Service

      Comment


        #18
        OK...it's your product so you must have good reasons. But please help me on the issue that NTDirect.dll is NOT a COM dll. Your response said to use "COM or DLL ATI". NTDirect.dll does not load into .Net as a COM dll. NTDirect.dll appears to be a regular unmanaged dll, so when you keep referring to COM, my simple mind tells me that there must be another DLL that supports COM (other than NTDirect.dll which, according to Microsoft's Visual Studio, is not a COM dll). If a COM dll exists, I would prefer to use it as opposed to to NTDirect.dll. Is there another dll besides NTDirect.dll?

        Comment


          #19
          a) please consult the vendor of your preferred development platform for how to access COM components. Here in my VS I see "NinjaTrader Client" in the list of system wide registered COM component -> any file considerations are irrelevant
          b) please see my post below: if your COM problems persist, I suggest accessing the NtDirect.dll as a plain DLL using .NET interop. Please consult the standard MS documentation for how to do that.
          DierkNinjaTrader Customer Service

          Comment


            #20
            Thank you, that was the answer I was looking for. The bad news is that when I try to add the 'NinjaTrader Client' COM reference, MS Visual Studio responds with "A reference to 'NinjaTrader Client' could not be added. The ActiveX type library "....ninjatrader.client.tlb' was exported from a .NET assembly and cannot be added as a reference. Add a reference to the .NET assembly instead." Can you please advise what to do?

            Comment


              #21
              please see my post below: if your COM problems persist, I suggest accessing the NtDirect.dll as a plain DLL using .NET interop
              DierkNinjaTrader Customer Service

              Comment


                #22
                How about providing a "Sample Reference" using NTDirect.dll in C#.net and VB.net?

                Comment


                  #23
                  Thanks for your suggestion. We'll add it to the list of future considerations.
                  DierkNinjaTrader Customer Service

                  Comment


                    #24
                    Here's a quickie application using C#.net

                    I know that NinjaTrader advocates using NTDirect.dll but I was never able to make it work correctly. I don't know anything about interop whatever.

                    This quick application uses a reference to NinjaTrader.Client.Dll
                    Attached Files

                    Comment


                      #25
                      Maybe this might help, too.

                      http://www.ninjatrader-support.com/H...SampleStrategy

                      Comment

                      Latest Posts

                      Collapse

                      Topics Statistics Last Post
                      Started by StevenNelson, Today, 05:49 AM
                      1 response
                      4 views
                      0 likes
                      Last Post NinjaTrader_PatrickG  
                      Started by fx.practic, Today, 01:41 AM
                      0 responses
                      11 views
                      0 likes
                      Last Post fx.practic  
                      Started by wolfcuring, Today, 01:29 AM
                      0 responses
                      3 views
                      0 likes
                      Last Post wolfcuring  
                      Started by BrandonT1292, 06-17-2019, 03:03 PM
                      2 responses
                      30 views
                      0 likes
                      Last Post thinarthrill  
                      Started by cbentrikin, Yesterday, 07:46 PM
                      1 response
                      11 views
                      0 likes
                      Last Post NinjaTrader_Marco  
                      Working...
                      X