We have just added a free handler to the vList Xtra, which makes a 
total count of 3 handlers you can use and redistribute freely with 
your projects.

This new handler is:

put isSame (variable1, variable2)
-- 0

or

-- 1

The main interest of this handler is to test whether 2 Lingo 
variables share the same memory position, something useful for Lingo 
lists, image(), strings, rects, points, etc., that is all the 
variables that are pointers to a memory zone. For example:

list1 = [1, 2]
list2 = list1
put isSame (list1, list2)
-- 1
list3 = duplicate(list1)
put isSame (list1, list3)
-- 0

append list1, 3
put list1
-- [1, 2, 3]
put list2
-- [1, 2, 3]
put list3
-- [1, 2]

For variables that directly store their value (that don't store a 
pointer), the function returns 1 if the value is the same:

variable1 = 1
variable2 = 1
put isSame (variable1, variable2)
-- 1
variable2 = 2
put isSame (variable1, variable2)
-- 0

This kind of test allows to discover that in Director 8.5 Macromedia 
has optimized string memory handling a bit, but keeping full 
compatibility with existing Lingo code:

string1 = "some text"
string2 = string1

Director 7 and 8 give us:
put isSame (string1, string2)
-- 0

Director 8.5 answers:
put isSame (string1, string2)
-- 1

With Dir 8.5, the 2 string variables shares the same memory space. 
But what happens if one changes any of these variables? No problem. 
The end result is the same with Director 7, 8 *and* 8.5:

put " and some more" after string1
put string1
-- "some text and some more"
put string2
--  "some text"
put isSame (string1, string2)
-- 0

When we modify string1, Director first allocates a new memory zone 
for the modified string, different from the old one. Then the 
reference count in the old variable is decremented by one. This 
insure that existing Lingo code that modify strings will not break..

Follows an abredged version of the first announcement message, with 
the URL for download:

=========================================
Daniel Devolder and updateStage, inc. are happy to announce the release
of vList Xtra. vList Xtra saves and retrieves Lingo lists and other data
types in binary format using either an external file or a cast member for
storage. Lists are a powerful and fast way to manage all kinds of
information in Director. Since lists can hold Director`s rich media and
data types they are the natural solution for creating Director databases,
yet few developers use them this way. Why? Because saving and retrieving
lists at runtime using Director`s built-in string() and value() methods
is slow and limited.

<snipped>
--------------------------------------------------
>     PRICING
--------------------------------------------------

There are three registration options:

Limited        free
Basic          $149
Full           $299

LIMITED
*******

In Limited mode a small set of vList commands are free to use and do not
display a demonstration dialog. The free commands allow you to save a
list to a file and retrieve it in authoring and from a projector but not
in Shockwave.

BASIC
*****

Basic registration unlocks all of the vList commands and capabilities
except for encryption. Under basic registration you can:

   - Create and use members for list storage
   - Access vList`s extended Lingo list management commands such as
concatenate, insertAt, sortP etc.
   - Read and save lists to local external files in Shockwave, or
MIMEBase64 encode them for transmission using postNetText
   - Read vList files downloaded to the internet cache

FULL
****

Full registration unlocks encryption.

--------------------------------------------------
>     PRODUCT PAGE AND DOWNLOAD
--------------------------------------------------

http://www.updatestage.com/xtras/vlist.html


[To remove yourself from this list, or to change to digest mode, go to
http://www.penworks.com/LUJ/lingo-l.cgi  To post messages to the list,
email [EMAIL PROTECTED]  (Problems, email [EMAIL PROTECTED])
Lingo-L is for learning and helping with programming Lingo.  Thanks!]

Reply via email to