Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Convertir OleVariant a TField (https://www.clubdelphi.com/foros/showthread.php?t=79057)

Jere_84 05-06-2012 13:43:01

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!

Al González 05-06-2012 18:13:59

¿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. :)

Jere_84 05-06-2012 18:19:47

Cita:

Empezado por Al González (Mensaje 434353)
¿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.

maeyanes 05-06-2012 19:50:42

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...

StartKill 08-06-2012 02:04:36

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ú


La franja horaria es GMT +2. Ahora son las 07:56:35.

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