Автор Тема: Вопрос по биндингу ? Или что тут еще требуется?  (Прочитано 111379 раз)

adva

  • Sr. Member
  • ****
  • Сообщений: 385
    • Просмотр профиля
Re: Вопрос по биндингу ? Или что тут еще требуется?
« Ответ #210 : Ноябрь 07, 2013, 04:19:48 am »
Может быть потому, что я не использую NEW для функции биндинга?

vlad

  • Hero Member
  • *****
  • Сообщений: 1391
    • Просмотр профиля
Re: Вопрос по биндингу ? Или что тут еще требуется?
« Ответ #211 : Ноябрь 07, 2013, 05:16:51 am »
И еще момент, или может я чего напутал, изменяя nodejs.js . Но не во всех файлах (модулях) создаются строки вида

var RTL$ = stdlib.require("RTL$.js").RTL$;

В результате ругается на отсутствие объекта RTL

Фикснул. И RTL$.js теперь не генерится отдельно - используется rtl.js из исходников компилятора.

vlad

  • Hero Member
  • *****
  • Сообщений: 1391
    • Просмотр профиля
Re: Вопрос по биндингу ? Или что тут еще требуется?
« Ответ #212 : Ноябрь 07, 2013, 05:19:26 am »
Может быть потому, что я не использую NEW для функции биндинга?

Попробуй привести код, на котором это видно. По твоему описанию непонятно, что там не так.

adva

  • Sr. Member
  • ****
  • Сообщений: 385
    • Просмотр профиля
Re: Вопрос по биндингу ? Или что тут еще требуется?
« Ответ #213 : Ноябрь 07, 2013, 05:21:11 am »
Попробуй привести код, на котором это видно. По твоему описанию непонятно, что там не так.

Сначала попробую переписать, как думаю будет правильно, если не поможет, тогда уточню

adva

  • Sr. Member
  • ****
  • Сообщений: 385
    • Просмотр профиля
Re: Вопрос по биндингу ? Или что тут еще требуется?
« Ответ #214 : Ноябрь 07, 2013, 06:55:17 am »
А в новой версии с NODE_PATH изменений не было, а то чё-то у меня выдает: системе не удалось найти указанный пусть?

adva

  • Sr. Member
  • ****
  • Сообщений: 385
    • Просмотр профиля
Re: Вопрос по биндингу ? Или что тут еще требуется?
« Ответ #215 : Ноябрь 07, 2013, 06:58:45 am »
Извиняюсь, я напутал, с путями все в порядке

adva

  • Sr. Member
  • ****
  • Сообщений: 385
    • Просмотр профиля
Re: Вопрос по биндингу ? Или что тут еще требуется?
« Ответ #216 : Ноябрь 07, 2013, 07:17:36 am »
Фикснул. И RTL$.js теперь не генерится отдельно - используется rtl.js из исходников компилятора.
Я правильно понял, что теперь оно постоянное (ну относительно конечно, пока новая версия не выйдет)?

adva

  • Sr. Member
  • ****
  • Сообщений: 385
    • Просмотр профиля
Re: Вопрос по биндингу ? Или что тут еще требуется?
« Ответ #217 : Ноябрь 07, 2013, 07:27:33 am »
Ругается, что нету RTL$.strToArray

Правда я в RTL закомментил строку где export присваивается. Это может быть связано?

adva

  • Sr. Member
  • ****
  • Сообщений: 385
    • Просмотр профиля
Re: Вопрос по биндингу ? Или что тут еще требуется?
« Ответ #218 : Ноябрь 07, 2013, 07:30:48 am »
Похоже связано, а как мне можно вместо exports присвоить самому скрипту методы переменной impl?

adva

  • Sr. Member
  • ****
  • Сообщений: 385
    • Просмотр профиля
Re: Вопрос по биндингу ? Или что тут еще требуется?
« Ответ #219 : Ноябрь 07, 2013, 07:36:26 am »
Вроде с експортом разобрался.

Но вот вопрос по охраннику типа остался.

У меня объект подменяется на объект яваскрипта (т.к. биндинг). И естественно он имеет другой тип. Мне отрубить охранника, или для биндингов не могу использовать присвоение указателю базового типа, указателя расширенного типа?

adva

  • Sr. Member
  • ****
  • Сообщений: 385
    • Просмотр профиля
Re: Вопрос по биндингу ? Или что тут еще требуется?
« Ответ #220 : Ноябрь 07, 2013, 07:38:55 am »
Или может там можно сделать так: "ИЛИ это тип Object яваскрипта"?

adva

  • Sr. Member
  • ****
  • Сообщений: 385
    • Просмотр профиля
Re: Вопрос по биндингу ? Или что тут еще требуется?
« Ответ #221 : Ноябрь 07, 2013, 07:46:27 am »
В общем подскажите, как это сделать "идеологически" правильнее (чтобы проверка типизации не нарушилась)

vlad

  • Hero Member
  • *****
  • Сообщений: 1391
    • Просмотр профиля
Re: Вопрос по биндингу ? Или что тут еще требуется?
« Ответ #222 : Ноябрь 07, 2013, 03:50:38 pm »
Но вот вопрос по охраннику типа остался.

У меня объект подменяется на объект яваскрипта (т.к. биндинг). И естественно он имеет другой тип. Мне отрубить охранника, или для биндингов не могу использовать присвоение указателю базового типа, указателя расширенного типа?

Если у тебя объект пришел из жабаскрипта и этот объект не был получен (в жабаскрипте) через Class.extend, то обероновские проверки типа к нему неприменимы. Потому что в жабаскрипте нет классов (о чем я писал). Классы (типы) искусственно создаются и поддерживаются в мирке oberonjs, все что пришло извне - никаких типов (в терминах оберона) не имеет.

vlad

  • Hero Member
  • *****
  • Сообщений: 1391
    • Просмотр профиля
Re: Вопрос по биндингу ? Или что тут еще требуется?
« Ответ #223 : Ноябрь 07, 2013, 03:52:58 pm »
Или может там можно сделать так: "ИЛИ это тип Object яваскрипта"?

Таки нужен код, чтобы понять, что у тебя происходит.

adva

  • Sr. Member
  • ****
  • Сообщений: 385
    • Просмотр профиля
Re: Вопрос по биндингу ? Или что тут еще требуется?
« Ответ #224 : Ноябрь 08, 2013, 03:29:30 am »
Или может там можно сделать так: "ИЛИ это тип Object яваскрипта"?

Таки нужен код, чтобы понять, что у тебя происходит.
Примерно следующее:

...
TYPE
  Base = POINTER TO BaseRec;
  BaseRec = RECORD END;

  BaseExt = POINTER TO BaseExtRec;
  BaseExtRec = RECORD (BaseRec)
    run: PROCEDURE();
  END;


VAR
  v1: Base;

PROCEDURE getBase(): Base;
  VAR
    res: Base;
BEGIN
   JS.do("res = JSObject";
END getBase;

BEGIN

  v1 := getBase();
  v1(BaseExt).Run();

...

здесь

для v1(BaseExt).Run() при выполнении прозводится проверка типа (через RTL). Которая не проходит. Ты уже объяснил почему. Вопрос: можно ли как-то изменить эту проверку? Или выход только один, написать для каждого типа getBaseExt... ?