Este é um método comum. Todas as 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 qualquer informação definida pelo usuário a um objeto. 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 tipos VARIANT dentro desse VARIANT. Mais precisamente, apenas os seguintes tipos 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 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.
As Properties são identificadas por seus nomes. Portanto, só é permitida uma propriedade com um determinado nome para um dado 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 usando o método CopyFrom, as Properties definidas pelo usuário também são copiadas. Se um objeto puder ser persistido, as Properties definidas pelo usuário também serão persistidas.
Os objetos a seguir fornecem essa propriedade:
Trabalhando com Properties