|
Возвращает свойство объекта JS+ типа массив String, приведенное к типу массив BSTR (для приложений С++) или TBStr/WideString (для приложений Delphi).
Синтаксис
int __stdcall JSP_objGetBStrArr(
| hObj, | prp_cName, | prp_Array
| );
|
Параметры
|
Параметр
| Тип
| Описание
|
hObj
| size_t
| объект JS+, имеющий свойство типа массив String
|
prp_cName
| char*
| имя свойства типа массив String объекта hObj
|
prp_Array
| BSTR*
| возвращаемый массив свойства prp_cName
|
|
Возвращаемое значение
JSP_OK (0) в случае успеха либо JSP_ERROR (-1) в противном случае.
------------------------ Приложение C++ Builder ------------------------
JSP_Start("TRIAL","");
JSP_RegAppFun("void","App_tstObjBStrArr","size_t&,char*");
JSP_RET_void App_tstObjBStrArr(size_t &hObj,char *prp_cName) { long i,n,len; BSTR tmp_str,*str_arr;
JSP_objGetArrLen(hObj,prp_cName,len); str_arr=new BSTR[len]; JSP_objGetBStrArr(hObj,prp_cName,str_arr);
// Перевернуть массив for (i=0,n=len/2;i<=n;i++) { tmp_str=str_arr[i]; str_arr[i]=str_arr[len-i-1]; str_arr[len-i-1]=tmp_str; } JSP_objSetBStrArr(hObj,prp_cName,str_arr,len);
delete [] str_arr; }
------------------------ Скрипт JS+ ------------------------
var str_lst=new Array("раз","два","три"); var tst_obj={ strArray: str_lst };
var val_str=str_lst.toString();
App_tstObjBStrArr(tst_obj,"strArray");
alert( val_str+"\n-\n"+ tst_obj.strArray.toString() );
------------------------ Вывод скрипта JS+ ------------------------
раз,два,три - три,два,раз
------------------------ Приложение Delphi ------------------------
uses ActiveX// TBStr
JSP_Start('TRIAL','User=Delphi');
JSP_RegAppFun('','App_tstObjBStrArr','size_t&,char*');
procedure App_tstObjBStrArr(var hObj:Pointer;prp_cName:pAnsiChar) stdcall; var i,len:LongInt; str_arr:array of TBStr; tmp_str:TBStr; begin JSP_objGetArrLen(hObj,prp_cName,len);
SetLength(str_arr,len); JSP_objGetBStrArr(hObj,prp_cName,@str_arr[0]);
// Перевернуть массив for i:=0 to (len Div 2) do begin tmp_str:=str_arr[i]; str_arr[i]:=str_arr[len-i-1]; str_arr[len-i-1]:=tmp_str; end; JSP_objSetBStrArr(hObj,prp_cName,@str_arr[0],len); end; exports App_tstObjBStrArr;
------------------------ Скрипт JS+ ------------------------
var str_lst=new Array("раз","два","три"); var tst_obj={ strArray: str_lst };
var val_str=str_lst.toString();
App_tstObjBStrArr(tst_obj,"strArray");
alert( val_str+"\n-\n"+ tst_obj.strArray.toString() );
------------------------ Вывод скрипта JS+ ------------------------
раз,два,три - три,два,раз
Совместимость
C++ Builder/Delphi/Visual C++
|
JS+ | Руководство пользователя
|
|
|