[EN] [IT]
  [INFO] [ACQUÉRIR] [PLAN] [RESSOURCES]

Compilateur


LES NOUVEAUTÉS DE LA RELEASE 7

Ce document présente les nouveautés de la Release 7 de FB^3.

Quoi ? Un livre gratuit ?
Switching to FubureBASIC L'une des premières choses que vous allez remarquer est notre nouvelle publication "Switching to FutureBASIC". (Le CD de votre Release 7 est à l'intèrieur sur la dernère page de couverture). Elle contient des informations pour les programmeurs qui apprennent Mac OS X, le runtime Appearance et FutureBASIC de manière générale.

Pour faire bonne figure
Nous avons un nouveau look ! Nos nouvelles icônes et nouveaux graphiques sont conçus pour renforcer l'idée que vous pouvez laisser vos idées s'épanouir avec FutureBASIC.



Communiqué:
Paris, 21/09/2002

[haut de la page]

Threads
Pour ceux qui ne le savent pas encore, les threads sont vraiment quelque chose de génial. Vous pouvez assigner une tâche à un thread et il l'exécutera tandis que d'autres opérations sont en cours d'exécution.
FutureBASIC portent les threads une étape plus loin par la création de fonctions-threads. Lorsque vous appelez une fonction-thread, elle commence la tâche qui lui est assignée sans interrompre les autres processus en cours. Vous pouvez exécuter plusieurs fonctions-threads en même temps. Quand l'instruction END FN est rencontrée, le thread se termine et le runtime se charge de la maintenance nécessaire de manière transparente.

Un thread est lancé avec :

THREADBEGIN FN maFonctionThread

a un certain point de la fonction, vous devrez tester la valeur de THREADSTATUS ce qui laissera du temps processeur pour les autres threads. Si cette valeur est différente de zéro, cela signifie qu'une requête a été faite pour que vous terminiez le travail de la fonction. Vous pouvez même faire de multiples appels à la même fonction-thread, chaque appel produira sa propre routine asynchrone.



[haut de la page]

Et encore un petit coup d'accélérateur...
Non satisfaits d'avoir produit déjà le plus rapide des compilateurs BASIC sur la plate-forme Macintosh, les petits malins aux commandes ont encore trouvé le moyen d'accélérer (pour la troisième fois) toutes les opérations et fonctions traitant les chaînes de caractères. La vitesse est quasiment doublée, ce qui devrait être significatif pour les applications travaillant intensivement sur ce type de données. Il vous suffit simplement de recompiler vos programmes pour aussitôt profiter de cette amélioration.



[haut de la page]

Info-bulles
Je suis passé à OS X, et que sont mes bulles d'aide devenues ?
Les très pratiques info-bulles de Carbon peuvent apparaître prēs des boutons (ou tout autre élément de l'interface Mac) pour fournir des informations utiles à l'utilisateur final de votre application.
Carbon Help Tags



[haut de la page]

Où même les anges n'ont jamais osé aller...
J'ai utilisé si souvent les globales de la mémoire basse, telle que [_time], dans mes programmes que je pourrais les coder même en dormant.
Gros problème : si vous persistez dans cette habitude avec Mac OS X, vos programmes planteront sans autre forme de procēs, sans même une alerte d'avertissement, ni personne qui viendra vous taper sur l'épaule en vous disant "Eh ! ne fais pas ça, mon gars !" Vos applications se contenteront d'expirer brutalement.
Pire encore, vous ne pouvez plus lire directement dans des structures maintenues par le système pour en extraire des informations. Vous êtes censé maintenant utiliser des fonctions accesseurs de la Toolbox.

Heureusement FutureBASIC est là ! Tandis que votre programme se compile, FutureBASIC recherche dans votre code source l'utilisation des constantes qui examinent les valeurs globales en mémoire basse ou les structures opaques de Carbon. Lorsqu'une constante "illégale" est découverte, vous recevrez un avertissement (rassurez-vous, on ne vous enverra pas en prison dès la première offense).

Heureusement, FutureBASIC est encore là ! Maintenant qu'Apple a relégué aux orties toutes les choses avec lesquelles nous étions habitués ö travailler, que sommes-nous censés faire ?
Eh bien, nous n'avons qu'à dérouler le menu Aide et y dénicher le manuel "Portage vers Carbon" écrit par Alain Pastor. Alain y explore toutes les routines qui ont disparu de notre Mac et fournit une alternative pour chacune d'entre elles. Ce manuel est un "must" pour ceux qui sont prêts à entrer dans l'arène Carbon.



[haut de la page]

Utilitaires pour les ressources
Mac OS X a bien sûr apporté avec lui ses propres problèmes de gestion de fichiers. Beaucoup des appels dont nos programmes dépendaient ont soudainement cessé d'exister.
N'ayez crainte ! Nous avons développé de nouvelles routines qui fonctionnent dans toutes les versions du système (de 7.6 à 10.2 dernière version en date au moment où ces lignes sont rédigées).

DEF CREATERESFILE
USR OPENRFPERM


Il y a toujours eu des défaillances dans la gestion des ressources. Afin d'ajouter ou de modifier correctement une ressource dans un fichier vous deviez y ajouter parfois de la poudre de perlinpimpim. FutureBASIC arrive encore une fois à votre secours avec une routine éprouvée qui absolument et positivement remplacera ou ajoutera une ressource à un fichier, sinon vous serez remboursé.

USR REPLACERESOURCE

Il y a (depuis toujours) un bug dans le Resource Manager du Mac qui réserve improprement de l'espace disque chaque fois qu'un appel à ChangedResource est exécuté. Si vous apportez des changements mineurs à un handle pointant sur une petite ressource et que vous appelez cette procédure à chaque modification, le Resource Manager pourrait bien finir par allouer l'espace pour des douzaines, voire des milliers de copies de cette même ressource. Notre nouvelle routine : DEF CHANGEDRESOURCE inspectera d'abord le handle pour voir s'il pointe effectivement sur une ressource. Si tel est le cas, elle s'assurera que la ressource n'a pas déjà été marquée comme modifiée. Quand ces critères sont réunis, alors seulement, elle fera appel à la Toolbox pour signaler au Resource Manager que la ressource a été modifiée.



[haut de la page]

Utilitaires pour les fichiers
Mac OS X a éliminé un certain nombre d'appels à la Toolbox auxquels nous étions habitués pour traiter les fichiers, aussi vous trouverez certainement pratique l'addition de nouvelles routines fonctionnant avec tous les systèmes:

erreur = USR FSGETFOLDERNAME(fsSpec,nomDossier$)
erreur = USR GETFULLPATHNAME(vRef%,dirID&,chemin$)
erreur = USR FSGETFULLPATHNAME(fsSpec,chemin$)



[haut de la page]

Informations du Finder
Qui d'entre nous n'a pas déjà oublié de mettre à jour les ressources vers et size d'une application fraîchement construite ?
La commande DIM SYSTEM a été révisée pour vous permettre de régler programmatiquement ce genre problème.

DIM SYSTEM 666*1024,777*1024
DIM SYSTEM ,,0x0123,0x6063,"7.01 This is only a test."



[haut de la page]

UNIX
Nous avons maintenant accès au monde UNIX à travers FutureBASIC. Notre nouvelle commande OPEN "UNIX" vous permet de traiter un canal UNIX comme s'il s'agissait d'un fichier à l'aide des commandes standard d'entrée/sortie de FutureBASIC. a l'instar des fichiers, vous pouvez ouvrir plusieurs canaux simultanément. Que vous souhaitiez copier des fichiers, rechercher sur des volumes, ou juste imprimer un calendrier, vous verrez qu'UNIX ajoutera une toute nouvelle dimension à votre expérience de programmeur.

// Affiche un calendrier pour l'année 2002

OPEN "UNIX",1,"cal 2002"
DIM a$

DO
  LINE INPUT #1,a$
  PRINT a$
UNTIL EOF(1)
CLOSE 1


Switching to FubureBASIC



[haut de la page]

Port série et OS X
Après l'exploration des mondes intérieurs avec les threads et du monde alentour avec UNIX, vous aurez sans doute un grand besoin de communiquer.
La Release 7 arrive avec deux améliorations qui vont vous ouvrir de nouvelles perpectives...

Le port série devient accessible aux applications fonctionnant sous OS X. Cela n'a pas été ce qu'on pourrait appeler une sinécure, mais le résultat est là, et des centaines de programmes BASIC, vont enfin retrouver goût à la vie. Consultez l'exemple "Port série OS X" de Robert Purves dans le dossier "Internet/Communication"



[haut de la page]

AppleScript
Créer un script AppleScript, le compiler, l'exécuter et obtenir un résultat depuis votre application FutureBASIC, vous en aviez peut-être rêvé, eh bien, voilà qui est devenu un jeu d'enfant.

Le runtime dispose maintenant d'une mémoire tampon réservée à cet effet. a l'aide de la commande ROUTE _toAppleScript vous dirigez la sortie sur ce buffer, vous pouvez ainsi construire votre script avec une série d'instructions PRINT ordinaires, ce qui, au passage, vous autorise à y insérer des variables manipulées par votre programme, et la routine USR APPLESCRIPTRUN pourra alors se charger de compiler et d'exécuter votre script AppleScript, et si votre script retourne un résultat USR APPLESCRIPTGETRESULT se chargera de vous le renvoyer.



[haut de la page]

Nouveaux exemples
Nous avons passé un temps considérable à mettre nos fichiers d'exemples à jour. Vous trouverez aussi de nouveaux exemples qui vous montreront comment :


  • dessiner avec Quartz 2D
  • créer du texte anti-crénelé
  • explorer Altivec
  • télécharger des fichiers sur Internet
  • implémenter le glisser-déposer
  • exploiter le Time Manager
  • afficher dynamiquement les info-bulles de Carbon
  • accéder aux propriétés peu communes des fenêtres d'OS X comme la tranparence ou le fond métallique
  • programmer pour OpenGL
  • manipuler les fichiers nib
  • séparer les couleurs
  • jouer des fichiers musicaux sur OS X
  • construire et exécuter des scripts AppleScript depuis votre code source
  • envoyer des commandes UNIX
  • gérer le port série sous OS X
  • et beaucoup d'autres choses encore...



  • [haut de la page]

    Et encore un peu de ceci et un peu de cela
    Bien sûr, nous avons corrigé quelques bugs et amélioré certaines opérations. Toutes les fonctions de chaînes bien que déjà particulièrement rapides ont été encore accélérées. Nous avons aussi changé la façon de nommer les applications créées. Nous avons corrigé la fenêtre "À propos" incluse par défaut dans les applications et d'autres choses encore pour suivre les règles édictées dans "Apple's human Interface Guidelines for Mac OS X".
    Nous avons également changé nos chaussettes, ce qui est une bonne nouvelle pour l'environnement.


      © 2000 Pix&Mix  
      Tous droits réservés
    INFO  |  ACQUÉRIR |  PLAN  |  RESSOURCES

      FutureBASIC est une marque déposée appartenant à Staz Software, Inc et utilisée avec permission.