12-21-2006 02:55 PM
12-27-2006 12:51 PM
12-27-2006 02:57 PM
Tom,
Could you please post a set of VI's that demo this issue?
Editing the typedef is not enough?
Confused
Ben
01-02-2007 01:49 PM
01-03-2007 08:16 AM
This will be rough not being able to poke around.
Is "class1" a type def?
If you replace all occurances of class1 with typedef's you should only have to update the type def.
RE; the property node.
Can you wrap all of the activeX nodes in sub-VI's so you only have to update the sub-VI (similar to what is done with the 3-d graph)?
Trying to help,
Ben
01-03-2007 12:17 PM
01-04-2007 04:13 PM
01-04-2007 11:52 PM
Hi Tom,
This idea isn't a cure, just an attempt at damage-control...
It might be possible to create and use a "static" library - made from one of your existing distributions. If all VIs were synchronized with this one "static" library, then, immediately after obtaining a reference to the real object, cast the refnum to the same object in the static library. The bad news is: you won't be forced to reconcile all of a new object's properties and methods - (but they'll still work if their interface hasn't changed.) To get at new/changed properties/methods, just don't do any casting.
Once the library changes settle-down, I'd remove the cast-to-static and reconcile the code with the real library\object(s.)
Wrappers? I'm sure you've thought of this (but here-goes anyways - - )... Depending on how often the same properties/methods are accessed, there might be some value in wrapping/re-using them in a sub-vi - to help minimize the number of places that need to be "fixed" with every new library(?)
Cheers.
01-05-2007 09:24 AM
01-05-2007 03:03 PM - edited 01-05-2007 03:03 PM
Hi Tom,
While your situation is certainly more complicated than I understand, it still sounds like you're responsible for LabVIEW code that uses an externally (customer) provided ActiveX library. I don't think you'd need your customer's help to create a new "static" (my word) Library - to start-with, I'd just rename the DLL (or OCX, or TLB) and try using it as a source for object references (for casting-typedef purposes only!) - thus allowing subsequent/underlying code to use a new library's objects as if they were still in the old library. Of course this inserts a risk that an object's interface really does change and needs to be "reconciled" at some method/property node but it avoids the current risk and labor of opening/editing tens or hundreds of VIs that don't need any changes.
Thank you for trying to clarify and don't worry if I'm still missing something - it's a chronic state
Cheers.
Message Edited by tbd on 01-05-2007 03:08 PM