|
ACCÈS RAPIDE TOUT D'ABORD COMPILER ET CONSTRUIRE ÉTRANGES MESSAGES D'ERREUR GESTIONNAIRE DE PROJETS LE PLUGIN .Gateway & NORTON PG DÉBOGAGE MÉMOIRE APPLICATIONS POUSSIVES COMPORTEMENT DE L'ÉDITEUR [Sommaire des FAQ] [FAQ suivantes] [FAQ précédentes] Mise à jour 21 jan. 2000 |
FAQ #2 :: À PROPOS DE L'ENVIRONNEMENT TOUT D'ABORD [Q]: J'ai reçu le CD! Je double-clique sur FB^3 [Éditeur] et j'ai eu un message d'erreur! Qu'est-ce qui se passe?. [R]: FB^3 doit être copié sur votre Mac. Il ne fonctionnera pas à partir du CD. COMPILER ET CONSTRUIRE [Q]: J'ai une vielle note qui dit que FINDERINFO ne fonctionnera que si le drapeau "High-level event aware" (dans la ressource SIZE ID -1) est désactivé... [R]: FB^3 active automatiquement ce bit. Si vous avez une ressource SIZE qui écrase la ressource par défaut installée par FB^3, vous aurez besoin de réactivé les bits qui auront été modifiés. [Q]: Avec FBII, le Gestionnaire de Projet présentait une liste de fichiers inclus, un point c'est tout.. Maintenir de nombreux fichiers inclus n'était pas une mince affaire. Avec FB^3 et ses dossiers pour faire des groupes, une longue liste se transforme en quelques dossiers, ce qui simplifie le tri et le classement des fichiers inclus. Dans FB^3, j'ai l'intention de consolider les fichiers inclus de mon application finale, mais avant cela je vais avoir à gérer 200 fichiers inclus environ. Est-ce que mon application tournera à sa vitesse optimale? [R]: Il y a quelque chose qui vous échappe ici. Vous pouvez avoir un millier de fichiers inclus et ce n'est pas cela qui ralentira votre programme. Oh, peut-être faudra-t'il une demi-seconde supplémentaire pour la compilation mais cela n'affectera pas la vitesse d'exécution de votre programme. FB lie tous les morceaux ensemble dans un unique FCOD. [Q]: J'ai créé une icône en noir et blanc pour mon application, mais quand je la compile elle apparaît avec une icône standard de FB^3... Qu'est-ce à dire? [R]: Laissez-moi d'abord vous expliquer comment une application est construite. FB^3 commence la construction de votre application en copiant le shell du runtime. (chemin: FB Extensions/compilateur/Runtimes). Puis, il ajoute les ressources qu'il rencontre dans les headers. Le fichier "RnTm FBII.Incl" a deux instructions RESSOURCES :RESOURCES"Rntm FBII.Rsrc","APPLFB3!"Toutes les ressources concernant les icônes sont dans le fichier intitulé "Finder BNDL.rsrc" qui est dans le dossier des headers. (Chemin: FB Extensions/Compilateur/Headers) Si vous avez un autre fichier de ressources dans votre projet ou si vous incluez un autre fichier de ressources avec une insctuction RESOURCES, FB ajoutera les ressources à votre appplication. Si le fichier que vous ajoutez contient les ressources ICON et BNDL nécessaires, elles remplaceront les ressources par défaut qui proviennent du fichier "Finder BNDL.rsrc". |
|||||||||
|
[haut de la page] |
ÉTRANGES MESSAGES D'ERREUR [Q]: [Le compilateur] dit qu'il y a une erreur qu'il ne peut pas résoudre, et il y a le message "cliquez moi pour voir l'erreur" comme les autres messages d'erreur et d'avertissement. Mais tout ce que fait un clic c'est de produire un Bip sonore. Je sais comment retrouver l'erreur... En copiant l'erreur et en la collant dans le dialogue de recherche, et aussi sec, je la retrouve... Bon mais pourquoi avoir un bouton qui est supposé vous emmener à l'erreur et qui en fait ne fait pas son travail? [R]: Le truc est là : si l'erreur est dans une fonction que le compilateur n'a pas pu résoudre, comment pourrait il vous emmener à cette fonction? [Q]: De temps en temps, j'obtiens un message d'erreur lui-même erroné m'indiquant qu'une parenthèse est manquante. Ce message suit souvent une autre erreur, mais quand je corrige la première erreur, ce faux message disparaît.. [R]: Lorrsque le compilateur ne peut pas reconnaître l'utilisation d'un paramètre, il perd souvent ses repères dans la ligne. Ce qui peut facilement aboutir à deux messages d'erreur dont le second n'est pas exact. [Q]: Qu'est-ce que c'est que ce fichier Erreurs dans mon dossier FB^3? Je n'en n'ai pas mis dans mon projet et si j'ouvre ce fichier il est vide! [R]: FB3 crée un fichier "Erreurs" dans le même dossier, même s'il n'y aucune erreur. L'Editeur sait quand il doit ou non ouvrir ce fichier. Il le supprime quand il a fini. Lorsque vous quittez l'Editeur, il efface le fichier. On nous a suggéré dans le cas où il n'y a pas d'erreurs de supprimer ce fichier aussitôt que le programme compilé est créé mais il y a des problèmes sousjacents qui rendent cela indésirable. C'est pourquoi nous gardons une liste de fichiers temporaires et les supprimons lorsque c'est nécessaire. |
|||||||||
|
[haut de la page] |
GESTIONNAIRE DE PROJETS [Q]: Lorsque que je dépose un élément du Gestionnaire de Projets vers le Finder, il disparaît et se transforme en extrait de texte inconnu sur le bureau. Si je le remets à sa place, le Gestionnaire de projets ne l'accepte pas. Est-ce un bogue? [R]: Ce n'est pas un bogue - quoique ce ne soit pas une particularité sympathique non plus. Le message que vous obtenez explique que l'extrait a expiré. L'extrait contient juste une référence à l'objet de votre projet original et le texte de l'élément déposé. Généralement, il ne survit pas à un voyage sur le bureau. [Q]: S'il y a une fenêtre de projet derrière une fenêtre de l'éditeur qui n'appartient pas à un projet et que l'utilisateur sélectionne "Exécuter" il y a des comportements différents selon que la fenêtre d'avant-plan a été précédemment sauvegardée sur disque ou qu'il s'agit d'un document "Sans titre x" qui n'a pas encore été sauvegardé :: - Si le fichier qui n'appartient pas au projet est sauvegardé alors "Exécuter" compile le projet. - Si le fichier qui n'appartient pas au projet n'est pas sauvegardé alors "Exécuter" compile le fichier "Sans titre" Si l'utilisateur apporte une quelconque modification au code source d'un fichier qui a été précédemment sauvegardé et qu'il choisit "Exécuter", le fichier est sauvegardé sans qu'on ne lui demande rien. Mais si le document qui n'a pas été sauvegardé sur disque ("Sans titre") alors le fichier n'est pas sauvegardé. Si le document "Sans titre" qui n'est pas sauvegardé est derrière une fenêtre de projet et que l'utilisateur choisit "Exécuter" alors une fenêtre de dialogue apparaît lui demandant de sauvegarder "Sans titre x". [R]: Cela fonctionne comme prévu. Quand vous exécutez un fichier sans titre, il est sauvegardé dans un dossier temporaire avec un projet temporaire et il est utilisé pour créer une application temporaire. Si vous exécutez un projet ou un fichier quelconque qui appartient à un projet, tous les fichiers ouverts sont sauvegardés. Le problème est que vous avez également un fichier sans titre qui peut avoir besoin d'appartenir au projet, et l'Editeur vous demande si vous voulez le sauvegarder. Même si vous annulez (parce que vous ne voulez pas qu'il fasse partie du projet) la compilation se poursuivra. |
|||||||||
|
[haut de la page] |
LE PLUGIN .Gateway & LE "PROBLÈME" NORTON [Q]: Norton dit qu'il y a un problème avec le "plugin .Gateway". [R]: Norton signale de manière incorrecte les noms de fichier commençant par "." comme une erreur. C'est pourtant une pratique standard (Apple Technotes) pour les éléments qui ne doivent pas apparaître dans un menu. Vous pouvez ignorer sans risque l'avertissement de Norton. (un autre problème avec Norton, c'est qu'il essaie de réinitialiser les bits de bundle des fichiers de ressources de votre projet. C'est un cauchemar quand on essaie de faire apparaître une icône parce qu'il commence par traiter les fichiers de ressources comme des applications..) [Q]: Qu'est-ce que le plugin ".Gateway" fait exactement? [R]: Il communique avec le compilateur. |
|||||||||
|
[haut de la page] |
PG [Q]: Si vous ajoutez un fichier de globales supplémentaire à un projet (disons un fichier de globales associées à un fichier inclus) et que vous repassez par PG, ce fichier est supprimé du projet. [R]: Vous pouvez placer vos fichiers de globales dans le groupe appelé "Vos filtres" et ils seront préservés. Comme alternative, vous pouvez ajouter une instruction "GLOBALS" à un fichier inclus du projet qui ajoutera "manuellement" le fichier de globales. |
|||||||||
|
[haut de la page] |
DÉBOGAGE [Q]: Comment puis-je voir les valeurs des variables lorsque je débogue avec FB^3? [R]: Il y a un menu "Scripts" qui vous permet d'insérer du code qui, lorsqu'il est exécuté, vous envoie dans Macsbug et vous montre la valeur d'une variable donnée... [Q]: Quand je construis une application PPC depuis un projet, cela prend un temps très long avant que l'application résultante ne soit chargée, et elle finit par apparaître avec les deux fenêtres du débogueur (oui, le débogueur était désactivé quand j'ai construit l'application). [R]: J'ai eu ce problème quand je suis passé de FB 3.0.8 à FB 3.0.12. Je l'ai résolu en jetant à la corbeille le fichier des préférences (Dossier système:Préférences:STAZ:Préfs Editeur FB). |
|||||||||
|
[haut de la page] |
MÉMOIRE [Q]: Probablement une question simple, mais je n'arrive pas à faire tourner l'exemple Butterflame sur mon StarMax 3000. J'ai essayé : D'allouer plus de mémoire à l'Éditeur D'augmenter le heap du compilateur de 3000 Ko De resauvegarder le projet depuis PG J'arrive toujours au message d'erreur de mémoire insuffisante pour les GWorld dans le filtre GRFX.filter. Tester la compilation fonctionne correctement cependant. [R]: Ajouter de la mémoire au compilateur ou à l'éditeur prélève de la mémoire sur l'application compilée. La mémoire qui n'est pas utilisée par l'éditeur et par le compilateur est laissée pour l'application. |
|||||||||
|
[haut de la page] |
APPLICATIONS POUSSIVES [rien à voir avec FB^3!] [Q]: Si l'un d'entre vous possède un PowerBook et sait comment je peux résoudre par programme le problème suivant [...] J'ai changé tous les réglages pour que mon ordinateur ait le maximum de puissance. Cela comprend ne jamais mettre en veille l'écran, ne jamais mettre en veille le disque dur, et quelques autres "jamais". Lorsque je laisse un programme tourner j'obtiens toujours le même résultat. Après une minute ou deux, le programme commence à ralentir. L'affichage à l'écran (runtime lite) est presque arrêté jusqu'à ce que je bouge la souris. Ce n'est pas une grosse affaire, car je sais que c'est un problème relatif au PowerBook et pas à mes programmes. Je voudrais seulement circonvenir ce problème.. [R]: Une instruction POSTEVENT(0,0) réveillera le processeur endormi pour le remettre à sa pleine puissance. |
|||||||||
|
[haut de la page] |
COMPORTEMENT DE L'ÉDITEUR [Q]: J'ai remarqué tout à fait par hasard que lorsque l'option des préférences "Call requis pour les appels Toolbox" était cochée, les noms des appels était affichés en gras. [...] Je pense que les noms de ces appels devraient être en gras dans tous les cas de figure que "CALL" soit requis ou non. [R]: Cela fonctionne comme il se doit. c'est la raison pour laquelle nous en avons fait une préférence. Certains programmeurs utilisent les noms de ces appels comme variables. C'est pour ça que nous sommes revenus sur notre décision et que nous en avons fait une préférence, pour qu'ils puissent s'en débarrasser. Mais il est vrai que ce n'est pas terrible..
[R]: Il est probable que la police que vous utilisez ne possède pas de caractère de soulignement ou alors il se trouve sous la ligne de base + le descendant. Changez la police utilisée pour les constantes et dites-nous ce qui se passe. [Q]: Et qu'est-ce que la petite fenêtre option (Nouveau et Ouvrir) fait de différent par rapport aux articles de menu Nouveau et Ouvrir? C'est déconcertant d'avoir deux endroits où l'on peut choisir Ouvrir ou Nouveau, car on pourrait penser qu'ils agissent différemment. Même si vous fermez l'éditeur et que vous recommencez, l'option "Correspondre à FBII" semble être toujours choisie (la petite fenêtre réapparaît), ou alors est-elle toujours présente? Comment puis-je m'en débarraser? [R]: Vous vous en débarrasez en cochant la case appropriée dans la fenêtre des préférences. (Onglet Affichage: Utiliser la fenêtre de sélection.) La fenêtre de sélection est quelque chose que nous utilisons depuis des années dans nos applications commerciales. Elle empêche les novices de croire qu'ils ont quitté l'application quand ils ont seulement fermé une fenêtre. [Q]: J'ai des problèmes avec la commande CHERCHER/REMPLACER; très souvent elle me dit qu'un ou plusieurs fichiers inclus ne peuvent être ouverts. [R]: Essayez de réinitialiser les alias. Choisissez "Réinitialiser le chemin de recherche" depuis le menu Projet. [Q]: L'Editeur n'arrête pas de m'envoyer dans MacsBug... et plus particulièrement à un endroit appelé "BowelsOfTheMemory"?! [R]: C'est probablement un bogue de MacsBug; la version 6.6f2c1 n'est pas stable. Elle est _presque_ utilisable si vous supprimez les fichiers suivants dans le dossiers MacsBug des préférences : 'Leaks dcmd - optionnel' 'PageFaults dcmd - optionnel' 'Startup Actions - optionnel' Si l'un d'entre eux est présent, vous finirez presque toujours dans le BowelsOfTheMemoryMgr. Heureusement, Apple va sortir une nouvelle version très bientôt. [Q]: J'ai une variable qui s'appelle 'rect'. À chaque fois qu'elle apparaît dans mon fichier elle est en capitales et est mise en évidence... cependant l'application se compile normalement. Est-ce que je fais quelque chose d'incorrecte?[R]: C'est pareil ici : J'ai parcouru _quelques-uns_ de mes fichiers (où cela me dérangeait) et j'ai changé la variable ' rect' en 'xrect'. Quoique cela ne soit pas réellement nécessaire; le compilateur fait la différence entre une variable et un mot-clé en fonction de sa position - l'Editeur, quant à lui, ne peut se baser que sur le nom et s'il en trouve un qui figure dans sa "liste de mots-clés", il le met en évidence.Tout fonctionnera très bien, c'est juste ennuyeux pour nous qui sommes des humains. Changez le nom si vous voulez, ou laissez-le comme ça... [Q]: Faites cmd-G pour chercher à nouveau. Fermer ce fichier. Rouvrez-le. Faites à nouveau Cmd-G. L'Editeur émet un bip. Faites encore Cmd-G. Cette fois l'élément est trouvé. [R]: Ceci est un comportement standard - une fois que vous avez fermé un fichier, vous n'êtes plus "en train de continuer à chercher", mais vous êtes en train de chercher pour la première fois. J'aime bien le fait qu'il soit possible de taper une seconde fois cmd-G pour vous permettre de continuer; la plupart des programmes se contenteraient d'émettre un bip jusqu'à ce que vous tapiez cmd-F. |
|
FutureBASIC est une marque déposée appartenant à Staz Software, Inc et utilisée avec permission. |
||