----- Original Message -----
From: "Daniel Plaenitz" <[EMAIL PROTECTED]>
>
> the *exact same code* is only what you see. I have had at least one case
> where directors symbol table was influenced by snippets of code that had
> been *deleted* but *still* were part of the .dir file. Invisible from
> within director. Visible as a string when examining the .dir with a hex
> editor. Valid in defining if  symbol("Paul")  would return  #paul  or
#Paul.

Yes, that's a known issue. Director always saves the symbol table and does
not delete obsolete entries.

The point in this case is that it was not changed: only saved, closed and
reopened. I fully expect that there may have been changes to the internal
static references (no symbols involved though) due to saving, but there have
been no instances of stuff being added and then deleted. I simply created
the test movie from scratch, although I have not since been able to
reproduce the results, even after cold booting a couple of times.

What I suspect is going on (and this is all conjecture based on the way
other languages such as C++ work) is that static strings are normally stored
in a resource area that is similar in many respects to the symbols table. So
when you see "" in code, it might as well be a symbol called #"", because it
refers to a single chunk of memory set aside for each occurance of that
static string. There is generally only one copy of each identical string to
save space in the .exe file.

So, you might have two bits of code with the static string "Hello", but
unless you actually modify one of them, they will both point to the same
physical memory location. What may be happening is that these references are
getting mixed up and the value function is internally comparing the wrong
string references.

FWIW, the only thing I have in my movie is an unnamed frame-loop script
containing:

on exitFrame me
  a = value("")
  put a
  go to the frame
end

Rather than post the movie, it might be better if people try creating their
own from scratch, as my saved movie is consistently outputting 0's now.

- Robert

[To remove yourself from this list, or to change to digest mode, go to 
http://www.penworks.com/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