From: Rolf K. <rol...@ci...> - 2003-12-18 09:06:29
|
Hi Jim, > I was able to get AllocOccur, Occur, and DeallocOccur. They=20 > seem to work > great. I also noticed the following functions exported by LabVIEW.exe > (LV70), which look interesting. Don't forget to make sure you actually dealloc all occurrences you ever allocated. By enveloping it in an object this should be quite doable. = They do allocate some memory each time. Also try to not overuse them to much. At least in LV 6.1 and earlier there is a slight problem in that the = invocation time of any LVRefNum based object drastically increases with the number = of allocated objects of that object type. I guess this has to do with a = linear search of the LVRefnum in its internal RefNum pool list (some call these Cookies and CookieJars). Also once the list has been enlarged the access times seem to stay constant eventhough you deallocated all but one = object properly until you restart LabVIEW. =20 > AllocOccurHdlr Forget this, it's a callback mechanisme and won't do any good in LabVIEW code but only in C. > OccurAtTime Should be ok, I will try to find the prototype of this > OnOccurrence > OnOccurrenceWithTimeout These have probably to do with the callback mechanisme. > InterruptSafeOccur Can be used to occur from within a driver (e,g. at Interrupt time) I = would assume. Probably not important at all from the LV diagram. > I would presume that 'OnOccurrenceWithTimeout' is analagous=20 > to the 'Wait on > Occurrence' primitive... is this right? Yes, but as I said the node sets up a callback which will be called into on timeout or occurrence and therefore the OnOccurrence.. functions are unlikely to be usable from a CLN. Rolf |