Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 03-02-2004
silviodp silviodp is offline
Miembro
 
Registrado: may 2003
Ubicación: General Levalle, Argentina
Posts: 277
Poder: 21
silviodp Va por buen camino
Error usando tipo Variant

Hola, en mi programa estoy usando vables. tipo variant para asignar campos de una Tabla a las mismas, luego asigno el valor de éstas a varios Labels, pero tengo problemas con el campo DNI y NºCUIT ya que cuando quiero asignar el valor de las vbles. a los respectivos labels me arroja el siguiente error:
"Project Project1.exe raised exception class EVariantError with message 'Invalid variant type conversion', ..."
Este error lo empezó a dar cuando tuve que agregar el campo DNI a mi tabla ya que lo necesitaba, luego también me lo comenzó a hacer con NªCUIT, que está definido igual que el anterior.
Que puedo estar haciendo mal??
Gracias.
Responder Con Cita
  #2  
Antiguo 03-02-2004
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
Hola compañero de fatigas

Estas haciendo la pregunta erróneamente

Dime realmente, si no sabes nada de lo que hace otra persona y lees ese mensaje, podrías responder algo así como ...: "El fallo lo tienes en la linea de codigo 128 "

No está de más leerse la guia de estilo, te da muchas ideas de como formular una pregunta.

Si deseas que seamos más explicitos, por favor, dinos:
- Tipo de tablas (paradox, dbase,....)
- pon el codigo donde haces la asignación a los labels, para ver que tipo de conversion haces.

Saludos
Responder Con Cita
  #3  
Antiguo 03-02-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por silviodp
Que puedo estar haciendo mal??
Posiblemente algunos registros tienen valores null en esos campos.

// Saludos
Responder Con Cita
  #4  
Antiguo 03-02-2004
silviodp silviodp is offline
Miembro
 
Registrado: may 2003
Ubicación: General Levalle, Argentina
Posts: 277
Poder: 21
silviodp Va por buen camino
Error usando tipo Variant

Lepe:
te comento que formule la pregunta lo mejor que pude es cierto por ahi no aclare cosas importantes sin darme cuenta, igual sin estas aclaraciones hubo alguien que me respondio.
Si tenes ganas de responderme la Tabla es Paradox 7, sino no hay drama.
Responder Con Cita
  #5  
Antiguo 03-02-2004
uhilari uhilari is offline
Miembro
 
Registrado: ene 2004
Posts: 21
Poder: 0
uhilari Va por buen camino
Wink

Hola amigo Forista.

La verdad seria bueno que pusieras algo de codigo para poder ayudarte con mas exactitud. Pero me parece que tu problema esta al querer convertir tus datos de Variant a String no es asi?

Entonces te recomendaria que utilices la funcion VarToStr que transforma una dato Variant a String sin importar el tipo interno, ya sea fecha, entero o real no importa.

Como te repito seria mejor un poco de código para ser mas preciso. De todas formas espero haberte ayudado algo.
__________________
La practica y solo la practica hace al maestro
Responder Con Cita
  #6  
Antiguo 04-02-2004
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
Silviodp, antes de nada te pido disculpas si te he molestado, no era mi intención. Sinceramente, la respuesta que yo te di, me la podrían haber dado a mi en otras ocasiones jejejee.

En cuanto a tu problema, no creo que se trate de una simple traduccion de ingles a español, "message 'Invalid variant type conversion'", por eso pedía un poco de código.

Considero que la pregunta es muy amplia, por tanto solo podemos dar soluciones generales

en ocasiones he usado algo como esto:
Código:
var v:Variant;
begin
v := tabla.lookup('idcliente', '32', 'idcliente');
if vartype(v) in [varnull] then
   showmessage('no existe en la base de datos el cliente con codigo 32')
else
   showmessage('SI existe en la base de datos el cliente con codigo 32')
end;
aqui hay una serie de constantes que pueden ser usadas:
Código:
const
  varEmpty    = $0000;
  varNull     = $0001;
  varSmallint = $0002;
  varInteger  = $0003;
  varSingle   = $0004;
  varDouble   = $0005;
  varCurrency = $0006;
  varDate     = $0007;
  varOleStr   = $0008;
  varDispatch = $0009;
  varError    = $000A;
  varBoolean  = $000B;
  varVariant  = $000C;
  varUnknown  = $000D;
  varShortInt = $0010;
  varByte     = $0011;
  varWord     = $0012;
  varLongWord = $0013;
  varInt64    = $0014;
  varStrArg   = $0048;
  varString   = $0100;
  varAny      = $0101; 
  varTypeMask = $0FFF;
  varArray    = $2000;
  varByRef    = $4000;
La verdad, no sé si puede servirte de algo, ese ejemplo es copiado de la ayuda de delphi, igual te interesa buscar en la ayuda sobre funciones con tipos Variants.

Espero poder ayudarte más en otras ocasiones. Saludos

Última edición por Lepe fecha: 04-02-2004 a las 11:20:16.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 13:33:10.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi