Bienvenue sur Le site des utilisateurs francophones actuels et futurs d'AmigaOS 4.x
Recherche
20 visiteur(s) et 0 membre(s) en ligne.
 
 
    Annonces Google

    Petites Annonces

il y a annonces
    IRC

Serveur : irc.portlane.se
Canal : #AmigaNG
    Liens

Toutes les informations sur :
  • Amiga OS 4:
    AmigaOS.net
  • Logiciels pour OS4 :
    OS4depot
  • Matériel Amiga :
    ACube Systems
  • Magazine papier :
    AmigaPower
  • Magazine en ligne :
    Obligement
  •     Activité du Site

    Pages vues depuis 25/07/2007 : 105 924
    • Nb. de Membres : 183
    • Nb. d'articles : 1 159
    • Nb. de Forums : 18
    • Nb. de Sujets : 17
    • Nb. de Critiques : 24

    Top 10  Statistiques

      
    Modéré par : K-L Creols Elwood 
    Index du Forum > > Création-Développement > > Comment servir des device Keyboard et input ??
    2 pages [ 1 | 2 ]
    AuteurComment servir des device Keyboard et input ??
    Sharynn
    181     

    Sharynn
      Posté : 13-11-2019 22:06

    Salut,
    Bon ça avance mais pas trop comme je le souhaiterai.

    J'ai basculer sur le timer.device car il faut vraiment que je trouve où ça ne fonctionne pas.

    Voici un topo rapide.

    La bibliothèque AmOS4 est regroupé en 763 fichiers autonomes et d'un noyau le tout compilé ensemble.

    Jusqu'à présent l'utilisation de variables du noyau vers les modules externes fonctionnaient bien en utilisant

    extern int MaVariable

    Alors qu'avec les device cela ne fonctionne pas. Du moins chez moi !!!

    Pour le TIMER.DEVICE:
    Si j'ouvre dans une routine le device et que je l'utilise directement ça fonctionne (GETSYSTIME me donne la date).
    Mais si j'utilise le "DoIO" du device dans une autre commande externe, j'ai un Guru directement.

    L'appel en "extern struct MavarDevice" ne semble pas suivre le pointeur que j'y enregistre lors de l'ouverture du device.

    Si quelqu'un à une poste ou une solution pour cela ???

    Je reste à l'écoute de vos suggestions...


    Projet AmOS4 - Retour vers l'Amos sous OS4...

    SAM440EP - A1200 3.1 de base

      Afficher le profil de SharynnProfil  Ouvrir le site web de Sharynnwww  Imprimer ce commentaireImprimer
    thellier
    892      

    thellier
      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;

    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

      Afficher le profil de thellierProfil  Imprimer ce commentaireImprimer
    Sharynn
    181     

    Sharynn
      Posté : 14-11-2019 19:18

    Merci pour les infos.

    AmOS4 - Timer.Device -> OK Débogué !!!

    Reste plus que Keyboard.device et Input.device ;)



    Projet AmOS4 - Retour vers l'Amos sous OS4...

    SAM440EP - A1200 3.1 de base

      Afficher le profil de SharynnProfil  Ouvrir le site web de Sharynnwww  Imprimer ce commentaireImprimer
    thellier
    892      

    thellier
      Posté : 14-11-2019 20:40

    Montre le code qui marche pas: on aura peut être une idée en le lisant

    Sam440 - Sam460 - X5000 - PowerBookG4 - WinUAE - MiniMig

      Afficher le profil de thellierProfil  Imprimer ce commentaireImprimer
    Aller à la page : [ 1 | 2 ]
    Sauter à :


    Tous les Logos et Marques sont déposés, les commentaires sont sous la responsabilité de ceux qui les ont publiés. AmigaOS 4.x est (c) Hyperion Entertainment

    Conception graphique du thème : PowerMetal, codage : Alexandre Balaban
    Certaines images sont © Martin \"Mason\" Mertz

    Temps : 1575910017.989 seconde(s)