• 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

  • smasers
    started a topic COM Interface ?

    COM Interface ?

    Can anyone please answer the following questions for me:

    1. Where is the COM Interface dll? What is it's name? I tried MBTCom.dll, since it was in the bin directory of the installation, but I cannot find any definitions that relate to the COM interface documentation? So, at this point, I am just guessing by looking at the files in the bin directory. Maybe it's not even there, do you have to ask for it?

    2. Is there any other programming documentation on the COM interface OTHER than what is at the web site? Say, examples perhaps? The website doc is fine for a general overview, but there is no detailed description of the functions along with examples.

    Thanks!

    Scott

  • mgbloomfield
    replied
    Maybe this might help, too.

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

    Leave a comment:


  • mgbloomfield
    replied
    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

    Leave a comment:


  • NinjaTrader_Dierk
    replied
    Thanks for your suggestion. We'll add it to the list of future considerations.

    Leave a comment:


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

    Leave a comment:


  • NinjaTrader_Dierk
    replied
    please see my post below: if your COM problems persist, I suggest accessing the NtDirect.dll as a plain DLL using .NET interop

    Leave a comment:


  • smasers
    replied
    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?

    Leave a comment:


  • NinjaTrader_Dierk
    replied
    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.

    Leave a comment:


  • smasers
    replied
    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?

    Leave a comment:


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

    Thanks for your understanding.

    Leave a comment:


  • smasers
    replied
    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

    Leave a comment:


  • NinjaTrader_Ray
    replied
    NTDirect.dll

    Leave a comment:


  • smasers
    replied
    You have never answered my question., and I cannot understand why not..what is the .dll file name of the COM interface? If you respond NinjaTrader.Client.dll, then why did you not respond to my earlier question that this .dll is COM as opposed to managed code?
    Last edited by smasers; 04-17-2008, 11:16 PM.

    Leave a comment:


  • NinjaTrader_Dierk
    replied
    Please see my post #4 below. We only support the DLL and COM interface as documented.

    Thanks for your understanding.

    Leave a comment:


  • smasers
    replied
    Originally posted by NinjaTrader_Dierk View Post
    Unfortunately we are unable to provide information beyond my previous post and in particular about the NinjaTrader.Client.dll.

    Thanks for your understanding.
    Sorry, NO I do NOT understand. You cannot tell your client base simply whether or not NinjaTrader.Client.dll is a COM interface or .Net Managed Code??? You must be kidding! Please advise.

    Leave a comment:

Latest Posts

Collapse

Topics Statistics Last Post
Started by EddieBeanPit, 06-21-2019, 07:17 PM
1 response
18 views
0 likes
Last Post NinjaTrader_Jesse  
Started by futures2018!, Yesterday, 05:01 PM
3 responses
12 views
0 likes
Last Post NinjaTrader_Jesse  
Started by Splex, Today, 12:04 AM
1 response
6 views
0 likes
Last Post NinjaTrader_Jim  
Started by n8dogg59, Today, 06:55 AM
0 responses
3 views
0 likes
Last Post n8dogg59  
Started by Tradarr, Yesterday, 07:13 PM
1 response
8 views
0 likes
Last Post NinjaTrader_PatrickG  
Working...
X