Set<type>
Description
Set of datatype-specific methods that set the value of the
IPB_Value instance.
Syntax
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
SetArray ( pbarray array ) SetBlob( pbblob blob ) SetBool ( pbboolean boolean ) SetByte ( pbbyte byte ) SetChar ( pbchar char) SetDate ( pbdate date ) SetDateTime( pbdatetime datetime) SetDecimal ( pbdecimal dec) SetDouble ( pbdouble double) SetInt ( pbint int) SetLong( pblong long ) SetLongLong( pblonglong longlong ) SetObject ( pbobject object) SetPBString ( pbstring string) SetReal( pbreal real ) SetString ( LPCTSTR string) SetTime( pbtime time ) SetUint( pbuint uint) SetUlong ( pbulong ulong ) |
Return value
PBXRESULT.
Examples
This example uses the IPB_Value SetPBString method to set values in
PBCallInfo. It also uses the IPB_Session SetString method to set the
ret_val string to the return value in the PBCallInfo structure:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
pbclass cls; pbmethodID mid; PBCallInfo* ci = new PBCallInfo; pbstring ret_val; LPCTSTR pStr; cls= Session -> GetClass(myobj); if (isAny) mid=Session-> GetMethodID(cls, "uf_any_byvalue", PBRT_FUNCTION, "AAAAA"); else mid=Session-> GetMethodID(cls, "uf_string_byvalue", PBRT_FUNCTION, "SSSSS"); Session-> InitCallInfo(cls, mid, ci); // Call IPB_Value SetPBString method ci-> pArgs -> GetAt(0) -> SetPBString(s_low); ci-> pArgs -> GetAt(1) -> SetPBString(s_mid); ci-> pArgs -> GetAt(2) -> SetPBString(s_high); pStr = Session -> GetString(s_null); if (pStr != 0) { if (strcmp(pStr, "null") == 0 ) ci-> pArgs -> GetAt(3) -> SetToNull(); else ci-> pArgs -> GetAt(3) -> SetPBString(s_null); } Session -> InvokeObjectFunction(myobj, mid, ci); ret_val = Session -> NewString(""); // Call IPB_Session SetString method Session -> SetString(ret_val, Session->GetString (ci->returnValue->GetString())); Session -> FreeCallInfo(ci); delete ci; return ret_val; |
Usage
These methods automatically set the value of IPB_Value to not null
and return an error if the datatype to be set does not match the
existing datatype. The error code is PBX_E_MISMATCHED_DATA_TYPE. If the
value is a read-only argument, it returns the error PBX_E_READONLY_ARGS.
If the datatype is string or blob, a deep copy is performed. The
existing value is destroyed first, and then the contents of the argument
are copied into a new value.
See also