Jump to content

jgcode

LabVIEW Tools Network
  • Posts

    2,397
  • Joined

  • Last visited

  • Days Won

    66

Everything posted by jgcode

  1. Public Service Announcement <object id="scPlayer" class="embeddedObject" width="378" height="333" type="application/x-shockwave-flash" data="http://content.screencast.com/users/jgcode/folders/LAVA%20CR/media/3cd7631c-c3b5-4dda-8550-d8774d332741/jingswfplayer.swf"> <param name="movie" value="http://content.screencast.com/users/jgcode/folders/LAVA%20CR/media/3cd7631c-c3b5-4dda-8550-d8774d332741/jingswfplayer.swf"> <param name="quality" value="high"> <param name="bgcolor" value="#FFFFFF"> <param name="flashVars" value="thumb=http://content.screencast.com/users/jgcode/folders/LAVA%20CR/media/3cd7631c-c3b5-4dda-8550-d8774d332741/FirstFrame.jpg&containerwidth=378&containerheight=333&content=http://content.screencast.com/users/jgcode/folders/LAVA%20CR/media/3cd7631c-c3b5-4dda-8550-d8774d332741/L-VOOP.swf&blurover=false"> <param name="allowFullScreen" value="true"> <param name="scale" value="showall"> <param name="allowScriptAccess" value="always"> <param name="base" value="http://content.screencast.com/users/jgcode/folders/LAVA%20CR/media/3cd7631c-c3b5-4dda-8550-d8774d332741/"> </object>
  2. Hi Shawn, if NI were to release such an API that would be very cool. XML is great and easy to flatten/unflatten to, but if the spec requires ini's then you need to handle it yourself, I would love to see this in the palette (and handle mutations etc...)! So I am interested in what you are doing. Here are some things I have tried as well: Like you I started out using MGI VIs to read write cluster to ini. These are much faster than the OpenG ones (which are only APIs I know to do this). The speed diffs comes (from the best of my knowledge) from the fact that the MGI VIs save the data as a string, whereas OpenG uses the key-value paradigm and the Config File API. The problem with MGI is that you cannot use them for Inherited Classes and make use of reuse - writing the string deletes the previous string. So you cannot store parent and child data in the same section. OpenG overcomes this issue as the parent keys will persist, (as long as you choose different data member names you won't lose or overwrite any data) so your child data can be added under the same section. All you have to do is call the parent read/write method. Sweet. As I like LVOOP, my data clusters are small. When you read and write small data clusters, as opposed to cluster in cluster with arrays etc...the speed diff gets muted, so OpenG wins hands down for me. Now with a little bit of work, and a great post by Jim, you can easily add forward and backwards capability to your classes read/write methods. I normally like to store all the section of the ini in one Settings File that has all persistent data. So I have a File IO manager that is reusable and handles the general tasks - such as the file versioning in the header. Here is a screenshot from an early implementation: The File IO Manager is inherited from (for that Settings File Type) and just calls the Read methods of its data members. If you want to take abstraction a step further you can delegate your read write methods to a Class that does just file io. I have looked at using Community scope to expose the Cluster to a Friend Class. Either this Class does the ini file io and/or you can inherit from it with the other implementations (jki xml, custom etc...). Because you are passing the cluster and due to datatyping you have to have a Friends File IO Class for each Class Therefore, I could inherit from a single base class ini for file io using a Variant Interface (I am looking into that at the moment). I am thinking I could typecast it back if I need to break it out for any reason. Any feedback would be great. Also I can post code example if required. Francois - are you happy this conversation stays on this thread, or would you prefer it moved?
  3. Hey guys. I have updated the LVOOP Theme Creator to LVOOP Assistant as I have added some cool new features. Check out the vids below. Feedback much appreciated. Enjoy! Cheers -JG Intro <object id="scPlayer" class="embeddedObject" width="1009" height="728" type="application/x-shockwave-flash" data="http://content.screencast.com/users/jgcode/folders/LAVA%20CR/media/8105de4a-4418-472a-9e60-c8b013c6465c/jingswfplayer.swf"> <param name="movie" value="http://content.screencast.com/users/jgcode/folders/LAVA%20CR/media/8105de4a-4418-472a-9e60-c8b013c6465c/jingswfplayer.swf"> <param name="quality" value="high"> <param name="bgcolor" value="#FFFFFF"> <param name="flashVars" value="thumb=http://content.screencast.com/users/jgcode/folders/LAVA%20CR/media/8105de4a-4418-472a-9e60-c8b013c6465c/FirstFrame.jpg&containerwidth=1009&containerheight=728&content=http://content.screencast.com/users/jgcode/folders/LAVA%20CR/media/8105de4a-4418-472a-9e60-c8b013c6465c/LVOOP%20Assistant%20-%20Intro.swf&blurover=false"> <param name="allowFullScreen" value="true"> <param name="scale" value="showall"> <param name="allowScriptAccess" value="always"> <param name="base" value="http://content.screencast.com/users/jgcode/folders/LAVA%20CR/media/8105de4a-4418-472a-9e60-c8b013c6465c/"> </object> Rename LVOOP FP Object Labels <object id="scPlayer" class="embeddedObject" width="1009" height="728" type="application/x-shockwave-flash" data="http://content.screencast.com/users/jgcode/folders/LAVA%20CR/media/61961fba-3f9d-4c67-8f39-b1f586d1b70e/jingswfplayer.swf"> <param name="movie" value="http://content.screencast.com/users/jgcode/folders/LAVA%20CR/media/61961fba-3f9d-4c67-8f39-b1f586d1b70e/jingswfplayer.swf"> <param name="quality" value="high"> <param name="bgcolor" value="#FFFFFF"> <param name="flashVars" value="thumb=http://content.screencast.com/users/jgcode/folders/LAVA%20CR/media/61961fba-3f9d-4c67-8f39-b1f586d1b70e/FirstFrame.jpg&containerwidth=1009&containerheight=728&content=http://content.screencast.com/users/jgcode/folders/LAVA%20CR/media/61961fba-3f9d-4c67-8f39-b1f586d1b70e/LVOOP%20Assistant%20-%20Rename%20LVOOP%20FP%20Object%20Labels.swf&blurover=false"> <param name="allowFullScreen" value="true"> <param name="scale" value="showall"> <param name="allowScriptAccess" value="always"> <param name="base" value="http://content.screencast.com/users/jgcode/folders/LAVA%20CR/media/61961fba-3f9d-4c67-8f39-b1f586d1b70e/"> </object> Create Constructor From Template <object id="scPlayer" class="embeddedObject" width="1009" height="728" type="application/x-shockwave-flash" data="http://content.screencast.com/users/jgcode/folders/LAVA%20CR/media/a58b5ff7-11f6-4d50-a9c3-b008e0af3e99/jingswfplayer.swf"> <param name="movie" value="http://content.screencast.com/users/jgcode/folders/LAVA%20CR/media/a58b5ff7-11f6-4d50-a9c3-b008e0af3e99/jingswfplayer.swf"> <param name="quality" value="high"> <param name="bgcolor" value="#FFFFFF"> <param name="flashVars" value="thumb=http://content.screencast.com/users/jgcode/folders/LAVA%20CR/media/a58b5ff7-11f6-4d50-a9c3-b008e0af3e99/FirstFrame.jpg&containerwidth=1009&containerheight=728&content=http://content.screencast.com/users/jgcode/folders/LAVA%20CR/media/a58b5ff7-11f6-4d50-a9c3-b008e0af3e99/LVOOP%20Assistant%20-%20Create%20Constructor%20From%20Template.swf&blurover=false"> <param name="allowFullScreen" value="true"> <param name="scale" value="showall"> <param name="allowScriptAccess" value="always"> <param name="base" value="http://content.screencast.com/users/jgcode/folders/LAVA%20CR/media/a58b5ff7-11f6-4d50-a9c3-b008e0af3e99/"> </object> Create Scoped Virtual Folders <object id="scPlayer" class="embeddedObject" width="1009" height="728" type="application/x-shockwave-flash" data="http://content.screencast.com/users/jgcode/folders/LAVA%20CR/media/14f3684e-d9fd-4152-b393-ef6843deb121/jingswfplayer.swf"> <param name="movie" value="http://content.screencast.com/users/jgcode/folders/LAVA%20CR/media/14f3684e-d9fd-4152-b393-ef6843deb121/jingswfplayer.swf"> <param name="quality" value="high"> <param name="bgcolor" value="#FFFFFF"> <param name="flashVars" value="thumb=http://content.screencast.com/users/jgcode/folders/LAVA%20CR/media/14f3684e-d9fd-4152-b393-ef6843deb121/FirstFrame.jpg&containerwidth=1009&containerheight=728&content=http://content.screencast.com/users/jgcode/folders/LAVA%20CR/media/14f3684e-d9fd-4152-b393-ef6843deb121/LVOOP%20Assistant%20-%20Create%20Scoped%20Virtual%20Folders.swf&blurover=false"> <param name="allowFullScreen" value="true"> <param name="scale" value="showall"> <param name="allowScriptAccess" value="always"> <param name="base" value="http://content.screencast.com/users/jgcode/folders/LAVA%20CR/media/14f3684e-d9fd-4152-b393-ef6843deb121/"> </object> Methods Sandbox (Batch Create Static and Dynamic Methods from Template) <object id="scPlayer" class="embeddedObject" width="1009" height="728" type="application/x-shockwave-flash" data="http://content.screencast.com/users/jgcode/folders/LAVA%20CR/media/c0a6f59c-b35d-422e-8e1c-4c1e1705dcaa/jingswfplayer.swf"> <param name="movie" value="http://content.screencast.com/users/jgcode/folders/LAVA%20CR/media/c0a6f59c-b35d-422e-8e1c-4c1e1705dcaa/jingswfplayer.swf"> <param name="quality" value="high"> <param name="bgcolor" value="#FFFFFF"> <param name="flashVars" value="thumb=http://content.screencast.com/users/jgcode/folders/LAVA%20CR/media/c0a6f59c-b35d-422e-8e1c-4c1e1705dcaa/FirstFrame.jpg&containerwidth=1009&containerheight=728&content=http://content.screencast.com/users/jgcode/folders/LAVA%20CR/media/c0a6f59c-b35d-422e-8e1c-4c1e1705dcaa/LVOOP%20Assistant%20-%20Methods%20Sandbox.swf&blurover=false"> <param name="allowFullScreen" value="true"> <param name="scale" value="showall"> <param name="allowScriptAccess" value="always"> <param name="base" value="http://content.screencast.com/users/jgcode/folders/LAVA%20CR/media/c0a6f59c-b35d-422e-8e1c-4c1e1705dcaa/"> </object> Tools Menu Plugin (in addition to Quick Drop Interface) <object id="scPlayer" class="embeddedObject" width="1009" height="728" type="application/x-shockwave-flash" data="http://content.screencast.com/users/jgcode/folders/LAVA%20CR/media/270c6792-6600-4f99-b197-00c665092661/jingswfplayer.swf"> <param name="movie" value="http://content.screencast.com/users/jgcode/folders/LAVA%20CR/media/270c6792-6600-4f99-b197-00c665092661/jingswfplayer.swf"> <param name="quality" value="high"> <param name="bgcolor" value="#FFFFFF"> <param name="flashVars" value="thumb=http://content.screencast.com/users/jgcode/folders/LAVA%20CR/media/270c6792-6600-4f99-b197-00c665092661/FirstFrame.jpg&containerwidth=1009&containerheight=728&content=http://content.screencast.com/users/jgcode/folders/LAVA%20CR/media/270c6792-6600-4f99-b197-00c665092661/LVOOP%20Assistant%20-%20Tools%20Menu.swf&blurover=false"> <param name="allowFullScreen" value="true"> <param name="scale" value="showall"> <param name="allowScriptAccess" value="always"> <param name="base" value="http://content.screencast.com/users/jgcode/folders/LAVA%20CR/media/270c6792-6600-4f99-b197-00c665092661/"> </object> Unsaved Class Use Case <object id="scPlayer" class="embeddedObject" width="1009" height="728" type="application/x-shockwave-flash" data="http://content.screencast.com/users/jgcode/folders/LAVA%20CR/media/8aeafd6a-7cb4-459d-834c-4d62b8e6e25d/jingswfplayer.swf"> <param name="movie" value="http://content.screencast.com/users/jgcode/folders/LAVA%20CR/media/8aeafd6a-7cb4-459d-834c-4d62b8e6e25d/jingswfplayer.swf"> <param name="quality" value="high"> <param name="bgcolor" value="#FFFFFF"> <param name="flashVars" value="thumb=http://content.screencast.com/users/jgcode/folders/LAVA%20CR/media/8aeafd6a-7cb4-459d-834c-4d62b8e6e25d/FirstFrame.jpg&containerwidth=1009&containerheight=728&content=http://content.screencast.com/users/jgcode/folders/LAVA%20CR/media/8aeafd6a-7cb4-459d-834c-4d62b8e6e25d/LVOOP%20Assistant%20-%20Unsaved%20Class.swf&blurover=false"> <param name="allowFullScreen" value="true"> <param name="scale" value="showall"> <param name="allowScriptAccess" value="always"> <param name="base" value="http://content.screencast.com/users/jgcode/folders/LAVA%20CR/media/8aeafd6a-7cb4-459d-834c-4d62b8e6e25d/"> </object> Currently, some options are hard-coded to my style but there is no reason I can't open all this up if anyone wants me to e.g.: Link to your own Static/Dynamic method (.vit) templates Create your own Virtual Folder names etc...
  4. Cool. New release will have a Tools Menu plugin, so if you don't use QD either (I mean really, who doesn't?) - you can get to it easy. I really like your idea - and it sound doable.... ...now to find that thing called time...
  5. RT @NJKirchner: #ni internal session: #LabVIEW Tools Network & VIPM. A packed room! - Will my dreams become a reality? http://bit.ly/cE3svc

  6. Hi Suresh Some examples include: You can get the Class by this node and infer the datatype: Or if you have the data you get the Datatype like this: Cheers -JG
  7. What version of LabVIEW are you using? Here is a link on ni.com that discuss some Problems with Remote Panels in LV2009.SP1 including workarounds
  8. Hey MJE My LVOOP Theme Creator tool in LAVACR manipulates LVOOP Icons. Have you seen it? After posts between AQ, ThSa and myself I added a Transparent option, that allows a Child to "inherent" the Parent's icon. So if you update the Parent it will propagate through to the Children. Does the tool suit your Use Case? If you have any feedback that would be great. I am about to roll out another version soon too. Cheers -JG The best demo is probably: The Transparency Video in this post <edit> Ok, I just re-read your post, you want to change the member icon not the Child Class banner. Not in my tool, but still scriptable tho (and would complement the tool) </edit>
  9. This sounds cool Shawn, are you able to please post more info?
  10. jgcode

    Post NIWeek TYs

    Start drinking now?
  11. Is has to be a custom algorithm that uses Time and Kudos to create a weighting for each Idea. Time must weigh quite high initially, because you can make the top of the list with just 1-2 votes if its a brand new Idea. After that, if it lacks votes, it seems to drop off quick.
  12. I hate it too (but am forced to use it occasionally). I'm a Google Chrome man, its so fast - esp download images on screen etc... I love it.
  13. Google's the same. I think IE is the only one to work directly?
  14. You are welcome. Are you able to post the before and after Kudos figures? I am interested on how successful your web campaigning was. Cheers -JG <edit> From your post I see the main idea went from 79 to 182, which sits it under Top Ideas - thats impressive. How did the others go? </edit>
  15. Mad props to Eric BOBILLIER on @lavag who fixed a #LabVIEW #scripting issue that was causing a broken run arrow http://bit.ly/aRbZVc

  16. Sorry, not x86-64, just x86-32 (I implied 32-bit). Are you talking installer build spec speeds - or launching LabVIEW itself?
  17. [LV2009] Whenever I open an installer build spec, that is for a med + size app, I have to wait ages for the dialog to appear, then wait a bit more for it to become editable. (Way more than for a executable build spec, and sometimes that takes a bit) Sometimes I find its easier to edit the XML directly then to wait, (off the top of my head, I can't remember 86 being as bad) Its like its doing a bunch of checks, but nothing really changes between opening it from the last time. I am talking minutes... ...anyone know why? Cheers -JG
  18. No probs - just my luck! Thought I'd warn others tho. I saw the diagram before I closed it. So where did you get it? Or did you script it yourself?
  19. Sweet! I just opened the VI (which is set to run by default) and when I closed it, it crashed my LabVIEW (2009) I had a project opened too. Thanks!
  20. But not worthy of a rep point? Probably should take some off for the terrible commentary on the video. Apologies to everyones ears. -JG
  21. You are welcome! Eric this is great (and thanks for posting too Shaun) I have found you only need less code, but the principle is the same: toggle the default case. Does this work for you? Now that the broken run arrow is no longer an issue I have uploaded a fix: version 1.1. Here is the video (it got mundged with the starting post was automatically updated) - but now the run arrow issue is fixed. <object id="scPlayer" class="embeddedObject" width="1122" height="876" type="application/x-shockwave-flash" data="http://content.screencast.com/users/jgcode/folders/LAVA%20CR/media/c275b677-922c-42b8-a699-ce4c1b7bd0bb/jingswfplayer.swf"> <param name="movie" value="http://content.screencast.com/users/jgcode/folders/LAVA%20CR/media/c275b677-922c-42b8-a699-ce4c1b7bd0bb/jingswfplayer.swf"> <param name="quality" value="high"> <param name="bgcolor" value="#FFFFFF"> <param name="flashVars" value="thumb=http://content.screencast.com/users/jgcode/folders/LAVA%20CR/media/c275b677-922c-42b8-a699-ce4c1b7bd0bb/FirstFrame.jpg&containerwidth=1122&containerheight=876&content=http://content.screencast.com/users/jgcode/folders/LAVA%20CR/media/c275b677-922c-42b8-a699-ce4c1b7bd0bb/Insert%20State%20Into%20JKI%20State%20Machine.swf&blurover=false"> <param name="allowFullScreen" value="true"> <param name="scale" value="showall"> <param name="allowScriptAccess" value="always"> <param name="base" value="http://content.screencast.com/users/jgcode/folders/LAVA%20CR/media/c275b677-922c-42b8-a699-ce4c1b7bd0bb/"> </object>
×
×
  • Create New...

Important Information

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