Este é um método comum. Quaisquer limitações de implementação específicas da plataforma serão listadas nos tópicos dos objetos que usam esse método.
Esta propriedade permite associar a um objeto qualquer informação definida pelo usuário. Essa informação é passada como VARIANT, que pode conter apenas tipos simples (String, tipos inteiros), mas não pode conter tipos SAFEARRAY nem tipos VARIANT dentro desse VARIANT. Mais precisamente, somente os seguintes tipos de variant são permitidos: VT_EMPTY, VT_UI1, VT_I2, VT_I4, VT_R4, VT_R8, VT_CY, VT_BSTR, VT_NULL, VT_ERROR, VT_BOOL, VT_DATE.
HRESULT get_UserProperty(
BSTR name,
VARIANT* result
);
HRESULT put_UserProperty(
BSTR name,
VARIANT value
);
object get_UserProperty( string name );
void set_UserProperty(
string name,
object value
);
Property UserProperty(name As String) As Object
name
[in] Esta variável contém qualquer valor do tipo string que você queira usar para identificar a propriedade entre as demais, por exemplo, “MyProperty”.
result
[out, retval] Um ponteiro para uma variável VARIANT que recebe o valor da propriedade definida pelo usuário.
value
[in] Uma variável VARIANT que contém o novo valor da propriedade.
Esta propriedade não tem valores de retorno específicos. Ela retorna os valores de retorno padrão das funções do ABBYY FineReader Engine.
Properties são identificadas por seus nomes. Portanto, para um determinado objeto, é permitida apenas uma propriedade com o nome especificado. Se um objeto não tiver uma propriedade de usuário com o nome especificado, ela será criada quando um valor for atribuído a essa propriedade pela primeira vez. Ao tentar obter o valor de uma propriedade que não existe em um objeto, um VARIANT vazio é retornado. Ao copiar um objeto por meio do método CopyFrom, as propriedades definidas pelo usuário também são copiadas. Se um objeto puder ser persistido, as propriedades definidas pelo usuário também serão persistentes.
Os seguintes objetos fornecem esta propriedade:
Como trabalhar com Properties