<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: OLE Automation Server in LabVIEW</title>
    <link>https://ni.lithium.com/t5/LabVIEW/OLE-Automation-Server/m-p/2646#M2012</link>
    <description>If you are more comfortable with C/C++ you could always write a wrapper for&lt;BR /&gt;the dll's that came with your frame grabber and expose a simpler interface&lt;BR /&gt;to LabVIEW.&lt;BR /&gt;&lt;BR /&gt;Coincidently I am doing the same task right now for a Foresight Imaging&lt;BR /&gt;HIDEF Accura Frame Grabber - I elected to use the Foresight Imaging&lt;BR /&gt;libraries and dll's and wrap them in  LabVIEW code interface nodes (CINS).&lt;BR /&gt;The documentation on National Instruments sight is good concerning how to&lt;BR /&gt;setup Visual C++ to create CINS and also how to call a dll from a CIN or&lt;BR /&gt;LabVIEW directly - although calling dll's that use odd data types and&lt;BR /&gt;structures can be very tedious and you WILL crash LabVIEW during development&lt;BR /&gt;play.&lt;BR /&gt;&lt;BR /&gt;Go to their site and search for CIN or "calling a dll from LabVIEW".&lt;BR /&gt;&lt;BR /&gt;I would stay away from ActiveX&lt;BR /&gt; - the LabVIEW container doesn't seem to be&lt;BR /&gt;fully capable (even in LV 5.1).&lt;BR /&gt;BUT maybe you could use the ActiveX controls in a dll wrapper or CIN wrapper&lt;BR /&gt;maybe ??  I tried using the ActiveX controls for my frame grabber and could&lt;BR /&gt;only get the most rudimentary functions to work, the ActiveX control works&lt;BR /&gt;great with VB though - figures....&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;Good Luck&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;Richard RUDEK wrote in message &amp;lt;3855ab94.7152706@news.zeta.org.au&amp;gt;...&lt;BR /&gt;&amp;gt;Hi all.&lt;BR /&gt;&amp;gt;&lt;BR /&gt;&amp;gt;I've been asked to help in a project where the main portion of it is&lt;BR /&gt;&amp;gt;being written using labview (G), which I'm not familiar with.&lt;BR /&gt;&amp;gt;&lt;BR /&gt;&amp;gt;I've had a quick browse through the various labview manuals, and really&lt;BR /&gt;&amp;gt;don't want to go off at a tangent from what I need to do, meaning that I&lt;BR /&gt;&amp;gt;don't have time to become proficient with labview - the current&lt;BR /&gt;&amp;gt;"developer" does not describe himself as a "programmer", which is why he&lt;BR /&gt;&amp;gt;chose labview.&lt;BR /&gt;&amp;gt;&lt;BR /&gt;&amp;gt;Anyway, the job requires me to interface a Thompson Frame Grabber card&lt;BR /&gt;&amp;gt;(FGT) with labview. Thompson supply an SDK and the sou&lt;BR /&gt;rce for a&lt;BR /&gt;&amp;gt;Microsoft Visual Studio sample program. Unfortunately, no source for the&lt;BR /&gt;&amp;gt;SDK DLL/driver.&lt;BR /&gt;&amp;gt; &lt;BR /&gt;</description>
    <pubDate>Tue, 14 Dec 1999 03:21:23 GMT</pubDate>
    <dc:creator>B &amp; C Duffey</dc:creator>
    <dc:date>1999-12-14T03:21:23Z</dc:date>
    <item>
      <title>OLE Automation Server</title>
      <link>https://ni.lithium.com/t5/LabVIEW/OLE-Automation-Server/m-p/2645#M2011</link>
      <description>Hi all.&lt;BR /&gt;&lt;BR /&gt;I've been asked to help in a project where the main portion of it is&lt;BR /&gt;being written using labview (G), which I'm not familiar with. &lt;BR /&gt;&lt;BR /&gt;I've had a quick browse through the various labview manuals, and really&lt;BR /&gt;don't want to go off at a tangent from what I need to do, meaning that I&lt;BR /&gt;don't have time to become proficient with labview - the current&lt;BR /&gt;"developer" does not describe himself as a "programmer", which is why he&lt;BR /&gt;chose labview.&lt;BR /&gt;&lt;BR /&gt;Anyway, the job requires me to interface a Thompson Frame Grabber card&lt;BR /&gt;(FGT) with labview. Thompson supply an SDK and the source for a&lt;BR /&gt;Microsoft Visual Studio sample program. Unfortunately, no source for the&lt;BR /&gt;SDK DLL/driver. &lt;BR /&gt;&lt;BR /&gt;Reading their French-glish manuals, the way they expect you to control&lt;BR /&gt;the FGT card is via a supplied DLL. They do supply some guidance on how&lt;BR /&gt;to do this, but the problem I have is that the DLL requires various low&lt;BR /&gt;level capabilities to allow things like an overlay window, callbacks,&lt;BR /&gt;etc. Given that such info seems to be rather difficult (tedious) to&lt;BR /&gt;extract or have labview perform, I've decided I should write (using&lt;BR /&gt;Delphi or C++) another component to talk directly to their DLL, and have&lt;BR /&gt;labview control the new component that I write.&lt;BR /&gt;&lt;BR /&gt;Looking through the various manuals, I see that labview supports&lt;BR /&gt;ActiveX, but I'm unsure wether that is restricted to just ActiveX&lt;BR /&gt;controls specifically, or wether labview can interface with an&lt;BR /&gt;Automation Server (OLE and ActiveX are built upon COM) ?&lt;BR /&gt;&lt;BR /&gt;If so, how does one "import" the Automation server's interface into the&lt;BR /&gt;labview environment/IDE, so my "non-programmer" client to easily&lt;BR /&gt;interface with an Automation Server ?&lt;BR /&gt;&lt;BR /&gt;The reason that I want to go with a standalone, out-of-process (OOP...?)&lt;BR /&gt;Automation Server, as opposed to an in-process server, or an ActiveX&lt;BR /&gt;control, is that (naive) attempts thus far with interfacing labview with&lt;BR /&gt;the FGT DLL has lead to serious side effects, such as crashing the&lt;BR /&gt;system. However, trivial trials using Borland C++ Builder to interface&lt;BR /&gt;with the FGT DLL produced none of those stability problems.&lt;BR /&gt;&lt;BR /&gt;Another reason is that if I make an ActiveX control, the possibility of&lt;BR /&gt;multiple use rears it's head, which the DLL and overlay functions do not&lt;BR /&gt;support, nor make sense for it to.&lt;BR /&gt;&lt;BR /&gt;I will shortly install a temporary copy labview (5.1 ?) on my Dual boot&lt;BR /&gt;Win98/Win NT4 system here, just to experiment with labview. But my&lt;BR /&gt;client is using NT4 SP6, with a dual processor Xeon system (although&lt;BR /&gt;we've removed one of the CPU's due to various weirdities with labview). &lt;BR /&gt;&lt;BR /&gt;Any additional pointers or confirmations would be most helpful. &lt;BR /&gt;  __   __  ________________________________________________________&lt;BR /&gt; //)) //))| Richard RUDEK. MicroDek. Chatswood, Sydney. Australia. |&lt;BR /&gt;//\\ //\\ |http://microdek.homepage.com/                           |&lt;BR /&gt;          |________________________________________________________|&lt;BR /&gt;</description>
      <pubDate>Tue, 14 Dec 1999 02:45:51 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/LabVIEW/OLE-Automation-Server/m-p/2645#M2011</guid>
      <dc:creator>Richard RUDEK</dc:creator>
      <dc:date>1999-12-14T02:45:51Z</dc:date>
    </item>
    <item>
      <title>Re: OLE Automation Server</title>
      <link>https://ni.lithium.com/t5/LabVIEW/OLE-Automation-Server/m-p/2646#M2012</link>
      <description>If you are more comfortable with C/C++ you could always write a wrapper for&lt;BR /&gt;the dll's that came with your frame grabber and expose a simpler interface&lt;BR /&gt;to LabVIEW.&lt;BR /&gt;&lt;BR /&gt;Coincidently I am doing the same task right now for a Foresight Imaging&lt;BR /&gt;HIDEF Accura Frame Grabber - I elected to use the Foresight Imaging&lt;BR /&gt;libraries and dll's and wrap them in  LabVIEW code interface nodes (CINS).&lt;BR /&gt;The documentation on National Instruments sight is good concerning how to&lt;BR /&gt;setup Visual C++ to create CINS and also how to call a dll from a CIN or&lt;BR /&gt;LabVIEW directly - although calling dll's that use odd data types and&lt;BR /&gt;structures can be very tedious and you WILL crash LabVIEW during development&lt;BR /&gt;play.&lt;BR /&gt;&lt;BR /&gt;Go to their site and search for CIN or "calling a dll from LabVIEW".&lt;BR /&gt;&lt;BR /&gt;I would stay away from ActiveX&lt;BR /&gt; - the LabVIEW container doesn't seem to be&lt;BR /&gt;fully capable (even in LV 5.1).&lt;BR /&gt;BUT maybe you could use the ActiveX controls in a dll wrapper or CIN wrapper&lt;BR /&gt;maybe ??  I tried using the ActiveX controls for my frame grabber and could&lt;BR /&gt;only get the most rudimentary functions to work, the ActiveX control works&lt;BR /&gt;great with VB though - figures....&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;Good Luck&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;Richard RUDEK wrote in message &amp;lt;3855ab94.7152706@news.zeta.org.au&amp;gt;...&lt;BR /&gt;&amp;gt;Hi all.&lt;BR /&gt;&amp;gt;&lt;BR /&gt;&amp;gt;I've been asked to help in a project where the main portion of it is&lt;BR /&gt;&amp;gt;being written using labview (G), which I'm not familiar with.&lt;BR /&gt;&amp;gt;&lt;BR /&gt;&amp;gt;I've had a quick browse through the various labview manuals, and really&lt;BR /&gt;&amp;gt;don't want to go off at a tangent from what I need to do, meaning that I&lt;BR /&gt;&amp;gt;don't have time to become proficient with labview - the current&lt;BR /&gt;&amp;gt;"developer" does not describe himself as a "programmer", which is why he&lt;BR /&gt;&amp;gt;chose labview.&lt;BR /&gt;&amp;gt;&lt;BR /&gt;&amp;gt;Anyway, the job requires me to interface a Thompson Frame Grabber card&lt;BR /&gt;&amp;gt;(FGT) with labview. Thompson supply an SDK and the sou&lt;BR /&gt;rce for a&lt;BR /&gt;&amp;gt;Microsoft Visual Studio sample program. Unfortunately, no source for the&lt;BR /&gt;&amp;gt;SDK DLL/driver.&lt;BR /&gt;&amp;gt; &lt;BR /&gt;</description>
      <pubDate>Tue, 14 Dec 1999 03:21:23 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/LabVIEW/OLE-Automation-Server/m-p/2646#M2012</guid>
      <dc:creator>B &amp; C Duffey</dc:creator>
      <dc:date>1999-12-14T03:21:23Z</dc:date>
    </item>
    <item>
      <title>Re: OLE Automation Server</title>
      <link>https://ni.lithium.com/t5/LabVIEW/OLE-Automation-Server/m-p/2647#M2013</link>
      <description>&amp;gt; Reading their French-glish manuals, the way they expect you to control&lt;BR /&gt;&amp;gt; the FGT card is via a supplied DLL. They do supply some guidance on how&lt;BR /&gt;&amp;gt; to do this, but the problem I have is that the DLL requires various low&lt;BR /&gt;&amp;gt; level capabilities to allow things like an overlay window, callbacks,&lt;BR /&gt;&amp;gt; etc. Given that such info seems to be rather difficult (tedious) to&lt;BR /&gt;&amp;gt; extract or have labview perform, I've decided I should write (using&lt;BR /&gt;&amp;gt; Delphi or C++) another component to talk directly to their DLL, and have&lt;BR /&gt;&amp;gt; labview control the new component that I write.&lt;BR /&gt;&amp;gt; &lt;BR /&gt;&amp;gt; Looking through the various manuals, I see that labview supports&lt;BR /&gt;&amp;gt; ActiveX, but I'm unsure wether that is restricted to just ActiveX&lt;BR /&gt;&amp;gt; controls specifically, or wether labview can interface with an&lt;BR /&gt;&amp;gt; Automation Server (OLE and ActiveX are built upon COM) ?&lt;BR /&gt;&amp;gt; &lt;BR /&gt;&amp;gt; If so, how does one "import" the Automation server's interface into the&lt;BR /&gt;&amp;gt; labview environment/IDE, so my "non-programmer" client to easily&lt;BR /&gt;&amp;gt; interface with an Automation Server ?&lt;BR /&gt;&amp;gt; &lt;BR /&gt;&amp;gt; The reason that I want to go with a standalone, out-of-process (OOP...?)&lt;BR /&gt;&amp;gt; Automation Server, as opposed to an in-process server, or an ActiveX&lt;BR /&gt;&amp;gt; control, is that (naive) attempts thus far with interfacing labview with&lt;BR /&gt;&amp;gt; the FGT DLL has lead to serious side effects, such as crashing the&lt;BR /&gt;&amp;gt; system. However, trivial trials using Borland C++ Builder to interface&lt;BR /&gt;&amp;gt; with the FGT DLL produced none of those stability problems.&lt;BR /&gt;&amp;gt; &lt;BR /&gt;&amp;gt; Another reason is that if I make an ActiveX control, the possibility of&lt;BR /&gt;&amp;gt; multiple use rears it's head, which the DLL and overlay functions do not&lt;BR /&gt;&amp;gt; support, nor make sense for it to.&lt;BR /&gt;&amp;gt; &lt;BR /&gt;&amp;gt; I will shortly install a temporary copy labview (5.1 ?) on my Dual boot&lt;BR /&gt;&amp;gt; Win98/Win NT4 system here, just to experiment with labview. But my&lt;BR /&gt;&amp;gt; client is using NT4 SP6, with a dual processor Xeon system (although&lt;BR /&gt;&amp;gt; we've removed one of the CPU's due to various weirdities with labview).&lt;BR /&gt;&amp;gt; &lt;BR /&gt;&lt;BR /&gt;If you inflate any arrays or strings before calling the DLL, then&lt;BR /&gt;there shouldn't be any problem calling into the DLL.  This is how&lt;BR /&gt;the NI drivers are built.  If you would rather, then you can use&lt;BR /&gt;the ActiveX client functions.  LV can contain controls, and can&lt;BR /&gt;access any automation server.  The function for importing is the&lt;BR /&gt;Automation Open function.  Its in the ActiveX palette.  Popup on&lt;BR /&gt;it to create an automation refnum, and type it to be the server&lt;BR /&gt;that you are creating and registering.&lt;BR /&gt;&lt;BR /&gt;As for problems with the Dual processor, I now of a number of&lt;BR /&gt;LV users that use dual processor machines with no problem.  If&lt;BR /&gt;you have problems, it is more likely to be a problem with a&lt;BR /&gt;driver.  If it is anything reproducable, then please report it&lt;BR /&gt;to NI.&lt;BR /&gt;&lt;BR /&gt;Greg McKaskle&lt;BR /&gt;</description>
      <pubDate>Tue, 14 Dec 1999 05:36:18 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/LabVIEW/OLE-Automation-Server/m-p/2647#M2013</guid>
      <dc:creator>Greg_McKaskle2</dc:creator>
      <dc:date>1999-12-14T05:36:18Z</dc:date>
    </item>
    <item>
      <title>Re: OLE Automation Server</title>
      <link>https://ni.lithium.com/t5/LabVIEW/OLE-Automation-Server/m-p/197981#M113551</link>
      <description>hi greg ,&lt;BR /&gt;     &lt;BR /&gt;          i m interfacing  an "Aver media frame grabber card " that is being used with "Fath software".I m  using Activex Container to access the properties and methods.&lt;BR /&gt;but most of the time it opens the preview window of the fath software and hangs up .&lt;BR /&gt;i basically want to control certain features of the fath software through my LV program.&lt;BR /&gt;for eg. &lt;BR /&gt;properties like &lt;BR /&gt;1. open the preview window .&lt;BR /&gt;2. ableto sety to composite .&lt;BR /&gt;3. able to set the window size. etc......&lt;BR /&gt;&lt;BR /&gt;So, when we are using activexcontrol do we need to flush the buffer or something?(as a solution to why it keeps hanging the comp while executing.&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;regards &lt;BR /&gt;tanisha</description>
      <pubDate>Sun, 27 Mar 2005 07:02:18 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/LabVIEW/OLE-Automation-Server/m-p/197981#M113551</guid>
      <dc:creator>Tan_lv</dc:creator>
      <dc:date>2005-03-27T07:02:18Z</dc:date>
    </item>
    <item>
      <title>Re: OLE Automation Server</title>
      <link>https://ni.lithium.com/t5/LabVIEW/OLE-Automation-Server/m-p/198034#M113582</link>
      <description>Just a few comments about LabVIEW's support for calling outside code.&lt;BR /&gt;&lt;BR /&gt;1. We don't require full ActiveX support for the "Invoke Node" and "Invoke Property" type of control - only if you want the component to display its UI in the LabVIEW front panel. Thus you can use any COM control. One catch - Until LabVIEW 7 (maybe 7.1, I forget), your component had to support IDispatch. The later versions use the v-table directly so IDispatch is no longer required if you upgrade LabVIEW. I'm not sure what Duffey means about ActiveX not being fully capable but you should have no trouble calling an inproc or out-of-proc COM component. &lt;BR /&gt;&lt;BR /&gt;2. As Duffey mentioned, we also support calling standard C-style DLLs. You can either invoke them directly via the "Call Library Node" or use the Code Interface Node approach. The different is that the CLN just calls the DLL - no special work needed there. The CIN requires that you build with some LabVIEW header files and follow certain rules (This is fully documented in LV's docs). The advantage of the CIN is that it allows you to do more advanced things such as accessing LV data types directly and allocate memory for LabVIEW, but it is much more complicated.&lt;BR /&gt;&lt;BR /&gt;3. LabVIEW does work on multi proc machines so don't give up on that one. I can understanding keeping it single CPU to reduce the number of variables while you try to get the interface to the DLL working, but you don't need to eliminate SMP boxes.</description>
      <pubDate>Mon, 28 Mar 2005 00:00:06 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/LabVIEW/OLE-Automation-Server/m-p/198034#M113582</guid>
      <dc:creator>Lycangeek</dc:creator>
      <dc:date>2005-03-28T00:00:06Z</dc:date>
    </item>
  </channel>
</rss>

