2008-09-15 4 views
1

J'ai récemment commencé à jouer avec Mono (1.9.1) sur Ubuntu 8.04 avec l'IDE Mono-Develop (v1). J'essaye d'employer GTK-Sharp 2 pour courir l'interface graphique pour les applications de jeu.Mono-Develop lance une erreur "" lors de la création de certains objets Gtk (boîtes de dialogue), pourquoi?

Pour une raison quelconque lorsque je tente de créer des boîtes de dialogue gtk (ColorSelectionDialog ou MessageDialog) le compilateur génère l'erreur « « Gtk.ColorSelectionDialog.ColorSelectionDialog (GLib.GType) » est inaccessible en raison de son niveau de protection (CS0122) »

Peut-être que ces boîtes de dialogue ne sont pas des objets publics dans la librairie GTK?

Voici un échantillon des C# code qui lève l'exception:

Gtk.ColorSelectionDialog dlg = new Gtk.ColorSelectionDialog(); //dont need any more than this 

Toutes les suggestions?

Répondre

4

Trouvé une solution. Impossible d'utiliser le constructeur par défaut sans arguments. Pour une raison quelconque, ce constructeur ne fonctionne tout simplement pas. S'il est appelé comme tel:

MessageDialog md = new MessageDialog (parent_window, 
            DialogFlags.DestroyWithParent, 
           MessageType.Error, 
            ButtonsType.Close, "Error loading file"); 

Ensuite, cela fonctionne bien. De toute évidence, quelque chose est encombré quelque part, mais je n'ai pas le technicien savoir comment résoudre le problème sous-jacent en Gtk ou Mono.

Questions connexes