Ver la Versión Completa : Convertir OleVariant a TField
Jere_84
05-06-2012, 13:43:01
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.
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):
V := Cardinal (O);
La operación inversa sería:
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 (http://www.clubdelphi.com/foros/showthread.php?t=79001).
Saludos. :)
Jere_84
05-06-2012, 18:19:47
¿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):
V := Cardinal (O);
La operación inversa sería:
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 (http://www.clubdelphi.com/foros/showthread.php?t=79001).
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:
.... , 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ú
vBulletin v3.6.8, Derechos ©2000-2024, Jelsoft Enterprises Ltd.