Ver Mensaje Individual
  #3  
Antiguo 20-03-2008
Cheerpipe Cheerpipe is offline
Miembro
 
Registrado: oct 2006
Posts: 46
Reputación: 0
Cheerpipe Va por buen camino
grcias por tu respuesta, pero no es exactamente lo que bsco.

Lo que es funcion hace es poner un valor nulo segun convencion y el tipo de variante

Si el variant es entero, le asignara 0, si es sring, '', si es objeto nil etc etc.

Lo que busco es algo radical y la verdad no muy correcto desde el punto de vista de la programacion. Lo que busco es transformar el variant en un tipo nulo o vacio, es decir, no cambiar su valor, si no cambiar el tipo de variatnte.

Bueno, la cosa es que al parecer delphi no hace eso pero las apis de windows si.

Dejo la funcion que me hice para tomar un variant de cualquier tipo y volvelrlo nulo.

Código Delphi [-]
function emptyVar: Variant;
  procedure _VarChangeType(var V: TVarData);
  begin
    VariantChangeType(V,V,0,varNull);
  end;
begin
  _VarChangeType(TVarData(Result))
end;

En mi caso lo use porque tengo algunos componentes ke tienen valores de tipo Variante, los cuales toman valores numericos, ransformando al variant en numero. En ciertos casos, necesito borrar estos valores, y a diferncia de un string en el ke puedo usar '' para borrar el contenido, si uso un 0 este sigue visualizandose en el componente, era por eso que yo necesitaba volvelo a un estado nulo (o sin forma).

La funcion funciona perfectamente. Tambien se puede usar para transformar un variant a otros tipos de datos.
Responder Con Cita