SubClass MUI en C++
9 sujets de 1 à 9 (sur un total de 9)
-
Bonsoir,
je recherche un exemple d’utilisation/création de subclass en C++.
DISPATCHERPROTO(Dispatcher)
{
DISPATCHERARG
…
}
me donne un:
ANSI C++ forbids implicit conversion from `void *’ in initialization
Donc si quelqu’un a un exemple d’utilisation d’un MUI_CustomClass en
C++ avec dispatcher je suis preneur.
Merci.
Reprends la macro en question et caste où il faut. Le C++ est plus strict en ce qui concerne les affectations de void *, notamment.
Par exemple si on te passe un paramètre pouet de type void * et que tu veux l’associer à une var de type toto, va falloir explicitement faire :
toto * t = (toto *) pouet;
Dommage,
on pert le caractère générique de la macro…
En plus, elle est pas vraiment lisible, je vais essayer de comprendre
comment elle est écrite et part quoi la remplacer.
PS : Comment on voit ce que traduit le pre processeur de GCC ?
j’aimerai bien voir comment il traduit la macro, cela m’aiderait
fortement…
A++
Vince a écrit :
Dommage,
on pert le caractère générique de la macro…
En plus, elle est pas vraiment lisible, je vais essayer de comprendre
comment elle est écrite et part quoi la remplacer.
J’utilisais aussi cette macro avant. Maintenant j’ai passé la plupart de mes projets avec les macros de l’archive SDI_headers. Ca passe partout (pub : voir ma doc sur la programmation portable) et ça fonctionne bien !
Je sais plus d’où vient ta macro DISPATCHERPROTO, j’ai retrouvé qqch qui porte ce nom, et j’avais déjà modifié ça pour le C++ en fait…
J’ai ça (valable pour mos uniquement) :
#define DISPATCHERPROTO(name) static ULONG name##PPC(void); struct EmulLibEntry name = { TRAP_LIB, 0, (void(*)(void))&name##PPC }; static ULONG name ## PPC(void)
#define DISPATCHERARG DECLARG_3(a0, struct IClass *, cl, a2, Object *, obj, a1, Msg, msg)
La seule modification dans mes souvenirs est le cast en void(*)() pour la fonction.
D’autre part, en C++, tu n’auras plus les set() get() si je me souviens bien, donc il faudra appeler GetAttr() et SetAttrs().
9 sujets de 1 à 9 (sur un total de 9)
- Vous devez être connecté pour répondre à ce sujet.
› Forums › AmigaOS, MorphOS et AROS › Développement › SubClass MUI en C++