Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

 
 
Herramientas Buscar en Tema Desplegado
  #6  
Antiguo 11-10-2005
lento manu lento manu is offline
Miembro
 
Registrado: oct 2004
Posts: 29
Poder: 0
lento manu Va por buen camino
Invalid Variant Type

Siento pediros ayuda sobre este trucazo que editó Marcos Zorrilla. Estoy compilando en D6 con el BDE y al asignar el primer valor de tipo text en el campo 0 del registro Table1.Fields[n].AsVariant se colapsa el for por "Invalid Type Variant"
Cita:
Empezado por marcoszorrilla
A ver si te sirve este truco de Trucomania:
Código Delphi [-]
procedure TForm1.Button2Click(Sender: TObject);
 
type 
{Tipos para array dinámico de variants}
TRecuerda = array[0..0] of variant;
PRecuerda = ^TRecuerda;
var 
Recuerda:PRecuerda;
n:integer;
Campos:integer;
begin 
{Reservamos memoria para el array}
Campos:=Table1.FieldCount;
GetMem(Recuerda, Campos * SizeOf(variant));
 
{Vamos al ultimo registro}
Table1.Last;
{Recordamos los campos}
for n:=0 to Table1.FieldCount-1 do 
begin 
Recuerda^[n]:=Table1.Fields[n].AsVariant;
//error de Invalid Variant Type
end;  
...
FreeMem(Recuerda, Campos * SizeOf(Variant));
end;
Lo increible es que al poner el punto de interrupción en la línea, leo el valor del Table1.Fields[0].asVariant='NOMBRE' (pasa un simple valor tipo string), y por tanto, creo q es el Recuerda^[0] no acepta este valor.Buscando en Gogle por "EVariantBadVarTypeError", q acompaña el mensaje del compilador, encuentro esta página http://qc.borland.com/wc/qcmain.aspx?da=42 y selcciono el enlace 5239 (http://qc.borland.com/wc/qcmain.aspx?d=5239) donde parece q la solución esta en rescribir la unidad Variants.pas. después del login, menciona un atachement, pero no hay enlace para descargarlo.
¿Tenéis alguien esta unidad corregida?
¿No habría otra solución?
Si podéis tener alguna sugerencia... GRACIAS A TODOS
...quizás sería preferible abrir un nuevo hilo...
Responder Con Cita
 



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 06:41:05.


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