flow Le 26/05/2002 à 12:51 Salut !
J'ai déja parlé de ce pb mais je n'ai pas reussi à le résoudre. En fait, c'est la Status Bar qui s'affiche avec le "lock alpha" quand j'utilise des boites de dialogues du TIOS. Comment faire pour qu'elles ne s'affichent plus?
Merci d'avance!
flow Le 26/05/2002 à 20:43 nan! mais y'a forcément une methode !!
flow Le 27/05/2002 à 08:58 et elle sert a quoi cette fonction? désactiver le alpha lock? On l'utilise comment?
guilc Le 27/05/2002 à 10:46 ben avant d'ouvrir la boite de dialogue, tu appelle la fonction AlphaLockOff.
Ça ne sert strictement à rien.
Ce qu'il faut pour désactiver le alpha-lock dans une boîte de dialogue, c'est rajouter un élément XFLAGS avec le flag XF_NO_ALPHA à la boîte de dialogue.
Et la barre d'état apparaîtra quand-même.
flow Le 27/05/2002 à 17:43 Aïe! Une erreur et 2 Warnings :
ERREUR : "2 undefined references to '_rom_call_addr'."
Warning :2 Fois "Cast to pointer from integer of different size"
et "implicit declaration of function '_rom_call_addr'".
J'ai placé le #define... avec les autres en début de fichier, le premier au début de la fonction main et le dernier a la fin de cette même fonction...
heu...
pr moi, ça marche nikel sous TIGCC_094_15
tu as mis l'include tigcclib.h avant le #define ?
ExtendeD> Ok, merci !
Au pire, suffit de tester si c bien une ROM2.0x avant d'aplliquer cette méthode...
flow Le 28/05/2002 à 18:32 Aucune des deux methodes ne marche : la premiere je vous l'ai expliqué et la deuxieme voila :
je déclare :
#define ST_Flags ((unsigned long*)(_rom_call_addr(443)))
ensuite j'utilise :
unsigned char *flag;
flag = (unsigned char*)&ST_flags;
flag++;
ensuite:
*flag &= ~(1<<4);
et à la fin:
*flag &= ~(1<<4);
Le probleme c'est avec le &ST_flags (en bleu) ça ne devrait pas être &ST_Flags? (par rapport a la déclaration qui elle a une majuscule au F ?) et ensuite tigcc me dit qu'il y a un pb avec l'opérateur unaire "&"...
Bon si qqun a une idée...
D'abord télécharge la dernière version de TIGCC.
Ensuite, soit tu ne redéclares pas la rom call, et tu utilises ST_flags, mais dans ce cas tu dois ajouter un #define MIN_AMS 200 au début de ta source pour que TIGCC te permette d'accéder à cette rom call. Soit tu redéclares la rom call, tu utilises ST_Flags (pour éviter un éventuel conflit), et ça te permet de l'utiliser sans #define MIN_AMS 200, mais simplement en utilisant des tests comme squale92 a fait (if(AMS_2xx) ...).
D'ailleurs il vaut mieux créer une variable BOOL AMS2 = AMS_2xx; et faire des tests if (AMS2), ça optimise un peu en taille, la macro n'est pas placée deux fois dans le programme.