Jump to content

zen

Members
  • Posts

    9
  • Joined

  • Last visited

    Never

zen's Achievements

Newbie

Newbie (1/14)

0

Reputation

  1. Aristos, Thanks for your comments. QUOTE(Aristos Queue @ Mar 10 2007, 11:22 PM) Oh, I did not know that. That was a good thing to know. I have not thought of open reference from path to a class, eighter. I think I am more comfortable in working on this. Thanks, Tomi and Aristos. zen
  2. QUOTE(Tomi Maila @ Mar 10 2007, 05:23 PM) The first one is what I want(ed). Tomi, your questions made me think this problem better and I am kind of convinced that I cannot do what I want easily. I will describe a use case in block diagram form. I want to distribute TestCase class and its method VIs (dynamic dipach VIs) at sourceforge.net or here. Users create child classes from TestCase class and define original method VIs. User's project tree will look like the folloing figure. Here, MyTest class is the child class inherited from TestCase class. http://forums.lavag.org/index.php?act=attach&type=post&id=5170 Then, a user passes MyTest class to Run.vi which is defined in parent TestCase class. I want Run.vi runs Test1.vi and Test2.vi without explicitly user specifying. I want a simple interface/way to run TestSomethingSomething VI to prevent users from wiring a lot. I do not stick to Run.vi if there exists other way but let me continue now. http://forums.lavag.org/index.php?act=attach&type=post&id=5172 I found that Run.vi should be able to (1) gather references to method VIs defined in child class and (2) call them with passing the child class. I assume Test*.vi's have the same terminal pattern. http://forums.lavag.org/index.php?act=attach&type=post&id=5171 After thinking on Tomi's questions, rereading his critial analysis report and playing with LabVIEW, I do not think my approach is the best way. Although my original question was how TestCase class's Run.vi to aquires list of method VI references bound in a child method, it seems I should find another way to implment this mechanism (or wait for NI implementing object reference ;p ) zen
  3. QUOTE(Tomi Maila @ Mar 10 2007, 12:15 PM) I was trying to mean "3" dynamic dispatch VI called by VI reference. I assume that dynamic dispatch VI is the VI bound to a class which was introduced in LabVIEW 8.2. Note that this is the only way I could think of to call such VIs without user placing them on a block diagram. If there exists another way, I would love to learn it. zen
  4. Hi, Does anyone know how to acquire the references to the dynamic VIs that belongs to a class? For example, if my class Foo.lvclass has dynamice VIs bar.vi and xyzzy.vi, I want to get the references to those two VIs. I am trying to implement a unit test library or framework for LabVIEW. My TestCase class should be able to find its own dynamic VIs whose names start with "test" and run them implicitly. If my FooTest class inherited from TestCase class has testA.vi, testB.vi and testC.vi as dynamic VIs, I want FooTest.lvclass::Run.vi to find and run them. zen
  5. I am lazy, too. I found the most tedious part was to seek the top level VI made by others. People had hard time to find MY top level VI for sure. On the other hand, I think it is a good idea to review all candidate codes to be fair. Here are my random thoughts. VI/file structure must follow some restriction so that valuators easily can find how to run easily. One big zip file contains five folders and each contains a candidate code. This prevent us from downloading one or two and give up evaluation. Voting allows us to gather as many eyes as possible. Meanwhile, Committee may give multiple credits because they have better eyes (this is just my assumption, not necessarily true). Zen
  6. Thank you to the committee, and also people voted for me It was a great opportunity to code VI with focusing on my creativity, rather than pikky requests from customers/users. I think one of the best way to learn programming is "reading" codes. Coding Challenges provides unique opportunities to read how other people create VI which functionality is the same as mine. I am thinking about reviewing submitted codes. Probably in my blog or maybe posting to LAVA. Zen
  7. I assume that MG Final indicator displays empty string in the very next loop after the mouse button is released. Is that right? Or MG Final should keep displaying the "R1R" in the following loops? Zen
  8. If functional G has lambda structure, we probably could solve 1, 5, 6 and 7. Lambda expression seems attractive to functional programmers. Although I am not into functional programming much, I sometimes wish LabVIEW had lambda. The compromise that functional G allows non-functional feature sounds great to me. Some popular language such as Python have both functional and non-functional features.
  9. I think functional programming languages have similar approach. I remember a homework assignment in school; implement tick-tack-toe in Prolog. My (and probably my classmates') implementation was "passing current matrix to a function that returns next matrix". You do not declare variables in such implementation. LabVIEW is not Prolog. LabVIEW is not Scheme, LISP, Haskell. But passing values or references to a function and get the results without explicitly specifying procedure seems functional programming to me. Also, I like how LabVIEW RTE implements multithreading. It actually hides threads from users. We probably should talk at Lightweight Language conference to get feedback from functinal programmers . http://ll4.csail.mit.edu/
×
×
  • Create New...

Important Information

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