Subscribe Bookmark RSS Feed

Exact dll to be referenced

artem_verbuk

Community Trekker

Joined:

Nov 9, 2014

Hi guys!

I have a very simple question.

I develop .NET C# application that among many other things should be able to "execute" predefined JSL scripts over data from .CSV files. I have started to implement the required functionality and used Interop.JMP.dll that was mentioned in some articles.

All required functionality seems to be in this dll.

Now I have installed JMP PRO v11 on my machine. In installation folder there is no such dll anymore.

What is the name of the correct dll to use when implementing C# JMP automation?

Where this dll can be downloaded from?

Best regards,

Artem

1 ACCEPTED SOLUTION

Accepted Solutions
Solution

The Interop DLL is created by VB when you add JMP as a reference.  You don't really want to make the DLL the reference. You want to reference jmp.tlb, which is the JMP Type Library that is installed into the same folder as jmp.exe.  You need to remove the "old" JMP as a reference from your VB project, and then select the jmp.tlb in c:\program files\sas\jmppro\11 as your new reference.  This will create a new Interop DLL and patch up your reference so that VB will work.   You may actually have to shut down VB and restart it to make sure all is well.

As to why there is no special DLL needed, the answer is that the COM interfaces are within jmp.exe itself.  Interop.DLL helps VB .NET access the COM interfaces.


Brian Corcoran

JMP Development

3 REPLIES
Jeff_Perkinson

Community Manager

Joined:

Jun 23, 2011

There's no special .DLL needed.

Page 581 of the JMP Scripting Guide has information about launching JMP through Automation.

You'll find more information in C:\Program Files\SAS\JMPPRO\11\Documentation\AutomationReference.pdf.

-Jeff

-Jeff
artem_verbuk

Community Trekker

Joined:

Nov 9, 2014

Hi Jeff

I have read the whole chapter form JMP Scripting Guide

I can assure that I have even read this before asking the question.

But still, can you please explain me how is it possible that "There's no special .DLL needed"?

Let me illustrate my question to be clear.

7528_1.jpg

You can see that I have Interop.JMP.dll included into solution, referenced in solution. As a result compiler recognizes JMP data types, such as JMP.Application and JMP.DataTable.

But this dll is from old JMP, not JMP 11 PRO that I am going to use now.

Below is the screenshot of the file search on my machine with JMP 11 PRO installed:

1) In C:\Program Files (x86)\SAS\JMPPRO\11

7529_2.JPG

2) in C:\Program Files\SAS\JMPPRO\11

7530_3.JPG

Really, excuse me for asking such a dumb question

Solution

The Interop DLL is created by VB when you add JMP as a reference.  You don't really want to make the DLL the reference. You want to reference jmp.tlb, which is the JMP Type Library that is installed into the same folder as jmp.exe.  You need to remove the "old" JMP as a reference from your VB project, and then select the jmp.tlb in c:\program files\sas\jmppro\11 as your new reference.  This will create a new Interop DLL and patch up your reference so that VB will work.   You may actually have to shut down VB and restart it to make sure all is well.

As to why there is no special DLL needed, the answer is that the COM interfaces are within jmp.exe itself.  Interop.DLL helps VB .NET access the COM interfaces.


Brian Corcoran

JMP Development