Форум русскоязычного сообщества Ubuntu


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: обработчики событий в Vala  (Прочитано 1611 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн alsoijw

  • Старожил
  • *
  • Сообщений: 4062
  • Fedora 25 GNOME 3 amd64
    • Просмотр профиля
Re: обработчики событий в Vala
« Ответ #15 : 13 Ноября 2014, 17:10:57 »
S9, насчет пространств имён надо выяснить. Что-то тут не то.
Зачем тебе пространства имён, ещё раз? Они нужны в крупных проектах. Используй классы. Разбиваешь код на несколько файлов, и передаёшь все эти файлы транслятору. Дополнително писать ничего не нужно. Посмотри

Пользователь решил продолжить мысль 13 Ноября 2014, 17:49:37:
S9,
valac --versionПрограмма не должна быть очень сложной. Опять тебе говорю - создай два файла из примера, который я приводи и скомпилируй. И хватит копипастить сообщения.
« Последнее редактирование: 13 Ноября 2014, 17:49:37 от alsoijw »
Мало видеть нам начало - надо видеть и конец. Если видишь ты создание - значит где-то есть ТВОРЕЦ
Многие жалуются: геометрия в жизни не пригодилась. Ямб от хорея им приходится отличать ежедневно?

Оффлайн S9

  • Автор темы
  • Участник
  • *
  • Сообщений: 163
  • Волшебник
    • Просмотр профиля
Re: обработчики событий в Vala
« Ответ #16 : 13 Ноября 2014, 22:04:45 »
S9, насчет пространств имён надо выяснить. Что-то тут не то.
Там явно что-то не то. Или я тупой, или баг это. Версия valac - 0.24.
Зачем тебе пространства имён, ещё раз? Они нужны в крупных проектах. Используй классы. Разбиваешь код на несколько файлов, и передаёшь все эти файлы транслятору. Дополнительно писать ничего не нужно. Посмотри
Я ещё раз повторюсь, что решил более крупный проект на Vala, в двух словах, это оболочка которая через USB управляет микроконтроллером, который в свою очередь рулит цифровым синтезатором частот (DDS). И хочу на примере маленького проекта хочу отработать все тонкие моменты, которые у меня возникают, чтобы в основной проге не наделать много косяков.
Примерно будет такая связка: Vala + libusb + libftdi + gtk+-3.0, возможно ещё что-нибудь будет.
Поэтому и хочу делать через сигналы, пространства имён, вообщем, как надо писать хочу:)
Программа не должна быть очень сложной. Опять тебе говорю - создай два файла из примера, который я приводи и скомпилируй.
ответил вам выше
И хватит копипастить сообщения.
ну извиняйте, хочу максимально доходчиво объяснить, что я хочу сделать
Burning on the flame
Played the waiting game

Оффлайн alsoijw

  • Старожил
  • *
  • Сообщений: 4062
  • Fedora 25 GNOME 3 amd64
    • Просмотр профиля
Re: обработчики событий в Vala
« Ответ #17 : 13 Ноября 2014, 22:11:32 »
S9, оформил репорт.
Мало видеть нам начало - надо видеть и конец. Если видишь ты создание - значит где-то есть ТВОРЕЦ
Многие жалуются: геометрия в жизни не пригодилась. Ямб от хорея им приходится отличать ежедневно?

Оффлайн S9

  • Автор темы
  • Участник
  • *
  • Сообщений: 163
  • Волшебник
    • Просмотр профиля
Re: обработчики событий в Vala
« Ответ #18 : 13 Ноября 2014, 22:48:39 »
alsoijw, если можешь поправить, поправь, ты не совсем корректно описал проблему.
дело в том, что это баг GTK+ 3.0, точнее, как я предполагаю gtk+-3.0.vapi
этот код, как и надо, показывает ошибку
(Нажмите, чтобы показать/скрыть)

(Нажмите, чтобы показать/скрыть)
тут несколько сложнее ситуация, т.к. допустим, при использовании Gtk, можно обращаться к приватным полям (всё равно, что это будет, метод, виджет, или просто тупо переменная), а без использования Gtk трогать приватные поля из другой области видимости нельзя, в принципе это как раз и ожидается.
Возможно я зря гоню на Gtk, причина может быть в чём-то другом.
Burning on the flame
Played the waiting game

Оффлайн alsoijw

  • Старожил
  • *
  • Сообщений: 4062
  • Fedora 25 GNOME 3 amd64
    • Просмотр профиля
Re: обработчики событий в Vala
« Ответ #19 : 14 Ноября 2014, 17:23:07 »
S9, ты читал сообщение компилятора?
Цитировать
The name `a' does not exist in the context of `Namespace2.main'
Переменная `a' не объявлена в `Namespace2.main'
А нужно:
Цитировать
Access to private member `Namespace1.a' denied
Доступ к приватному элементу `Namespace1.a' запрещён
Но если импортировать это пространство имён, то всё как по маслу.
Код: (vala) [Выделить]
using Namespace1;

namespace Namespace1
{
  private int a;
}
 
namespace Namespace2
{
  public static int main (string[] args)
  {
    Namespace1.a = 10;
    return 0;
  }
}
Мало видеть нам начало - надо видеть и конец. Если видишь ты создание - значит где-то есть ТВОРЕЦ
Многие жалуются: геометрия в жизни не пригодилась. Ямб от хорея им приходится отличать ежедневно?

 

Страница сгенерирована за 0.017 секунд. Запросов: 22.