[futurebasic] [FB3] Runtimes: My Questions & Staz' Answers

Message: < previous - next > : Reply : Subscribe : Cleanse
Home   : August 2000 : Group Archive : Group : All Groups

From: Herbie Glunder <H.Gluender@...>
Date: Wed, 16 Aug 2000 22:55:34 +0200
Dear list members,

with Release 3 of FB^3 we luckily obtain a lot of new options and
refinements. Among others, we see new runtimes and the User Libraries
folder.

For me and a few others on the list (e.g. [FB^3] Release 3 problems,
message #19762 and follow-ups) these developments gave rise to some more

or less basic questions about the FB^3 runtimes. Consequently, I posted
a
part of mine to the list as message #19805. The only response to one of
the questions arrived yesterday from Larry Siebenmann (message #19901).
So I decided to directly address Chris Stasny and here is an authorized
compilation of our recent dialog:

Q1)
The Editor Command Menu offers (besides others):
_Console (safe/fast)_
What is the exact difference between safe and fast?
A1)
In Console _safe_ mode, the program checks the event queue at every
line. You cannot get stuck in a tiny loop like "10 GOTO 10".
The Console _fast_ mode still has some safety features so that you
can't get stuck in a for/next or while/wend loop, but checks are not as
frequent.

Q2)
Then there is a runtime that is now called:
_Mac Toolbox_
This new name is fine but it still uses Rntm UltraLite.Incl, does it?
A2)
Yes. These are the same.

Q3)
Is there a reason for not renaming Rntm UltraLite.Incl as
Rntm Tlbx.Incl ?
A3)
Yes. We extract things by a specific format.

Q4)
The Editor Project Menu additionally offers the runtime:
_Tech_
This apparently uses the Rntm Tech.Incl.
Now, what is the exact difference between _Mac Toolbox_ and _Tech_ ?
A4)
Tech makes very, very tiny applications because not even
default toolbox calls are automatically  added.
(See Project Manager & Debugger Manual, page 8. )

Q5)
Why can't  the _Tech_ option be accessed from the Editor Command Menu?
A5)
We will constantly add new runtimes. (You can add some too.) But we
don't put them in the menu because their use is very limited.

Q6)
Why is the Include for the UltraLite option split into Rntm
UltraLite.Incl
and Subs UltraLite.Incl? (The same holds for the Rntm Tech.)
A6)
That's just the way that the programmer decided to do it. You can
rewrite it as you like and rename the files as you like.

Q7)
In the Examples Application folder there is a reworked and somewhat
simpler Sample-Project called TinyProgram that contains a _Rntm
UltraLite.Incl_ which is different from the one in the Headers folder.
It is newer as well but does it provide the same or better
functionality?
A7)
That sounds like a mistake on our part. My guess is that if it is
removed, things will work correctly as the compiler switches to
the default version in the header folder.

Q8)
Does the Include in the Application folder override the one selected
in the  Editor Command Menu?
Could I also have this overriding Include in the new User
Libraries folder or is the result different then?
A8)
Yes it would override it.

Q9)
If I include a certain file from the Headers folder to a
project, is all its contents added to the built application or does the
Compiler select the routines, etc. that are really needed by the
program. In oder to obtain small applications would it be advantageous
to create, e.g. a dedicated Tlbx.Incl that contains only Tlbx calls that

are required by a program?
A9)
All routines in an include are added. My suggestion would be to copy
the header folder that you like into the user library folder. Then
remove all unnecessary toolboxes. The compiler searches the user
library before checking it's own header files. Your modified version
would be used in all of your programs. If this is not practical, copy
it into the project folder and modify it. In such a case only that
one project would use the modified file.
To Q9)
from Larry Siebenman:
That's called "smart linking" I believe. I don't
think we have it; we never have had it. Very smart
linking must be pretty complex. I do wish we had it...
...The right thing might be a compiler option that
produces tighter binaries in return for substantially
longer compilation time. While waiting for that, we
have the option of editing the runtimes to get rid of
useless code. It would be nice to have a lot of
comments in the runtime modules to help us do that.
It seems to me perfectly reasonable to be in the habit
of using a tweaked runtime for just about every project.
But I guess it would be disastrous to encounter bugs
that do not show up with a standard runtime.

Q10)
Do you intend to include a runtime that accesses the Carbon Library ?
A10)
Yes.

Q11)
Which priority would you attribute to such a runtime?
A11)
We won't do anything while it is still in flux. After hearing demands
that we jump on the last 3 system interfaces that Apple created
(quickdraw GX, open doc, and that last system software that was going
to look like Next stuff) only to see them quashed, we have learned
when to sit back and when to jump.

Thank you Chris Stasny!


Best,

Herbie
*****************************
H.Glu@...