Correct me if I'm wrong Charles, because I've not used soft declares
much, but isn't the basic idea that declares let you use libraries
that are known at compile time, whereas soft declares let you use
libraries that aren't known until runtime? I think that helps explain
your Windows remark, for example. Normally when you compile, you say
"hey RB, don't forget to include THIS library in the list of
libraries you know about when compiling my app". With soft declares,
(I think) it's like saying "hey RB, you don't know about this library
yet, but one will be forthcoming when this app starts running". And
that's why you can target both unicode and ANSI in one app. The app
can decide at runtime which to use, while the "hard" declare inserts
the reference to a specific library when you compile (and is "set in
stone", so to speak). Sorry if I'm overanalyzing, but this topic is
new for me too. I want to make sure I know what this is about. :-)
Erick
On Apr 1, 2006, at 12:19 PM, Charles Yeomans wrote:
On Apr 1, 2006, at 12:27 AM, Keith Hutchison wrote:
I'm looking for a summary for the benefits of soft declares in RB
2005/2006.
You can find one in chapter 2 of my book on declares <http://
www.declareSub.com/>. Here is a summary of the summary:
Functions not actually in libraries result in exceptions at runtime
instead of a launch failure or mysterious abrupt exit.
MacOS -- PEF apps can call Mach-O frameworks, thus making it
possible for Joe Strout to continue to compile to his favorite
executable format.
It is now possible to write Carbon apps that run in both MacOS X
and MacOS 9 in all cases.
Windows -- can call both unicode and ANSI versions of functions
depending on platform in one app, instead of having to build a
version for each Windows variety.
Linux -- soft declares can resolve loader scripts, thus giving apps
a better shot at working under a Linux install other than your own.
_______________________________________________
Unsubscribe or switch delivery mode:
<http://www.realsoftware.com/support/listmanager/>
Search the archives of this list here:
<http://support.realsoftware.com/listarchives/lists.html>