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 :
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
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); } } } }
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 public interface IRegionModule { void Initialise(Scene scene, IConfig config); void PostInitialise(); void Close(); string Name { get; } bool IsSharedModule { get; } }
A la compilation du module je n'ai aucune erreur.
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); } } }
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 :
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 ?An exception was thrown by the type initializer for System.Windows.Forms.XplatUI
Merci pour vos réponses.
Partager