Pamela nightmare over: post-mortem
pkc
pkc at mac.com
Mon Aug 2 11:25:34 EDT 2004
I heard from students this morning that the latest build actually
opens and runs on Windows. Again, many thanks to the group for your
great ideas, considerable direct efforts, and support.
To review, the problem was: An application built in OSX that built
and ran without any problems in OSX could not under any circumstances
be transferred to and run by a Windows machine. Invariably, the
resulting error was "0,0". The fix was: Ken Ray used MetaCard to
identify a corrupt substack, I rewrote it, rebuilt for WIndows,
distributed it as an .exe file (no zipping, in this case), and it
worked. The successful build happened to be in Revolution 2.2.1,
which I had freshly reinstalled after searching hundreds of archives
looking for the licence number.
Sounds simple, but it is worth remembering that before the
application of MetaCard (as Andre foresaw) to this problem, there was
absolutely no clue to where the problem lay. In the end, we found
out only where the problem lay, not exactly what it was. That was
enough to fix it, but I still have some questions.
First, I can say this from my experience of rewriting the stack:
As it happened the corrupted stack was one of the oldest in the
application, and had certainly been present in very much its current
form from the earliest builds (the ones that went across to Windows
with no problems). In one of the scripts I found a stray "the" in an
instruction. I'm not assuming this was the problem, since I would
have no way of understanding exactly how a "the" can cause disaster.
Normally, that is the kind or error that the script editor seems to
pick up as soon as the instructions are applied. Now, it is possible
to save the script anyway (and with a lot of windows open that can
happen by accident anyway), so if this the source of evil, I should
report that it was found.
Questions about that. Why would OSX happily work around such as
error? Is this a deprecation issue? If so, my feature request for
Revolution 4.x or 5.x would be that it flag ambiguous items according
to the standards of the least-likely-to-deprecate system (which I am
guessing, in this case, is Windows).
Second, I found MANY scripts in this stack (and probably in others)
afflicted by a pesky problem that has before this seemed to me to be
merely an annoyance. A lot of my scripts insert strange empty space
between the last instruction and the bottom of the window. In a very
small number of cases, I have found for a long time that the script
editor reports a compiling error when these strange spaces are
present, and then compiles happily when I remove the space. But
removing the space is not usually final. Some script windows keep
putting the mystery space whenever the script is opened. I sometimes
just copy the script into a text editor, and delete the old script
entirely, review it for errors (there are usually none), paste it
back in a new window, apply immediately, close immediately, and save.
These wrestling matches are sometimes annoying, but I've always been
able to work around them and in any case the script editor seems to
report what it sees as an error immediately.
Questions about that: What is with the empty space misbehavior in
the first place? Is it dangerous? Can it corrupt a stack file? Is
this also a deprecation issue (sort of, in reverse)?
I found nothing else in the visible stack instructions that seemed in
any way possible to connect with a corrupted or malfunctioning stack.
Richard Gaskin asked about images. There is a background image in
the mainstack that distributes to the substacks. No other images of
any kind in the corrupted stack. I agree that Photoshop provides the
best images for Revolution, and I always use that, rendering usually
jpg but sometimes png images for logos or backgrounds. All other
images displayed via this application come from the server.
That is all I have to report concerning the corrupted stack. No idea
whether any of the above is actually related to the cause of the
corruption. However, the process of dealing with this has raised a
few other questions.
Regarding the immortal dialog stack that nobody could kill (Andre
suggested that MetaCard could be lethal to it, however), and which
Andre has immortalized in his screen shots: What seemed to have
happened (before the no-Windows crisis) was that I downloaded an
alternative dialog stack because I hated the three-mile-wide default
dialog thing. Once it was brought in as a substack, it appeared in
the application browser, and seemed to always pre-empt Revolution's
own dialog stacks in the IDE. It was a strange neon color so I
fiddled with it, but it always looked ugly and finally I zapped it.
But, as Andre discovered, it did not die. There was absolutely no
way to get it out of the stack. You could disappear it from the
browser and save, but when you reopened the mainstack it would
reappear again. I figured it kept appearing in the IDE because it had
somehow preempted the Revolution dialog stacks, but in that case why
did it keep reappearing in the application browser as if it belonged
in my application even though it was now working for the IDE?
But here is something else kind of neat. When I finally gave up
trying to make the alternative dialog stack look presentable, I
zapped it, and when it was reincarnated it had picked up the
background image of the mainstack! This was, in fact, highly
desirable. I liked it. It carried over beautifully to the OSX builds
(of course, I never saw it in the Windows builds). I might try to
make it happen again. If this can be tamed, it would be a useful
addition, maybe?
In the end, I rid myself of the immortal dialog stack by creating a
new mainstack and pointing all the substacks to it. That left the
old mainstack and the immortal dialog stack in a little universe of
their own, after which they were closed and consigned to the dustbin
of history.
Finally, the question with which it all began: What in creation is a
"0,0" error? I have tentatively decided to interpret this as: "I
don't have the slightest idea why I cannot open and run your
perfectly good application."
Many thanks, again, to all of you. My Windows students are now using
the applications to busily catch up on their work (one imagines). I
will lie low for the rest of the term to let the embarrassment blow
over, but resume my advocacy here for Revolution in our courses.
Best wishes,
Pamela Crossley
More information about the use-livecode
mailing list