IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

C# fichier DLL pour module OpenSim


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de acryline
    Profil pro
    Inscrit en
    Août 2006
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 200
    Par défaut C# fichier DLL pour module OpenSim
    Bonjour,
    je m'intéresse depuis peu aux modules pour OpenSimulator (dll C#). J'aimerais pouvoir détecter les coordonnées de la souris sur mon écran.
    Mon installation : Ubuntu, mono 2.4.2.3, IDE : monodevelop

    J'ai testé ce code et il fonctionne, les coordonnées de la souris s'affichent bien le temps de la boucle dans la console :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
    using System;
    using System.Drawing;
    using System.Windows.Forms;
     
    namespace sourisconsole
    {
    	class MainClass
    	{
    			static int x=0;
    			static int y=0;
    			static int i=0;
    		public static void Main(string[] args)
    		{
    			for (i=0;i<100000; i++)
    			{
    			x=Cursor.Position.X;
    			y=Cursor.Position.Y;
    			Console.WriteLine(" x = "+x+" y = "+y);
    			}
    		}
    	}
    }
    Pour faire un module OpenSim j'implémente cette interface :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    public interface IRegionModule
    {
        void Initialise(Scene scene, IConfig config);
        void PostInitialise();
        void Close();
        string Name { get; }
        bool IsSharedModule { get; }
    }
    J'ai fait un timer pour lire régulièrement les coordonnées de la souris et je l'ai attaché à la méthode suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    public static void Afficher(object sender, ElapsedEventArgs e)
        	{
    		try
    		  {
    	  		//coordonnées de la Souris :
    		       	x=Cursor.Position.X;
    			y=Cursor.Position.Y;
                            Console.WriteLine(" x = "+x+" y = "+y);	
    		  }
    	        catch(Exception ex)
    	            {
    	                 // Ce code n'est exécuté que si une exception se produit
    	                  Console.WriteLine("Une erreur s'est produite : {0}", ex.Message);
    		    }	
    	    }
         }
    A la compilation du module je n'ai aucune erreur.
    J'ajoute le module à mon installation OpenSim comme je l'ai fait avec d'autres modules (dans le dossier /bin) et je lance l'application.

    Et cette fois j'obtiens l'erreur :
    An exception was thrown by the type initializer for System.Windows.Forms.XplatUI
    Quelle est la différence avec ma première application ? Que dois-je modifier ? Si c'est impossible voire très compliqué avec cette méthode, laquelle me conseillez-vous ?

    Merci pour vos réponses.

  2. #2
    Membre confirmé Avatar de acryline
    Profil pro
    Inscrit en
    Août 2006
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 200
    Par défaut
    Bon après maintes essais voici la clé du mystère :

    Je testais mon module sur une installation d'OpenSim que j'ai sur mon serveur dédié et je testais mon application en console sur mon ordinateur.

    En fait j'ai la même erreur sur le serveur avec le module et avec l'application en console. Mais le système de mon serveur n'est pas graphique, il ne comprend pas ce que je lui demande quand je teste le curseur de la souris. (je pense). De plus dans mon module ce n'est pas le curseur du serveur que je veux tester mais celui de l'utilisateur. Et là c'est pas gagné !

    Sur une installation OpenSim en local ça marche mais ça ne m'avance pas à grand chose. Je vais procéder autrement.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Ajout dll pour module bus Can
    Par laoualb dans le forum Unity
    Réponses: 0
    Dernier message: 26/05/2014, 15h04
  2. créer DLL pour c# à partir code en VC++ (fichiers .h)
    Par punto dans le forum Windows Forms
    Réponses: 1
    Dernier message: 21/03/2008, 15h12
  3. Réponses: 10
    Dernier message: 14/04/2006, 09h23
  4. [débutant]ou mettre un fichier java pour une appli jsp?
    Par zozolh2 dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 11/05/2004, 15h20
  5. Réponses: 2
    Dernier message: 28/04/2004, 11h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo