На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
  
> компиляция Gtk template
    решил пощупать Mono, взял IDE MonoDevelop под виндой
    создаю проект обычным способом Gtk# 2.0

    Примеры разбирал, всё идентично делаю, а нифига не работает.
    пробовал референсы в опциях подключать как в инете пишут, не помогло.

    визард создает код:
    ExpandedWrap disabled
      using System;
      using Gtk;
       
      public partial class MainWindow: Gtk.Window{    
          public MainWindow (): base (Gtk.WindowType.Toplevel){
              Build ();
          }
          protected void OnDeleteEvent (object sender, DeleteEventArgs a){
              Application.Quit ();
              a.RetVal = true;
          }
      }


    при сборке выдает ошибки:
    ExpandedWrap disabled
      Error CS0234: Имя типа или пространства имен 'Quit' отсутствует в пространстве имен 'Application' (пропущена ссылка на сборку?)
      Error CS0234: Имя типа или пространства имен 'Init' отсутствует в пространстве имен 'Application' (пропущена ссылка на сборку?)
      Error CS0234: Имя типа или пространства имен 'Run' отсутствует в пространстве имен 'Application' (пропущена ссылка на сборку?)


    Подскажите в чем дело?
      У меня Build (); не находит, при запуске твоего кода. Покажите весь проект.

      Вот так попробуй:
      ExpandedWrap disabled
        using System;
        using Gtk;
         
        namespace myProg
        {
            class MainClass
            {
                public static void Main (string[] args)
                {
                    Application.Init ();
                    MainWindow win = new MainWindow ();
                    win.Show ();
                    Application.Run ();
                }
            }
        }


      Добавлено
      Глупый вопрос: А GtkSharp У тебя установлен?
        да безусловно установлен:) MonoDev требует предварительно установки Gtk#, если его не обнаруживает.

        Botva, спасибо, очень выручил, вставил код и понял в чем дело..
        всё дело оказалось из-за того, что визард создает код в файле Main.cs:
        ExpandedWrap disabled
          using System;
          using Gtk;
          namespace Application{
              class MainClass{
                  public static void Main (string[] args) {
                      Application.Init ();
                      MainWindow win = new MainWindow ();
                      win.Show ();
                      Application.Run ();
                  }
              }
          }


        где namespace Application - совпадает с именем объекта Application в файле MainWindow.cs: и вызывает методы типа Application.Quit ();
        на чем и затыкается...

        поменял пространство имён и всё заработало, благодарю:)
        удивило одно, почему мастер по умолчанию создает простецкое приложение, которое не компилится сразу по такой, казалось бы дурацкой причине)
        0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
        0 пользователей:


        Рейтинг@Mail.ru
        [ Script execution time: 0,0458 ]   [ 16 queries used ]   [ Generated: 28.03.24, 14:14 GMT ]