Страница 1 из 1

Вопросы и ответы

СообщениеДобавлено: 15.04.2011 16:43:45
devels
Тема, которая поможет создать будущий F.AQ. по использованию исходников языка и самого ориона.

Я постараюсь ответить на все вопросы касающиеся интеграции движка с приложениями. Движок находится пока в статусе unstable, поэтому в какие-то серьезные проекты я крайне не рекомендую его внедрять. Будьте терпеливы, подождите когда он станет стабильным. Также можно задавать вопросы касательно самого языка Орион.

На кое-какие вопросы ответы можно искать пока тут http://wiki.orion-lang.org и тут http://code.google.com/p/orionphp/w/list

Re: Вопросы и ответы

СообщениеДобавлено: 15.04.2011 18:35:23
hinst
уже и домен первого уровня купил

Re: Вопросы и ответы

СообщениеДобавлено: 05.08.2011 22:41:57
CoreX
Хотелось бы узнать как создавать и обрабатывать в orion события вызываемые из программы.

Re: Вопросы и ответы

СообщениеДобавлено: 09.08.2011 14:13:14
devels
CoreX писал(а):Хотелось бы узнать как создавать и обрабатывать в orion события вызываемые из программы.


Извиняюсь что так долго не отвечал, есть возможность. Для языка есть универсальный тип - анонимная функция, т.е. даже метод объекта или класса это аннонимная функция для движка.

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

Посмтреть как это сделать можно здесь:
http://code.google.com/p/game-abstract/ ... Script.pas

События можно легко добавлять через движок:

Например:
Код: Выделить всё
Game::Event(OnInit, function(){
  // код события
});

Game::Event(OnInit, &functionName);
Game::Event(OnInit, &Class::Method);

Re: Вопросы и ответы

СообщениеДобавлено: 15.08.2011 16:28:44
CoreX
Хотелось бы мануал прочитать по событиям, если конечно есть. Код непонятен если честно и дополнительных юнитов много. Сложно достать то, что нужно. Я этот код видел уже до создания темы. По этому и решил обратится чтоб поподробней узнать как делается это всё. Желательно без классов. А просто, что-то вроде этого:

Код: Выделить всё

AddEvent(OnInit, function(){
/* code */
});



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