Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 05-06-2012
Avatar de Jere_84
Jere_84 Jere_84 is offline
Miembro
NULL
 
Registrado: sep 2011
Ubicación: Córdoba, Argentina
Posts: 214
Poder: 0
Jere_84 cantidad desconocida en este momento
Exclamation Convertir OleVariant a TField

Hola, quiero convertir una parámetro tipo OleVariant a uno tipo TFields, estuve mirando la ayuda que trae el Delphi 2010 y no encontré nada interesante, por ahi alguno de ustedes probo algo.

Código Delphi [-]
Procedure Nombre(ownerdata: OleVariant);
var
  vCampo: TField;
begin
  if ownerdata is TField then
    vCampo := ownerdata;
end;

Saludos!
Responder Con Cita
  #2  
Antiguo 05-06-2012
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 29
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
¿Podrías ampliar la pregunta?

En Delphi, variantes y objetos no son directamente compatibles, pero una manera de convertir un objeto a Variant es guardar su referencia como Cardinal (o Integer):
Código Delphi [-]
V := Cardinal (O);

La operación inversa sería:
Código Delphi [-]
O := TObject (Cardinal (V));

De todas formas, creo que deberías extenderte con el mayor detalle posible sobre lo que tienes pensado hacer. Imagino que lleva relación con esto.

Saludos.
Responder Con Cita
  #3  
Antiguo 05-06-2012
Avatar de Jere_84
Jere_84 Jere_84 is offline
Miembro
NULL
 
Registrado: sep 2011
Ubicación: Córdoba, Argentina
Posts: 214
Poder: 0
Jere_84 cantidad desconocida en este momento
Cita:
Empezado por Al González Ver Mensaje
¿Podrías ampliar la pregunta?

En Delphi, variantes y objetos no son directamente compatibles, pero una manera de convertir un objeto a Variant es guardar su referencia como Cardinal (o Integer):
Código Delphi [-]
V := Cardinal (O);

La operación inversa sería:
Código Delphi [-]
O := TObject (Cardinal (V));

De todas formas, creo que deberías extenderte con el mayor detalle posible sobre lo que tienes pensado hacer. Imagino que lleva relación con esto.

Saludos.
Exacto tiene relación, es un sist. datasnap que va a pasar ciertos campos TField a través del la variable Ownerdata en el caso de que estos campos estén null volverán de la misma forma en que fueron y se mostrara un mensaje en la aplicación cliente para q el usuario complete dischos campos "obligatorios". No comprendí muy bien lo que hace el cardinal, lo voy a probar y te aviso.

Gracias Al.
Responder Con Cita
  #4  
Antiguo 05-06-2012
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 23
maeyanes Va por buen camino
Hola...

Jere_84, Cardinal es un tipo de datos y lo que Al González está haciendo en el ejemplo es un "casting" de tipos.



Saludos...
__________________
Lee la Guía de Estilo antes que cualquier cosa. - Twitter
Responder Con Cita
  #5  
Antiguo 08-06-2012
Avatar de StartKill
StartKill StartKill is offline
Miembro
 
Registrado: ene 2004
Posts: 299
Poder: 21
StartKill Va por buen camino
Hola Jere_84

Muy aparte de tu pregunta central, me voy a la necesidad que estas plantenado

Dices:
Cita:
.... , es un sist. datasnap que va a pasar ciertos campos TField a través del la variable Ownerdata en el caso de que estos campos estén null volverán de la misma forma en que fueron y se mostrara un mensaje en la aplicación cliente para q el usuario complete dischos campos "obligatorios". No comprendí muy bien lo que hace el cardinal, lo voy a probar y te aviso.
Te te refieres a validar datos???

Te sugiero que estos campos deberían ser validados en el mismo cliente ( es una buena regla para evitar tráfico de datos innecesario )

Your friend

StartKill
Lima-Perú
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
OleVariant X TStringList Paulao Varios 2 22-09-2010 15:37:35
Problemas OleVariant y C# argami .NET 0 06-10-2006 10:31:55
uso de OleVariant bismarito OOP 0 12-01-2005 22:25:23
Convertir un Tfield a String Ricsato Varios 2 14-09-2004 19:51:50
OleVariant a blob AngelMarvin Oracle 0 27-07-2004 23:28:59


La franja horaria es GMT +2. Ahora son las 15:05:32.


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