Jump to content

MikaelH

Members
  • Posts

    835
  • Joined

  • Last visited

  • Days Won

    49

Posts posted by MikaelH

  1. QUOTE(Tomi Maila @ Jul 19 2007, 08:10 AM)

    I've understood that all ancestor classes need to be in the project explorer during the development of any decendent class.

    Hi Tomi

    You don't need to have the base class in the project explorer, but it will be loaded into memory anyway since it's refered to.

    And ofcause all base-class members.

    The build in function: "MySubClass->New->Override VI" still works, but the GDS-toolkits, "MySubClass->GOOP->Add Method..." don't find which override methods that are possible to create.

    I might fix this in the next version of GDS, which will be relased after NI-week.

    //Mikael

  2. Hi everyone

    I just attached a small LabVOOP application created with the GDS tool.

    http://forums.lavag.org/index.php?act=attach&type=post&id=6099

    I used this application to evealuate if LabVOOP supports recursive calls.

    But unfortunattly it doesn't :headbang:

    Limitations:

    First: You can't set a dynamic dispatch method to be reentrant.

    Second: You can't call a dynamic dispatch VI using the "Call By Reference Node"

    Cheers,

    Mikael

  3. Hi guys

    I came up with the name TestStand Light, when a customer (Ericsson Mobile Platform, Sweden) needed a test-executive

    that was based on readable test sequence files. They wanted the sequence files to be read and modified by notepad.

    I made a ScriptRunner application that parsed the text files and executed the tests.

    E.g.

    TEST

    {

    SetVoltageApp(20)

    $Result=TcCurrentConsumptionsApp(21)

    if ($Result.TestStatusResult=PASS)

    {

    println("TcCurrentConsumptionsApp Result=PASS")

    for each $Temp in {85,-30,-20,25}

    {

    SetTemperatureApp(28)

    for each $Volt in {2.5,2.7,2.75,2.9}

    {

    SetVoltageApp(31)

    $XO=TcXoFrequencyApp(34)

    TcTxPowerVsFrequencyApp(35)

    }

    }

    }

    else

    {

    println("TcCurrentConsumptionsApp Result=FAIL")

    }

    SendMailApp(41)

    }

    But too make it easier to create scripts like this, I made a GUI for that. "TestStand Light"

    Have a look at this ppt Download File:post-941-1170712458.ppt

    (It's a quick swedish to english translation, just for you guys ;) )

    The problem is that Ericsson owns this code, but if I have time I might be able to recreate it (not copy) and share it.

    Cheers,

    Mikael

    Ps But I'm now upgrading the LabVIEW UML modeller to be integrated in the LabVIEW project environment, and that will probably take all my spare time

  4. I've had the same problems working with lvclasses.

    To solve this, I had to open open one of the classes direct (dubble click on the .lvclass file).

    Resave it and restart LabVIEW.

    The problem I've had is that I don't know which lvclass file to open, LabVIEW crashes when I open

    the wrong file.

    The problem is caused by using public typedefs from other classes in a lvclass.

    But there is soon a solution for these problems ...

    //Mikael

  5. Is there anything under the "details" section on this one? Are you able to post real code and your build spec (the whole project would be even better)?

    I can't post the code right now, I'm using Endevos new reference based OO architecture,

    and we haven't decied if it will be open source code or not.

    And the OO kernels isn't locked yet ;)

    I found a problem.

    When building the exe-file, LV renamed a sub class method, that I call dynamic.

    Why?

    Probably because I have the same method-name in another sub class.

    Both these classes derive from a common base class.

    But the base class don't have this method in it.

    If I create this method in the base class It might work since it then forces it to have the same

    name, since it could be used by dynamic dispatch.

    //Mikael

    Is there anything under the "details" section on this one? Are you able to post real code and your build spec (the whole project would be even better)?

    YES, I got very usful information under Details:

    Visit the Request Support page at ni.com/ask to learn more about resolving this problem. Use the following information as a reference:

    :headbang:

    //Mikael

  6. Hi

    I have problems creating an executable file, for my OO-based application:When NOT adding the debugger I get this problem, for this VI:

    post-941-1164854826.png?width=400

    post-941-1164855017.png?width=400

    When adding the debugger, I can get the exe-file to be created.BUT I get these dialogs:

    post-941-1164855045.png?width=400

    post-941-1164855070.png?width=400

    The Exe-file has been created and I can run it (but it doesn't work properly).

    If I try to connect the debugger. It searched for ObjectReference{1,2,3,4,5...}.vi files but can't find these.

    The "Find the control named"-dialog appears, and it asks me to find "Storage.lvclass:ObjectReference4.vi",

    I guess this is one of the things it has renamed, the original name were Storage.lvclass:ObjectReference.ctl.

    It's a Enum inside a datalog refnum TYPE, not a VI. All my classes has this reference and it looks for all of them.

    One "...:ObjectReference.ctl" has not been renamed, but it still can't find it.Then LabVIEW just crashes.

    Ideas?

    //Mikael

  7. Yup, I'm currently using the picture functions for manipulation just as suggested. Just thought there might be something else I didn't think about. Thanks guys.

    Billy T :thumbup:

    You can do a lot with the picture control, but you could always try some Active-X containers.

    E.g http://www.nwoods.com/

    ..and here is just a funny picture control example (I just it as a splash screen for my UML-editor).

    SplashScreen.llb

    //Mikael

  8. AFAIK (Mike - please feel free to correct me) it's a good ol' native LabVIEW picture control. The objects you see are (of course) GOOP objects in the actual repository of the UML modeller (you're using GOOP to design GOOP - sorta makes sense :) ), so updating the picture on events isn't as difficult as it sounds.

    Correct Chris, pure LabVIEW.

    I could develop the software as soon as we added inheritance in GOOP.

    It was actually to prove to my self that LabVIEW (using GOOP) now supported all features an OOP-language needed. The only thing I miss is interface (but there is a couple of things you can do to solve this, X-Node is one way to go).

    One benefits of using a good OO-deisgn with inheritance, was that it only took me 4 hours to create a new UML diagram type (UseCase-Diagram), with the tools and symbols.

    //Mikael

  9. I have actually spoken to Wyatt a couple of times on VISTA tool improvements. I also met with VIE (Minn office) this last week with Filipe Altoe to try and get my manager to see the light in using UML to define requireements and design and how that leads to easier code development for large scale projects. Filipe informed me that you guys are using a UML tool by Artisan to create your designs. I faintly remember hearing about Endevo's UML editor a long time ago (probably in an LTR issue).

    Here is a question for MikaelH:

    Does the Endevo tool force UML 2.0 specifications like some of the other commercial tools? Is there any literature on it (I haven't searched Endevo's website or anything)? Is there any evaluation phase?

    Hi

    The UML modeller is mora a graphical tool (like mspaint) then a UML 2.0 editor.

    E.g.

    -I also use it to analyses tables in datbases and draw these tables as classes in a class diagram.

    -A can stereotype a class to enum, and let it generate these.

    There is a video demo you can find here tht shows some basic features:

    Demo video

    //Mikael

  10. Hi guys!

    I'm the developer of the UML tool in LabVIEW (EndevoUML).

    Since we're upgrading our GOOP tools to support NI's build in GOOP as well as our own,

    I'm using a more flexible design, so the UML tool and the GOOP wizard can use custom made

    GOOP-kernels.

    It's not what GOOP-kernel I use that makes creating large LabVIEW fast & easy, it's the tools I have ;)

    My latest plan is to integrate our UML-program into LabVIEWs project environment.

    So you could right click in the project tree and select "Add Class diagram"/"Add State Diagram"

    If you have features you would like to see in this tool or if you want to become a beta tester give me a mail.

  11. ...the old ini keys seem to work, but not in full.

    The old ini keys seem to work, yes but to get the full scripting feature unlock you have to go into the License Manager and type in a password :-(

    I've asked NI to give me a "temporary key" to play with but Haven't heard anything yet.

    (I use the scripting feature in my UML Modeller)

    Cheers Mikael

×
×
  • Create New...

Important Information

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