website logo
Auteur
avatar
thellier

Forum » » Création-Développement » » Comment servir des device Keyboard et input ??


Posté : 14-11-2019 13:40 icone du post

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;

struct timerequest tr;

/*======================================================== ==========*/
#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);

Sam440 - Sam460 - X5000 - PowerBookG4 - WinUAE - MiniMig

Message édité par : thellier / 14-11-2019 13:41

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