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>

Reply via email to