Тема, которая поможет создать будущий F.AQ. по использованию исходников языка и самого ориона.
Я постараюсь ответить на все вопросы касающиеся интеграции движка с приложениями. Движок находится пока в статусе unstable, поэтому в какие-то серьезные проекты я крайне не рекомендую его внедрять. Будьте терпеливы, подождите когда он станет стабильным. Также можно задавать вопросы касательно самого языка Орион.
На кое-какие вопросы ответы можно искать пока тут http://wiki.orion-lang.org и тут http://code.google.com/p/orionphp/w/list
Вопросы и ответы
Модераторы: devels, Модераторы
уже и домен первого уровня купил
Хотелось бы узнать как создавать и обрабатывать в orion события вызываемые из программы.
CoreX писал(а):Хотелось бы узнать как создавать и обрабатывать в orion события вызываемые из программы.
Извиняюсь что так долго не отвечал, есть возможность. Для языка есть универсальный тип - анонимная функция, т.е. даже метод объекта или класса это аннонимная функция для движка.
Поэтому достаточно хранить ссылку на анонимную функцию у себя в программе и вызывать эту функцию через ссылку, передав нужные параметры. Заведомо надо поставить блок на функцию, чтобы ее не уничтожил сборщик муссора, а когда она будет не нужна, снять свой блок.
Посмтреть как это сделать можно здесь:
http://code.google.com/p/game-abstract/ ... Script.pas
События можно легко добавлять через движок:
Например:
Код: Выделить всё
Game::Event(OnInit, function(){
// код события
});
Game::Event(OnInit, &functionName);
Game::Event(OnInit, &Class::Method);
Хотелось бы мануал прочитать по событиям, если конечно есть. Код непонятен если честно и дополнительных юнитов много. Сложно достать то, что нужно. Я этот код видел уже до создания темы. По этому и решил обратится чтоб поподробней узнать как делается это всё. Желательно без классов. А просто, что-то вроде этого:
я так понял надо регистрировать AddEvent через addNativeFunc. Ну вот я допустим зарегистрировал, в параметрах приходит функция, а как её потом вызвать не знаю.
Код: Выделить всё
AddEvent(OnInit, function(){
/* code */
});
я так понял надо регистрировать AddEvent через addNativeFunc. Ну вот я допустим зарегистрировал, в параметрах приходит функция, а как её потом вызвать не знаю.
