[REBOL] Re: How to print a document
From: holger:rebol at: 12-Jun-2001 9:28
On Tue, Jun 12, 2001 at 10:44:23AM +0200, Petr Krenzelok wrote:
> so, I know how do you feel. I complained the same some time ago here. Nothing
> helped, as RT told us there is no easy multiplatform solution to printing. But
> message to RT - who cares? ;-):
Sigh... Petr, I wish you would not always take the REBOL feature set so
personally. We get a LOT of requests. Some of them make sense, others don't.
Some are easy to implement, others are not. Some have cross-platform
issues, others don't. Our time is limited and just because your favorite
feature does not make it into the next release does not mean we are dismissing
the request or ignoring you. Please be patient.
> 1) some multiplatform issues are already broken (e.g. IF someone will use Mac fs
??? Why do you consider Mac filesystem support broken to be broken ? The way
get/set-modes and fork support works, it is possible, and easy, to write a REBOL
script that, e.g., copies a file, including all Mac forks, and works on all
> 2) strange sound implementation - it is NOT solved in rebol kernel engine
> ->> ble: open sound://
> ** Script Error: Feature not available in this REBOL
> ** Near: ble: open sound://
> ->> error? try [ble: open sound://]
> == true
> So, each time you want to open sound port in your script, you have to state
> above condition, or your app will fail.
Sure. That's how it works with all features that are not part of Core.
Try to use them and catch any error that can occur if the particular
version of REBOL or the operating system does not support the feature.
if error? try [ble: open sound://] [ble: none]
once in your script. Then whenever you play a sound
if ble [error? try [insert ble mysound]]
You still need to catch any errors in 'insert though because it is
possible for a sound to be incompatible with a sound card or driver,
or for the sound hardware driver to be busy.
> I don't understand why it is not solved
> the save way as security box dialog - it just asks for persmission.
Because it is not a permission issue. It is an issue of being ABLE to
do something or not (which is determined by the system setup), not of
being ALLOWED to do something (which is controlled by the user).
> Maybe it
> could be solved that way too? If I don't have sound card in my comp, apps using
> sound capabilities don't probably require special versions :-)
They don't. App writers need to decide which versions of REBOL they want to
support. If you want to run in less functional environments you need to be
prepared to handle that. Sound is no different than any other non-Core feature,
such as encryption, HTTPS, database support etc.
> I hope that once component system evolves further, these issues will get
> resolved ...
It is not an issue of components but of run-time errors. There is no way
you can catch ALL possible run-time incompatibilities and errors just by
declaration. Some errors cannot be predicted and can only be detected when
a feature is used. For instance in Unix you often do not have mixers (or they
are not configured or enabled), so you have to deal with the possibility that
SOME sounds cannot be played if at the time the sound is played the hardware
is used by another program. Windows does not have that problem.