Autre problème (en fait cela se rapporte au premier)
voilà ce que je défini:
typedef struct
{
char nom[16];
int actif;
void *V_SCR;
} CALQUE;
CALQUE *Calque;
int NB_CAL = 1;
Il s'agit d'une structure qui va contenir le nom du calque, savoir s'il est actif ou non et un pointeur sur un écran virtuel
Comme au début il n'y a qu'un seul calque je mets
Calque = (CALQUE *)malloc(NB_CAL * sizeof(CALQUE));
Calque[0].V_SCR = malloc(3840);
strcpy(Calque[0].nom, "Calque 1")
Calque[0].actif = 1;
PortSet(Calque[0].V_SCR, 239, 127);
Si je travail dans ce calque je n'ai aucun problème par contre si j'en cré un autre:
int Nouv_Calque(void)
{
if((Calque = (CALQUE *)realloc(Calque, (NB_CAL++) * sizeof(CALQUE))) == NULL)
{
return 0;
}
return 1;
}
je n'arrive ni a modifier les infos de la structure
strcpy(Calque[1].nom, "Calque 2"),
ni à écrire dessus
PortSet(Calque[1].V_SCR, 239, 127);
DrawStr (60, 60, "Test", A_NORMAL);
J'ai autant d'ADRESS ERROR que d'ILLEGAL INSTRUCTION
