bobwarren at howsoft.com
Tue Jun 6 11:40:26 CDT 2006
J. Landman Gay wrote:
In HyperCard, a standalone simply meant that the engine was embedded
into the file on disk. And that is pretty much what Rev does too.
Revolution extends the process a bit by embedding as many resources from
the IDE as it can (script and image libraries, mostly,) but
"standalones" still depend heavily on certain features of the OS. If you
think of them as "executables" you will probably be more on-track.
Thanks Jacque. If what you say is strongly true, then that's a sad day
for Rev Linux users, since there is not one Linux but hundreds. But
since I need to be a bit more optimistic, let me try another definition:
"The output program from Rev is as 'standalone' as the Rev development
environment itself. If the Rev IDE runs on your particular flavour of
Linux, then so will your standalones." [True or false in your opinion?]
The definition above simply refers to whether the program executes or
crashes. I'm not sure what you meant by "certain features of the OS",
but when I wrote my first Linux programs (File/Picture Chooser Widgets:
see http://www.howsoft.com/runrev/stacks.htm) I immediately came up
against a lack of information about the file system, which has largely
been the subject of this thread. Consequently - and this is only an
example of what you might be talking about - although my widgets can
successfully mount the CD-Rom and Floppy Diskette drives in Ubuntu Linux
(Gnome) as they were designed to do, if you run the same widgets in
Kubuntu Linux (KDE) the drives cannot be mounted using the same HD paths
to obtain the necessary information. Nevertheless, this does not prevent
my widgets from 'running'.
So now I'll try a 2nd part of the definition:
"If you transfer your standalone program to another flavour of Linux, it
will not crash upon intitialization. However, if your program attempts
to access HD or network paths that are differently placed in the runtime
environment, and appropriate error routines are not included, this might
cause your standalone to crash." [True or false in your opinion?]
Quite possibly, you will confirm the first part of the definition
affirmatively. Regarding the 2nd part of the definition, you might tell
me that you have insufficient experience of Linux to give a clear
answer, particularly in relation to the first sentence. Am I right?
Or am I talking out of my hat?
Trying to sum up a little on what has come out of this thread regarding
the obtaining of fundamental Linux system info, I would like to point
out that the apparently useful suite of functions provided by RB is
insufficent, even if it were failproof and always correctly identified
all 8 HD paths. A good example is the problem I mentioned above. If you
want to use CD-Rom or Floppy Diskette drives in your program, they have
to be "mounted" and you need to discover where in the file system this
can be done. And what would I do in #2 of my file/picture chooser
widgets if I wanted to access local network drives? I have not even
begun to discover how to do this for the distro I am using, let alone
other distros. And what about if my program needs specific information
about the distro it is running on? To know that the "platform" is
"Linux" doesn't help very much. I need to know that it is "Ubuntu" for
example, that the Gnome rather than the KDE interface is in use, that
this is a Debian-based rather than a Red Hat-based distro, etc., etc.
Until more uniformity is established in Linux, or until Rev itself can
be of much more help in establishing fundamental distro information, it
seems that the ordinary programmer such as myself is condemned to
programming for a single distro.
More information about the use-livecode