Name | Modified | Size | Downloads / Week |
---|---|---|---|
Parent folder | |||
Archive | 2012-03-25 | ||
lapdog_messaging2-2.2.0.54.vip | 2014-04-08 | 1.0 MB | |
readme.txt | 2012-03-25 | 3.5 kB | |
Totals: 3 Items | 1.0 MB | 0 |
Installation: LapDog's packages require VIPM Community Edition (or better) for installation. Go to jki.net to get your free copy. LapDog's Messaging Library is a thin, object-oriented wrapper around Labview's native queue functions. While anyone is free to use it, developers who use LVOOP will get the most benefit from it. It is designed to closely follow the familiar behavior of native queues, with a few key exceptions: 1. All messages must be instances of or children of Message.lvclass. 2. The DequeueMessage and PreviewMessage methods have three built-in messages that may be sent: QueueTimeoutMessage, QueueErrorInMessage, and QueueErrorMessage. Converting timeout and error events into messages allows you to handle those special cases in the same way you handle normal messages. There is no need for nested case structures to filter them out. 3. Messages may optionally be given a string name. Messages that do not have a name automatically return the name of the class (without the .lvclass extension) as the message name. Allowing your message object to be given a string name at runtime makes that class much easier to reuse. Disallowing string names at runtime provides more type safety and reduces the opportunities for typing errors. 4. The LapDog Message Library includes a priority queue with a configurable number of priority levels. This also behaves very much like a native queue, with the advantage that when a message is enqueued you can assign it a priority level. It will automatically be positioned after higher priority messages and before lower priority messages. 5. Starting with version 1.2.0, the LapDog Message Library includes a companion project library (.lvlib) containing a handful of message classes for native Labview data types. These include messages for a String, I32, Boolean, Path, and LVObject. Each of these messages includes a name input to maximize your ability to reuse them. Additionally, each of these messages derives from RenameableMessage.lvclass, which allows you to rename the message instead of creating an entirely new message of the same type. This can be very convenient when passing messages through layers of your application. (The RenameableMessage class exists only in version 1.2.0. In version 2.x the capability to rename a message was refactored into the Message class.) ------------------------------ Release Notes: v2.1.0 Added new message types: Double, Variant, I32Array, DoubleArray, StringArray, 2dStringArray, PathArray, BooleanArray, LVObjectArray. Added PrefixQueue. Added examples. Added protected accessors to the MessageQueue class. Deprecated PriorityMessageQueue. It will be removed in v3. v2.0.0 - Beta 1 [NOTE: Version 2.x is not directly compatible with v1.x; however, both packages can be installed at the same time without conflict.] Changed library names to conform to namespacing convention. Removed RenameableMessage class. Renaming functionality is now built into all message objects instead of only those deriving from RenameableMessage. Added Message:Get ClassName method. Added polymorphic MessageQueue:EnqueueMessage method. Connecting a string to the Message input terminal defines the name of a Message object placed on the queue. v1.2.0 Added RenameableMessage.lvclass to LD MessageLibrary. Added NativeTypes message addon library to package. Added controls and constants for all classes to the palettes. v1.1.0 - BETA Added PriorityQueue class. v1.0.0 Initial release.