Ver Mensaje Individual
  #1  
Antiguo 09-09-2004
jplj jplj is offline
Miembro
 
Registrado: oct 2003
Posts: 189
Reputación: 23
jplj Va por buen camino
Valor Inaccesible.

Estoy empleando un componente ActiveX que implementa entre otras la interface IUnidad, que a su vez cuenta con el siguiente método.

Cita:
Método IUnit::GetTextField
Devuelve el texto de un campo de texto.
HRESULT GetTextField( int code, BSTR* text );
Argumentos

code [in] Código del campo.
text [out, retval] Texto del campo
Valor de retorno

En caso de que todo vaya bien devuelve S_OK.
Comentarios

Este método devuelve el texto de un campo de texto dado su código. Si el campo no existe devuelve la cadena vacía
Por algún motivo han lo han modificado, ahora es GetTextField(int code) y devuelve el texto.

El código que empleo es similar a:
Código Delphi [-]

var
   Error: String;
   i, h, j, code: Integer;
   wstr: WideString;
begin
     ...
            wstr:= '';       
              
     ...
           with (Unidad as IUnit) do
           begin 
                  code:= GetTextPos(i);  // (*)
                  if code > -1 then
                  begin
                     wstr:= GetTextField(code);   

                     ModDatos.Textos.Texto.AsString:= wstr; (Modificacion) 
     ...

(*) Esta línea entre otras cosas verifica que para el valor obtendio para code existe un texto.

Bien el problema surge cuando en determinadas circustancias el valor asignado a wstr en la línea wstr:= GetTextField(code) es un "Inaccessible value", y además no se produce ningún error.
Alguna idea de porqué el valor es inaccesible.
¿Qué podría hacer para comprobar si el valor es inaccesible?

Saludos
__________________
Sonríe. Mañana puede ser peor.

Última edición por jplj fecha: 09-09-2004 a las 19:34:12.
Responder Con Cita