Jump to content

Darren

NI
  • Content Count

    552
  • Joined

  • Last visited

  • Days Won

    44

Posts posted by Darren


  1. Ah, I pity you poor, banana-slicing-challenged souls. There are a few of us out there who were lucky enough to be employed at Baskin-Robbins as teenagers during the summer. The Banana Split is often regarded as the ideal ice cream treat, but let us not forget the Banana Royale (not with cheese), an ice cream treat for the more budget-conscious banana-craving ice cream connoisseur.

     

    Whereas a Banana Split includes bananas sliced longitudinally which elegantly cradle three scoops of ice cream, the Banana Royale consists of two scoops of ice cream dropped rather unceremoniously upon the result of a banana which has been sliced several times perpendicular to its axis. I cannot recall how many Banana Royales I prepared during my storied 6-month Baskin-Robbins career, but it was enough to prepare me for a lifetime of effortless banana slicing.

     

    All this to say, if I happen to win Norm's inexplicably-coveted prize, I would be happy to pass it on to any of you who require mirrors and yellow plastic implements to slice your bananas.

    • Like 2

  2. Also, there does not appear to be a way to export your schedule to your favorite calendar program, like in the past.

     

    Through the regular web interface, you can use the Export button. I was able to successfully export to my Google calendar with this option:

     

    post-4441-0-93100600-1406143773_thumb.pn

    • Like 1

  3. The cRIO sample projects were written with close collaboration with the Systems Engineering group here at NI. The places in which we used global variables for multi-loop communication were specifically chosen for performance benefits over other data communication mechanisms.

     

    I'm going to make our certification department aware of this thread so they know about your concerns, and take into account the (approved) implementations of the sample projects when grading the CLED.

    • Like 1

  4. But, wouldn't this mean that the workaround only works if LabVIEW is installed after the ActiveX components?

    Speaking to Report Gen specifically, if you install the toolkit without having Office installed, and try to open/save/mass compile the toolkit VIs, they would all be broken, since the ActiveX components wouldn't be on the system. So having the PrintOut method act funny would be the least of your worries. ;)

     

    If I make an update to the ActiveX component after LabVIEW has recompiled the VI, I would still have to fix this manually?

    If you have saved the Excel_Print.vi, then upgrade your Office version, I suppose there is a chance that this VI would break again. I am not aware of anybody running into this issue, but it is theoretically possible.

     

    What if you add another ActiveX property/method to the BD that is actually not called, would this force the VI to detect the change in the external component correctly? 

    That is a workaround we didn't think to try, I suppose it might work. We would have to find a property/method that is guaranteed to be different (i.e. requiring a recompile) between the different supported Office versions.


  5. Explain the Print VI issue a bit more then.

     

    Ok, it's been several years now, but here's what I remember. There's some bug with the PrintOut method of the _Worksheet class, which is called by Excel_Print.vi in the Report Gen API:

     

    post-4441-0-47068800-1398805453.png

     

    Let's say I save a VI with this method on its diagram in LabVIEW 2012. Then I give you the VI. If you're also running LabVIEW 2012, the VI will not be recompiled because we're using the same LabVIEW version. But if the ActiveX components for this Excel library are a different version (mostly likely because we're running different Office versions), then the method will be broken on your system. If you were running LabVIEW 2013, though, the VI would be recompiled because of the LV version difference, and the method would not be broken.

     

    Through our investigations, we found that this method was the *only* one in the entire Report Gen Toolkit API that exhibited this behavior...every single other property/method that we call in our VIs would detect the ActiveX component version difference just fine and force a recompile of the VI, even if the LabVIEW versions were the same. To my recollection, we found that there was a bug in the implementation of the PrintOut method itself that was causing us to not see the version difference on VI load. So, the best workaround we could come up with on our end was to force a recompile of the Excel_Print.vi on every installed system by installing a version saved in an older LabVIEW. We figured requiring a save of the VI was less of a burden on users that requiring an edit of the diagram (deselecting and reselecting the method).

    • Like 1

  6. If you take the project from one environment to another, then you might expect to see many (or all) of the VIs that make ActiveX calls to want to be recompiled. The ActiveX component version mismatch issue is independent of the Excel_Print issue workaround. That's why any ActiveX-based toolkit (like the Database Toolkit) will demonstrate these issues.


  7. Ok, now it's coming back to me (I haven't worked on the Report Gen Toolkit in several years). You mentioned that the version difference only appears with that one VI? I'm starting to remember that there's a weird ActiveX bug with the Print method for Excel that Microsoft never fixed, and we were able to workaround it by installing a non-mass-compiled version of the VI that calls that method (Excel_Print.vi). A recompile on an installed system (which will always happen when the VI is saved in an old version) works around the bug in the Print method.


  8. I can speak to the Report Gen Toolkit and Database Toolkit issues specifically. Both of these toolkits are mass compiled in the appropriate LabVIEW version before release (which makes me wonder about Jordan's second screenshot above referencing LV 8.6b7...this may be a bug). Bugs notwithstanding, both of these toolkits happen to make extensive use of ActiveX calls. If there are any differences in the ActiveX components on different machines, then the VIs will prompt you to save changes, even if you didn't actually make any edits to the VIs. This is illustrated by the message in Jordan's first screenshot ("external component modified"). One common cause would be a machine with a different version of Office installed than the one installed on our build machines here at NI, but there are many other causes of ActiveX version number differences as well.


  9. The MenuLaunchApp property only works the way you desire when the menu launch VI is launched from the menu of a VI. If you want to gain access to the project from which the menu launch VI was run, you'll need to use the Active Project property:

     

    post-4441-0-53480500-1391442003.png

     

    From here, you can parse the project and get the Application Instance (which will be different per target in the project) you want.

     

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.