Struct pbni::Session [−][src]
#[repr(transparent)]pub struct Session { /* fields omitted */ }
Expand description
Session对象
Implementations
判断是否有重启Session的请求 (在PowerScript中调用了Restart
函数)
是否创建了可视化对象 (打开了顶层窗口)
检查当前是否有异常未处理
清除异常
抛出PBXRuntimeError
异常
Exmaples
session.throw_exception("test"); // 使用宏 throw!(session,"this is a {}!","exception");
与Session绑定static
引用参数
与Session绑定指针参数
获取Session绑定的指针参数
获取枚举值的枚举名称,不区分大小写
Examples
let val = session.get_enum_item_value("Aligment","Center"); let name = session.get_enum_item_name("Aligment",val); //center
实例化任意PB对象 (包括用户自定义对象和系统对象)
Examples
let obj = session.new_object("n_cst_object"); let obj = session.new_object("datastore");
实例化变长标量一维数组
Parameters
- item_type 元素标量类型
Examples
//int arr[] let mut arr = session.new_array(ValueType::Int).unwrap(); //arr[1] = 123 arr.set_item_int(&[1],123);
实例化定长标量多维数组
Parameters
- item_type 元素标量类型
- dims
&[(下标,上标)]
Examples
//int arr[10] let mut arr = session.new_bounded_array(ValueType::Int,&[(1,10)]).unwrap(); //arr[1] = 123 arr.set_item_int(&[1],123); //int arr[2,4] let mut arr = session.new_bounded_array(ValueType::Int,&[(1,2),(1,4)]).unwrap(); //arr[1,2] = 123 arr.set_item_int(&[1,2],123); //int arr[1 to 5,2 to 10] let mut arr = session.new_bounded_array(ValueType::Int,&[(1,5),(2,10)]).unwrap(); //arr[1,2] = 123 arr.set_item_int(&[1,2],123);
实例化变长用户自定义对象一维数组
Parameters
- cls_name 元素对象类名
Examples
//n_cst_test arr[] let mut arr = session.new_user_object_array("n_cst_test").unwrap(); //arr[1] = Create n_cst_test let obj = session.new_user_object("n_cst_test").unwrap(); arr.set_item_object(&[1],&obj);
实例化变长系统对象一维数组
Parameters
- cls_name 元素对象类名
Examples
//datastore arr[] let mut arr = session.new_system_object_array("datastore").unwrap(); //arr[1] = Create datastore let obj = session.new_user_object("datastore").unwrap(); arr.set_item_object(&[1],&obj);
实例化变长任意对象一维数组 (包括用户自定义对象和系统对象)
Parameters
- cls_name 元素对象类名
Examples
//datastore arr[] let mut arr = session.new_object_array("datastore").unwrap(); //arr[1] = Create datastore let obj = session.new_user_object("datastore").unwrap(); arr.set_item_object(&[1],&obj);
实例化定长用户自定义对象多维数组
Parameters
- cls_name 元素对象类名
- dims
&[(下标,上标)]
Examples
//n_cst_test arr[10] let mut arr = session.new_bounded_user_object_array("n_cst_test",&[(1,10)]).unwrap(); //arr[1] = Create n_cst_test let obj = session.new_user_object("n_cst_test").unwrap(); arr.set_item_object(&[1],&obj); //n_cst_test arr[2,4] let mut arr = session.new_bounded_user_object_array("n_cst_test",&[(1,2),(1,4)]).unwrap(); //arr[1,2] = Create n_cst_test let obj = session.new_user_object("n_cst_test").unwrap(); arr.set_item_object(&[1,2],&obj); //n_cst_test arr[1 to 5,2 to 10] let mut arr = session.new_bounded_user_object_array("n_cst_test",&[(1,5),(2,10)]).unwrap(); //arr[1,2] = Create n_cst_test arr.set_item_object(&[1,2],&obj);
实例化定长用户自定义对象多维数组
Parameters
- cls_name 元素对象类名
- dims
&[(下标,上标)]
Examples
//datastore arr[10] let mut arr = session.new_bounded_system_object_array("datastore",&[(1,10)]).unwrap(); //arr[1] = Create datastore let obj = session.new_user_object("datastore").unwrap(); arr.set_item_object(&[1],&obj); //datastore arr[2,4] let mut arr = session.new_bounded_system_object_array("datastore",&[(1,2),(1,4)]).unwrap(); //arr[1,2] = Create datastore let obj = session.new_user_object("datastore").unwrap(); arr.set_item_object(&[1,2],&obj); //datastore arr[1 to 5,2 to 10] let mut arr = session.new_bounded_system_object_array("datastore",&[(1,5),(2,10)]).unwrap(); //arr[1,2] = Create datastore arr.set_item_object(&[1,2],&obj);
实例化定长任意对象多维数组
Parameters
- cls_name 元素对象类名
- dims
&[(下标,上标)]
Examples
//datastore arr[10] let mut arr = session.new_bounded_object_array("datastore",&[(1,10)]).unwrap(); //arr[1] = Create datastore let obj = session.new_user_object("datastore").unwrap(); arr.set_item_object(&[1],&obj); //datastore arr[2,4] let mut arr = session.new_bounded_object_array("datastore",&[(1,2),(1,4)]).unwrap(); //arr[1,2] = Create datastore let obj = session.new_user_object("datastore").unwrap(); arr.set_item_object(&[1,2],&obj); //datastore arr[1 to 5,2 to 10] let mut arr = session.new_bounded_object_array("datastore",&[(1,5),(2,10)]).unwrap(); //arr[1,2] = Create datastore arr.set_item_object(&[1,2],&obj);
pub unsafe fn get_var_datetime_unchecked(
&self,
fid: impl GlobalVarId
) -> Option<NaiveDateTime>
[src]
pub unsafe fn get_var_datetime_unchecked(
&self,
fid: impl GlobalVarId
) -> Option<NaiveDateTime>
[src]pub unsafe fn get_var_object_unchecked<'a>(
&'a self,
fid: impl GlobalVarId
) -> Option<Object<'a>>
[src]
pub unsafe fn get_var_object_unchecked<'a>(
&'a self,
fid: impl GlobalVarId
) -> Option<Object<'a>>
[src]pub unsafe fn get_var_array_unchecked<'a>(
&'a self,
fid: impl GlobalVarId
) -> Option<Array<'a>>
[src]
pub unsafe fn get_var_array_unchecked<'a>(
&'a self,
fid: impl GlobalVarId
) -> Option<Array<'a>>
[src]pub unsafe fn set_var_int_unchecked(
&mut self,
fid: impl GlobalVarId,
value: pbint
) -> Result<()>
[src]
pub unsafe fn set_var_int_unchecked(
&mut self,
fid: impl GlobalVarId,
value: pbint
) -> Result<()>
[src]pub unsafe fn set_var_uint_unchecked(
&mut self,
fid: impl GlobalVarId,
value: pbuint
) -> Result<()>
[src]
pub unsafe fn set_var_uint_unchecked(
&mut self,
fid: impl GlobalVarId,
value: pbuint
) -> Result<()>
[src]pub unsafe fn set_var_long_unchecked(
&mut self,
fid: impl GlobalVarId,
value: pblong
) -> Result<()>
[src]
pub unsafe fn set_var_long_unchecked(
&mut self,
fid: impl GlobalVarId,
value: pblong
) -> Result<()>
[src]pub unsafe fn set_var_ulong_unchecked(
&mut self,
fid: impl GlobalVarId,
value: pbulong
) -> Result<()>
[src]
pub unsafe fn set_var_ulong_unchecked(
&mut self,
fid: impl GlobalVarId,
value: pbulong
) -> Result<()>
[src]pub unsafe fn set_var_longlong_unchecked(
&mut self,
fid: impl GlobalVarId,
value: pblonglong
) -> Result<()>
[src]
pub unsafe fn set_var_longlong_unchecked(
&mut self,
fid: impl GlobalVarId,
value: pblonglong
) -> Result<()>
[src]pub unsafe fn set_var_real_unchecked(
&mut self,
fid: impl GlobalVarId,
value: pbreal
) -> Result<()>
[src]
pub unsafe fn set_var_real_unchecked(
&mut self,
fid: impl GlobalVarId,
value: pbreal
) -> Result<()>
[src]pub unsafe fn set_var_double_unchecked(
&mut self,
fid: impl GlobalVarId,
value: pbdouble
) -> Result<()>
[src]
pub unsafe fn set_var_double_unchecked(
&mut self,
fid: impl GlobalVarId,
value: pbdouble
) -> Result<()>
[src]pub unsafe fn set_var_dec_unchecked(
&mut self,
fid: impl GlobalVarId,
value: Decimal
) -> Result<()>
[src]
pub unsafe fn set_var_dec_unchecked(
&mut self,
fid: impl GlobalVarId,
value: Decimal
) -> Result<()>
[src]pub unsafe fn set_var_str_unchecked(
&mut self,
fid: impl GlobalVarId,
value: impl AsPBStr
) -> Result<()>
[src]
pub unsafe fn set_var_str_unchecked(
&mut self,
fid: impl GlobalVarId,
value: impl AsPBStr
) -> Result<()>
[src]pub unsafe fn set_var_bool_unchecked(
&mut self,
fid: impl GlobalVarId,
value: bool
) -> Result<()>
[src]
pub unsafe fn set_var_bool_unchecked(
&mut self,
fid: impl GlobalVarId,
value: bool
) -> Result<()>
[src]pub unsafe fn set_var_date_unchecked(
&mut self,
fid: impl GlobalVarId,
value: NaiveDate
) -> Result<()>
[src]
pub unsafe fn set_var_date_unchecked(
&mut self,
fid: impl GlobalVarId,
value: NaiveDate
) -> Result<()>
[src]pub unsafe fn set_var_time_unchecked(
&mut self,
fid: impl GlobalVarId,
value: NaiveTime
) -> Result<()>
[src]
pub unsafe fn set_var_time_unchecked(
&mut self,
fid: impl GlobalVarId,
value: NaiveTime
) -> Result<()>
[src]pub unsafe fn set_var_datetime_unchecked(
&mut self,
fid: impl GlobalVarId,
value: NaiveDateTime
) -> Result<()>
[src]
pub unsafe fn set_var_datetime_unchecked(
&mut self,
fid: impl GlobalVarId,
value: NaiveDateTime
) -> Result<()>
[src]pub unsafe fn set_var_char_unchecked(
&mut self,
fid: impl GlobalVarId,
value: WideChar
) -> Result<()>
[src]
pub unsafe fn set_var_char_unchecked(
&mut self,
fid: impl GlobalVarId,
value: WideChar
) -> Result<()>
[src]pub unsafe fn set_var_byte_unchecked(
&mut self,
fid: impl GlobalVarId,
value: pbbyte
) -> Result<()>
[src]
pub unsafe fn set_var_byte_unchecked(
&mut self,
fid: impl GlobalVarId,
value: pbbyte
) -> Result<()>
[src]pub unsafe fn set_var_object_unchecked(
&mut self,
fid: impl GlobalVarId,
value: &Object<'_>
) -> Result<()>
[src]
pub unsafe fn set_var_object_unchecked(
&mut self,
fid: impl GlobalVarId,
value: &Object<'_>
) -> Result<()>
[src]获取用户定义全局函数ID
Examples
let fid = session.get_user_function_id("gf_test").unwrap(); let invoker = session.begin_invoke_function(fid).unwrap(); invoker.invoke();
获取系统全局函数ID
Examples
let fid = session.get_system_function_id(("MessageBox","ISS")).unwrap(); let invoker = session.begin_invoke_function(fid).unwrap(); invoker.arg(0).set_str("title"); invoker.arg(1).set_str("content"); invoker.invoke();
获取任意全局函数ID
Examples
let fid = session.get_function_id(("MessageBox","ISS")).unwrap(); let invoker = session.begin_invoke_function(fid).unwrap(); invoker.arg(0).set_str("title"); invoker.arg(1).set_str("content"); invoker.invoke();
调用全局函数
Examples
let rv: pbint = session.invoke_function(("MessageBox","ISS"),pbargs!["title","content"]).unwrap();
pub fn begin_invoke_function<'a>(
&'a self,
mid: impl AsGlobalFunctionId
) -> Result<Invoker<GlobalFunction<'a>>>
[src]
pub fn begin_invoke_function<'a>(
&'a self,
mid: impl AsGlobalFunctionId
) -> Result<Invoker<GlobalFunction<'a>>>
[src]初始化全局函数调用上下文
Examples
let invoker = session.begin_invoke_function(("MessageBox","ISS")).unwrap(); invoker.arg(0).set_str("title"); invoker.arg(1).set_str("content"); invoker.invoke();
Auto Trait Implementations
impl RefUnwindSafe for Session
impl UnwindSafe for Session