>> Hi all,
>>
>> Dir 8, Win 95
>>
>> I had a problem that I've solved, but I'm curious as to what the problem
>> was. I've written a Prototype for a CD-ROM that runs from a hard drive
>> installed projector. The installed file finds the CD an launches the first
>> movie on the CD, after that, all of the navigation is between movies
>> residing on the CD.
>>
>> The first version of the installed projector birthed the major objects for
>> the program (a navigation manager, a text formatting object, etc.). This all
>> worked fine in authoring mode, when the installed file was launching movies
>> on the hard drive. Once the movies were moved to the CD, the handlers in the
>> major objects started returning strange values, or simply could not be found
>> in the object. On a hunch, I put the installed file on the CD... this works.
>>
>> The solution was to birth the objects in the first movie on the CD, rather
>> than birth the objects in the movie that resides on the hard drive.
>
> <Snip>
>
>
> Kurt,
>
> I would be really surprised if this has anything to do with OOP. As
> long as you are creating your objects and storing the references into
> global variables (is this what you are doing?), it doesn't matter if
> this code runs from code that is on a hard disk or a CD.
That's what I'm doing, and you're right, it should make no difference - but
it does.
> However, one possibility is that in the "new" method of your
> object(s) you are building filespecs in properties using "the
> pathName", or "the applicationPath" or "the moviePath". If you are
> building specs using these, then the path would refer to the hard
> disk rather than the CD (and moving this code to run off the CD would
> change that).
I'm storing the local install path (the moviePath) in order to have a save
path for fileIO operations. I then get a path to the CD and store that for
navigational and text import purposes. Navigating between movies and the
like works just fine - it's methods that have nothing to do whatsoever with
pathnames that are getting flaky. I had the message window up when running
the problem projector, and all of the text import operations were fine (the
text that gets imported by fileIO is exactly what's in the external text
files). Most of the methods that parse the text also work fine (I tag the
text, html-style, and parse those tags in various ways). The pervasive
problem was that some calls to the main objects were returning "handler not
found in object" - here's an example:
on mSetCurrentSection me, whatSection
pCurrentSection = "section" & whatSection
end
on mGetCurrentSection me
return pCurrentSection
end
- A method pair which simply stores and returns a value passed to it (in
this case, a string such as "02"). This method was one of those that could
not be found in the object.
> More likely still, you might be missing an XTRA. If you have the the
> projector as a stub on the hard disk, you need to have all the XTRA's
> there.
No, xtras aren't an issue. I always use a stripped down projector with an
xtras folder in the same directory. All of the xtras are present on the hard
drive, and besides, the problems were not with calls to xtras.
As I said, it's an odd bug. The code is rather complex, so there could be
something flaky in it, but the fact that rather simple methods that are
unrelated to other methods return odd results makes me think that there's
something else at the root of this.
-Kurt
[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!]