Re: [sciter] свой behavior (с++) и вызов метода из скрипта
От: c-smile Канада http://terrainformatica.com
Дата: 12.10.07 05:38
Оценка: 39 (2)
Здравствуйте, ptica, Вы писали:

P>Не прокидываються в behavior_media вызова:

P>
P>            //===========================           
P>            video.show = true;
P>            video.test();
P>            //===========================
P>


P>sciter ver 1.0.4.24


P>Хотя video.postEvent( 300000 ); вызывается на ура.


P>Возможно что то до конца не прочувствовал в библиотеке =). Помогите



Метод behavior'а:
virtual bool handle_scripting_call (HELEMENT he, SCRIPTING_METHOD_PARAMS& params ) {}
Где: 
  struct SCRIPTING_METHOD_PARAMS 
  {
      LPCSTR        name;   //< method name
      SCITER_VALUE* argv;   //< vector of arguments
      UINT          argc;   //< argument count
      SCITER_VALUE  result; //< return value
  };

это в скрипте метод
result = element.xcall(#sym, argv0, argv1, ... )

Т.е. надо так:

video.xcall(#test);

video.xcall(#show,true);
var s = video.xcall(#show);


Для того чтобы с этим делом работать так:

video.show = true;
video.test();


то нужно обернуть это дело в Behavior

type Video : Behavior
{
   property show(v)
   {
      get return this.xcall(#show);
      set return this.xcall(#show, v);
   }
   function test()
   {
      return this.xcall(#test);
   }
}


соотв. в CSS прописать :

#Video
{
    width:100%%;
    height:100%%;
    behavior: media_video;
    prototype: Video;
}
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.