Non-ActiveX COM Interface?

Hi Everyone,
I'm wondering if LabVIEW can interface
with a COM DLL that doesn't have a specific ActiveX interface.  It
works within MATLAB using the following line of code:
     h = actxserver('RPI_IOBoard.IOBoard')
However,
when I try to use LabVIEW's "Automation Open" block, this COM component
isn't listed in the type libraries dropdown (it is registered on this
computer).  When I browse to the actual DLL LabVIEW says, "The selected
file is not a .NET assembly, type library, or automation executable." 
Am I going about this the wrong way?
Thanks!

Sure, here's the DLL (rename the extension to .dll from .txt).  I'm not sure how this will react when it's not registered along with all its counterparts.  You may want to run the full installer (this DLL will then be found in the installation directory): http://mobilestudio.rpi.edu/downloads/MobileStudioDesktop/Production/mobile_studio_desktop.exe
Thanks for your help!
-Yohan
Attachments:
RPI_IOBoard.txt ‏44 KB

Similar Messages

  • Obtaining an activex COM interface from another COM interface

    I have Animatics SmartMotors and am using their SMIEngine.dll, which is a COM dll. I'm having trouble with a particular interface called ISMICMotion. The help information for obtaining an instance of it is as follows:
    The client application
    can obtain an instance of this interface, using the available ISMIComm interface.  The following examples show how to obtain
    this interface in Visual Basic and Visual C++. 
    In these examples CommInterface is assumed to be the available ISMIComm
    interface.
    Visual
    Basic:
    Dim
    CMotionInterface As ISMICMotion
          Set
    CMotionInterface = CommInterface
    Visual
    C++:
        ISMICMotionPtr    CMotionInterface;
        HRESULT
    hr=CommInterface.QueryInterface(__uuidof(ISMICMotion),&CMotionInterface);
        if
    (FAILED(hr))
              AfxMessageBox("The interface
    \"ISMICMotion\" not found!");
              return;
    I can open a reference to the ISMICMotion interface using Automation Open but the operation of the methods from the ISMICMotion interface is dependent on the ISMIComm interface. So opening an independent reference doesn't work and the ISMIComm interface does not have anything like a GetISMICMotion reference method.
    Is there any way to achieve in LabVIEW what the above code does?
    It seems to me that I should be able to acquire proper dependencies using only the exposed methods. Is it because the makers of the SMIEngine.dll have not followed some COM rules?
    thanks for you help,
    Louis

    Hi Adam,
    The issue I had was with initializing the  ISMICMotion interface which is used for Contouring Mode, also called Coordinated Motion. I've attached a VI with two initialization examples. The first in green is the typical init I use to control motors with individual Motor RefNums. If you are not trying to do Coordinated Motion with the CMotion interface then you would use this init. The second in orange is the init routine I used to start Coordinated Motion. The key there is the Variant to Data VI. I don't remember exactly how it works in this case because it was a while back when I figured this out, but I remember finding relevant information in the Developer Zone on using the Variant to Data VI with Automation or ActiveX.
    I hope this helps.
    best regards,
    Louis
    Attachments:
    Types of SmartMotor Initialization Routines.vi ‏80 KB

  • How to conect to remote ActiveX (COM) program

    Hi everybody.
    I want to comunicate between LabView and another program by using ActiveX (COM).
    If both - LabView and the other program is at my local machine - everything is fine.
    I use the "Automation Open"-VI to open the ActiveX conection.
    The problem is that if the other program is located at another PC (inside network) the "automation Open" -VI returns an error.
    How can I get an ActiveX connection to the other PC?
    Thanks for help.
    Best regards.
    RonnyMessage Edited by rfriedr1 on 05-23-2005 10:00 AM

    I'm afraid it isn't quite that easy. From LV all you need to do is specify the machine name to get the remote access. However, in order for that to work, all of the COM stuff must be configured correctly for remote access (DCOM) and all the security settings must be done correctly. And if you are running XP SP2 or 2003 Server, there are additional steps to take because those OS's have tightened up security and thus have additional steps to get it to work.
    SUMMARY
    =======
    If you don't know much about COM or don't have access to a COM guru that created the COM component you are trying to use, you might want to think about creating a little LV app that runs on the remote box and then use LV networking to remotely access it. DCOM isn't impossible, but it isn't easy - especially if you don't have a good grounding in non-LV COM interfacing.
    DETAILS
    =======
    Is the COM object you are trying to access a home grown one or 3rd party? Are the two computers both in the same NT Domain or are they in Workgroup configuration? DCOM uses NT security and thus you typically need to have both computers in the same domain and using a domain credential for communication.
    I'm afraid I can't give you step by step instructions on how to do this (I haven't needed to use DCOM in about 6 years) - but there are a lot of resources out on the web and books like Don Box's "Essential COM" walk you through most of it. For example, here are some references to look at
    http://support.microsoft.com/kb/176799/EN-US/
    http://support.microsoft.com/kb/158508/EN-US/
    Oh, and this might be handy - ran across this while looking for links for you...
    http://support.microsoft.com/default.aspx?scid=kb;en-us;249726
    Brian Tyler
    http://detritus.blogs.com/lycangeek

  • How is it possible to use a COM interface in the teststand?

    Hi,
    we have developed some small aplications that control our devices and we are planning to make a com interface for these applications?
    We would like to control this com (NOT the serial interface) interface from teststand. We do not have Labview.
    Is this possible and if yyes can you point me where I can read the procedure?
    Or if it is not described can you briefly describe it?
    Is there any other more suited options of controlling an application from Teststand? The answer to this question for us is extremly important because we would like to develope as little as possible beside the application and use the Teststand ablities to the maximum.
    Our application is written in C++ with VC++ .net 2005
    I already checked out the manuals and the source code but I didn't find any examples most of them use dll-s and ActiveX.
    Thank you fro your help and time,
    Dacian

    Hi,
    Maybe this will point you in the right direction.
    http://zone.ni.com/devzone/cda/epd/p/id/1219
    Regards
    Ray Farmer
    Regards
    Ray Farmer

  • Step Type ActiveX/COM

    Hi!
    I want to know what is exactly ActiveX/COM step Type. I don't know what kind of program produce this type of step.
    Thanks
    Capblans

    Hi,
    You would use these step type to interface to the methods and properties of an activex/com object.
    Tpyically you would use this step type to interface with the TestStand API methods and properties. Also code generated using Visual Basic.
    There is a couple of articles (application notes) here that maybe helpful.
    Within the TestStand\examples folders and on the NI website are examples using the ActiveX/COM adapter
    Regards
    Ray Farmer
    Regards
    Ray Farmer

  • Python ActiveX/COM - Which engine am I getting?

    Currently, I have TestStand calling some Python code to run some of our tests.  I'm wondering if it's possible to have the Python code manipulate variables from the running TestStand instance?  This post shows how to access the TestStand API from Python: http://forums.ni.com/t5/NI-TestStand/Exchange-data-with-TestStand-from-a-python-thread/m-p/1314571#M...
    Based on what I've read, it seems that when you get a handle on an ActiveX/COM Engine object, its not the same Engine as is currently running (that called the python script).  (see post 6 of this post: http://forums.ni.com/t5/NI-TestStand/using-C-as-User-Interface-in-TestStand/m-p/1404192#M31492).  
    If this is true, then the engine I get in Python isn't the engine I want.
    Can anybody confirm/deny?

    Ok. Probably the easiest way to pass a reference across processes is to use the TestStand synchronization step types and corresponding synchronization manager API. On the TestStand side, before launching your python process, create a queue or notification (using the corresponding synchronization step type), giving it a name that begins with an '*' character. Synchronization objects whose name begins with an '*' character are global per machine. Then before, launching your python app, either enqueue the reference you wish to pass to python or set the notification with such a reference. Then inside of your python code, create a new instance of the engine, and call GetSyncManager() on it with the name you used for your queue or notification. You also need to import the TestStand synchronization manager type library, which will then allow you to convert the sync manager reference to a SyncManager data type. Call GetQueue or GetNotification on it, then call the corresponding method on the queue or notification to dequeue or wait for the notification. You will need to create a destination object using the engine as follows: engine.NewPropertyObject(PropValType_Reference, false, "", 0). See the API help for teststand for more information.
    Hope this helps,
    -Doug

  • Comment utiliser le bouton grisé ? dans l'editeur ActiveX/COM?

    bonjour,
    je souhaiterais associer une aide à chacun de mes "steps" dans l'éditeur d'ActiveX/COM. Il y a un bouton "?" grisé et je veux le rendre actif.
    Comment créer le lien entre ce bouton, le fichier d'aide et ma "Method"?
    J'ai cherché sur le forum et j'ai trouvé un seul cas identique et sans réponse pour l'instant "Add Documentation to custom DLL-Teststeps".
    merci pour votre aide.
    P.F
    Solved!
    Go to Solution.

    I do not know French that well, but I know the answer to your question so hopefully someone can translate this for you if needed.
    Basically what you need to do is add a helpfile tag and helpcontext and/or helpstring tags to the library, methods, and interfaces in your COM object's type library. If you are using C++ and an .idl file it looks something like this:
    At the top of your idl file:
        uuid(LibraryGUID),
        version(1.0),
        helpstring("Help string"),
        helpfile("..\\Doc\\Help\\TSAPIRef.chm")
    library libraryName
    For each interface:
        [helpcontext(HlpIDConstant) ,helpstring(HelpString) ,
            uuid(InterfaceGUID),
            dual,
            pointer_default(unique)
        interface MyInterface : IDispatch
    For each method:
            [helpcontext(HlpIDConstant) ,helpstring(HelpString), id(642)] HRESULT                MyMethod();
     Hope this helps,
    -Doug
    Message Edited by dug9000 on 06-19-2009 11:49 AM

  • Latest CR for ActiveX/COM with royalty free run-time?

    What is the latest version of Crystal Reports that supports ActiveX/COM and does not have any run-time licensing royalties?  I am needing to migrate away from CR 8.5 using CRPE interface and cannot as yet leave ActiveX/COM architecture.  I will need to interface to databases such as SQLServer 2000/2005 and MS Access.

    Hi Joe,
    You should be able to upgrade to CR XI R2 which is still in support life cycle, but getting close to it's end of life. Download the trial version and then read the license readme file included.
    Samples are available above.
    Go to this link: http://www.sdn.sap.com/irj/boc and download the trial version of CR XI R2.
    Direct link to the Trial version: http://www.sap.com/solutions/sapbusinessobjects/sme/freetrials/index.epx
    Licensing changes from version to version and there may be other options now for you also. Call the Sales department and ask them what will fit your requirements.
    Thank you
    Don

  • COM Interface DLL Working in Windows XP Not working in Windows 7 virtuallly running WIN XP mode

    Hi,
          I am Prasad, I want one clarification on Win7 64 bit inside we are running Windows XP in virtual mode. I am facing the problem in COM interface DLL which will do remote access to server & Core banking , Client & core banking.
    Now the client (vendor)  running the application in  Win7 64 bit of Windows XP application by making XP environment virtually in Win 7 64 bit OS.
    Here entire application is working fine apart from COM interface DLL (Even though we are exporting as .msi package and we are installing in Virtual Xp machine tried with both versions of 1.0 and 1.5)
    Can anyone please let me know is there any possibility to overcome this situation without upgrade the entire product to Win 7 for time being?
    Thanks In Advance..

    Based on my knowledge, a 32 bits components can run on a 32 bit virtual machine. Do you get any error message?
    These documents is helpful for developing on 64-bit windows.
    Process Interoperability
    Programming Guide for 64-bit Windows
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • SAP XI and COM interface

    The Import / Export Service has been developed by 3rd Party to allow you to programmatically load information into the 3rd Party Command Centre System. The service can be used to initialise new installations, and to synchronise data in an on-going basis with other applications within your organisation. The Import / Export Service is a licensable feature. Therefore, for this feature to work, your site must have the Import option turned on in their licence file.
    The service consists of a Microsoft Component Object Model (COM) Automation interface, and a set of import / export plus data translation scripts. Data is imported into the system using the Extensible Markup Language (XML). While this is the sole format the system uses for data imports, translation scripts are provided to convert from comma or other delimited file formats, to XML.
    Data may be loaded into or extracted from the 3rd Party Command Centre System in an on-line real time manner, or in a batch oriented approach. The method that is most appropriate to you will depend on your specific business requirements. The on-line method is appropriate if you require data to be immediately updated in 3rd party Command Centre after being keyed by an operator into one of your existing applications, or where an external application requires immediate access to data held in 3rd Party Command Centre. This method is provided via a COM Automation interface that can be called by any COM compatible programming language, (e.g. VB, Delphi, JScript). The batch approach also uses the Automation interface, but information is passed to or from 3rd Party Command Centre in one or more data files rather than directly through the programming interface. This approach can either be initiated by calling the COM interface directly, or by setting up a scheduled task that looks for, and processes, new files.
    My question is can I directly communicate with this COM interface with the existing adapters of SAP XI. I had initially thought of file adapetr to put the XML file in the FTP location from where this COM interface will poll and pick the file but in a real time scenario can we go for this approach. The other option is to publish this COM interface as a webservice but not sure how much rework is required to make this COM Service webservice enabled.
    Apart from this can you suggest any other approach which we can work out.
    Thanks in advance
    Ravijeet

    Hi Ravijeet !
    You could develop a Java Proxy client that uses the COM objects to extract data and send them directly to XI (http://research.microsoft.com/~chadv/java_com2.htm)
    Or you could develop a proxy application in VB or any other tool and do the COM calls and then connect to XI via HTTP, RFC (e.g. SAP .NET Connector) without creating any file in any file system.
    Regards,
    Matias.
    ps: please award points if helpful

  • How to get the entry point in the ActiveX/COM adaptor

    below is the description of the Demo of using the ActiveX/COM to call new seq . 
    API Demo
    1. Manually add a Message Popup step to the MainSequence of a
    new sequence file. Save the sequence file as launch.seq.
    2. Create another sequence file and save the file as caller.seq.
    3. In the MainSequence of the caller.seq file, add Action steps
    using the ActiveX/COM Adapter to call into the TestStand API and
    launch the launch.seq file in a new execution.You might need the
    following two methods to complete this step.
    . Engine.GetSequenceFileEx
    . Engine.NewExecution
    so the question as follows:
    1.i call the method of get sequencefileEx
    2. call the method of getmodlesequenceFile
    3.call the method of evalEntryPointNameExpression
    4.call the method of NewExecution.
    but at the step of 3. i haven't get the entry point.
    so how to solve this issue? thanks
    Attachments:
    QQ图片20140115200924.jpg ‏58 KB
    QQ图片20140115201708.jpg ‏100 KB

    This is a duplicate post of this:
    http://forums.ni.com/t5/NI-TestStand/How-to-get-the-entry-point-in-the-ActiveX-COM-adaptor/m-p/27005...

  • How to make in/out Port vis work with COM interface under different windows versions?

    Hello!
    I know that the accessHW is necessary for it, so I downlaoded the
    this file from the homepage of NI, but there are always some problems
    with it.
    My program should get the the voltage impulse between
    the pins DTR and RTS of a COM interface. After
    I installed accessHW under winNT, the voltage between them changed
    automatically from 0 mV to about 24 mV , and program
    worked well . But this way does not work under Win98 and Win2000,
    and this voltage is always 0 so that the device can not make any voltage
    impulse.
    Could someone give me a software solution for it? Thanks!
    P.S:The version of the labview I use is 6.1.
    Le

    You shouldn't depend on a voltage difference between the tow pins unless you need something like 24 volts and not 24 millvolts. All of the signal lines are referenced to ground and the signal lines usually swing between -3 to -12 and +3 to +12 volts. If you truly saw a 24 millivolt difference between two signal leads, then all that means is that they are both at the same logic state. A difference of 24 millivolts is not much and has to do with the UART in your computer and not accessHW I believe though maybe what happened is that the difference is 24mv when both are logic "1" and less when logic "0" or vice versa. If your device requires power from the serial port, then what you'll have to do is control the signal lines in your program and I
    would recomend VISA to do that instead of inport/outport. And check the voltage requirements of your device. If this is a device you designed, it should be designed for the lower voltages on new pc's and laptops. In other words, I would depend on 3 volt signals instead of 12. There are numerous references to either RS-232 or EIA-232 on the web. I think a review of the electrical specifications is needed.

  • CSS One Arm Configuration with VIP(non-shared)/IP Interface Redundancy

    With Reference to the following CCO documentation;
    1). "How to Configure the CSS to Load Balance Using 1 Interface"
    In this example, the Real Server's (10.10.10.2 etc) gateway are pointed to the router's gateway(10.10.10.1) and used the 'add destination service' command to NAT the RealServer's IP address back to the VIP (10.10.10.6).
    2). "Understanding and Configuring VIP and Interface Redundancy on the CSS11000".
    In the interface redundancy configuration, the gateway of the Real Server are configured as the CSS11000's Interface Redundancy Address (192.168.1.1), not the Router's gateway.
    Can anyone help to advise on the preferred one arm configuration with VIP/IP redundancy?
    (i). Is the reason for configuring the gateway of the Real Server to CSS11000's Interface Redundancy Address in 2) same as using 'add destination service' command in 1)? That is to make sure that the return path from Real Server back to Client passes through the CSS and is NAT back to the VIP.
    (ii). To configure VIP(non-shared)/IP Interface redundancy(Active/Backup Mode) in a one arm configuration, my understanding is that there are 2 methods of configuration. Is it correct? Which method is preferred?
    Method a)
    1.Configure the Real Server's gateway to Router's Gateway
    2.Configure 'add destination service' command on the CSS to NAT the RealServer's IP address back to the VIP
    3.Configure VIP(non-shared) redundancy for the VIP on the CSS
    4.IP Interface Redundancy on the CSS is not required as the Real Server's gateway is already pointing to the Router's gateway. (Assuming that HSRP redundancy is already running on the Router)
    Method b)
    1. Configure the Real Server's gateway to the CSS's IP Interface Redundancy IP Address
    2. Configure IP Interface Redundancy on the CSS (as the Real Server's gateway)
    3. Configure VIP(non-shared) redundancy for the VIP on the CSS

    if you use method a) (server gateway is the router) you need the CSS to nat
    the source ip address of the client in order to force the server to send traffic back to the CSS.
    The issue then is that the server does not see the IP address of real client.
    The server only see connections with source IP address = CSS ip address.
    With method b) you don't have the above problem, but connection initiated by the servers are sent to the CSS that will then send it to the router.
    You have a performance issue because the traffic will cross 2 times the one-armed interface.
    If this is a new design, it is strongly recommended not to use one-armed setup.
    Regards,
    Gilles.

  • Programmatically modify ActiveX/COM-step module settings

    Would like to modify programmatically ActiveX/COM-step module settings (Automation Server, Object reference, Object class, method/property, parameters-list).
    Can't find this in context. How this can be modified?
    Thanks!
    Solved!
    Go to Solution.

    Hey bestware,
    You need to get a reference to the step: RunState.Sequence.Main["MyActiveXStep"]
    Then you can use that to convert to the ActiveX module: RunState.Sequence.Main["MyActiveXStep"].Module.AsActiveXModule
    Once you have that you can do whatever you'd like with it.  You can read in the help more about this.  Search for ActiveXModule.
    You sould see all sorts of properties: MemberType, MemberName, ServerID, ActiveXReferenceExpr.  If you read about them they are refering to the different things you want to set.  For instance the ActiveXReferenceExpr is where you store the Object Reference.  The MemberType is Call Method (1), Get Property(2), Set Property(4) or Don't Call(-1), etc... 
    So to change the step to be a Get Property step I would do this:
    RunState.Sequence.Main["MyActiveXStep"].Module.AsActiveXModule.MemberType = 2
    To store an Object Reference to Locals.MyObj I would do this:
    RunState.Sequence.Main["MyActiveXStep"].Module.AsActiveXModule.ActiveXReferenceExpr = "Locals.MyObj"
    Hope this gets you pointed in the right direction. 
    jigg
    CTA, CLA
    teststandhelp.com
    ~Will work for kudos and/or BBQ~

  • Accessing COM interfaces in AIR

    Is there a way to access Windows COM interfaces through adobe air?  I'm working on an app where I need to be able to interact with another Windows program.  I want to use methods like WScript.CreateObject() in my code, and I can do this when I run the javascript files from the command line with WSH (i.e. cscript filename.js), but not through air.  The error I get  is "Can't find variable: WScript".  Is there any way to access COM interfaces, whether through WScript methods or something else?

    any idea how to do this in AIR 2?  Looking at the documentation, I see that you can run executable files using the NativeProcess class, so I guess could execute something like "cscript filename.js" and then "filename.js" could contain WScript methods.  But does anyone know of a way I can take advantage of COM interfaces more directly using AIR 2?

Maybe you are looking for

  • How to print password_grace_time message on login form

    hi, we are running our application on 6i there we have a login form . we have set profile for a user & we want to show password_grace_time message ( ora-28002 ) on his login form when he try to login in grace time. how can we do this? regards

  • Problem updating iphone 4 to os5

    I am trying to update my husband's iphone 4 to os5 via itunes on my macbook air. Itunes detects his phone and says update is available. Then it says that there is music on his phone that has not yet been transferred to itunes library. Choices are "co

  • OfficeJet 8600 Plus Printer Wifi not initializing

    My printer has suddenly stopped initializing the WiFi antenna when powered up.  I have not changed any drivers or installed any software that would affect the hardware status. The WiFi feature was working two days ago. I keep the printer powered down

  • Connect caught listing registry?

    I ctrl-c'd my running RMI server and, as expected, cannot create a new registry on this port. However, I created a small test app to attempt to 're-attach' to the registry: try {      /* does one already exist? */ serverRegistry = LocateRegistry.getR

  • How to configure Output Directory at Jobs

    Allo. I am quite new in IR eventhough I played with FR for months already. I need to set a BQY job to run every morning and inside the job has multicycle things. One of it is to export the processed BQY into my drive D:\\InterativeReporting\. Now, I