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 este método.
Esta propriedade permite associar a um objeto qualquer informação definida pelo usuário. Essas informações são passadas como VARIANT, que pode conter apenas tipos simples (String, tipos inteiros), mas não pode conter tipos SAFEARRAY nem VARIANT dentro desse VARIANT. Mais precisamente, apenas 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. Retorna os valores de retorno padrão das funções do ABBYY FineReader Engine.
Properties são identificadas pelos respectivos nomes. Portanto, é permitida apenas uma propriedade com o nome especificado para um determinado objeto. 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, é retornado um VARIANT vazio. 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 persistidas.
Os objetos a seguir fornecem esta propriedade:
Trabalhando com Properties