Forum » » Création-Développement » » Comment servir des device Keyboard et input ??
Posté : 14-11-2019 13:40
Ca devrait pas être plutot qque chose comme
extern struct Device * TimerBase;
plutôt que "extern struct MavarDevice"
car TimerBase est toujours utilisé comme pointeur , tout comme une base de .library
Note: Par ailleurs je crois pas que l'on puisse "externaliser" une struct en C mais uniquement un pointeur sur une struct
Et dans le prog principal:
struct Device * TimerBase =NULL;
/*======================================================== ==========*/
#define LIBCLOSE(libbase) if(libbase!=NULL) {CloseLibrary( (struct Library *)libbase ); libbase=NULL; }
#define LIBOPEN(libbase,name,version) libbase =(void*)OpenLibrary(#name,version); if(libb ase==NULL) return(FALSE);
#ifdef OS4
#define LIBOPEN4(interface,libbase) interface=(void*)GetInterface((struct Library *)libbase, "main", 1, NULL); if(interface==NULL) return(FALSE);
#define LIBCLOSE4(interface) if(interface!=NULL) {DropInterface((struct Interface*)interface );interface=NULL;}
#else
#define LIBOPEN4(interface,libbase) ;
#define LIBCLOSE4(interface) ;
#endif
*====================================================== ============*/
if (OpenDevice(TIMERNAME, UNIT_MICROHZ, (struct IORequest *)&tr, 0L) != 0)
return(FALSE);
TimerBase = (struct Device *) tr.tr_node.io_Device;
LIBOPEN4(ITimer,TimerBase);
*============= =====================================================*/
LIBCLOS E4(ITimer)
CloseDevice((struct IORequest *)&tr);
Cet article provient de Le site des utilisateurs francophones actuels et futurs d'AmigaOS 4.x
https://amiga-ng.org/viewtopic.php?topic=2624&forum=14