Ir al contenido


Foto

La clase "TXSDateTime"


  • Por favor identifícate para responder
2 respuestas en este tema

#1 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.448 mensajes
  • LocationMéxico

Escrito 08 octubre 2009 - 10:19

Hola

Estoy desarrollando un pequeño sistema utilizando el concepto de WebServices y durante el desarrollo del mismo me he encontrado con algunos tipos de datos que desconocía, en este hilo voy a escribir sobre la clase TXSDateTime, la cual actua como un "wrapper" del tipo TDateTime que la WC3 define para esquemas XML.

En mi WebService declaré la siguiente clase la cual voy a utilizar para pasar parámetros a una consulta SQL.



delphi
  1.   trFechas = class(TRemotable)
  2.     private
  3.       FInicial: TDateTime;
  4.       FFinal: TDateTime;
  5.     published
  6.       property Inicial: TDateTime read FInicial write FInicial;
  7.       property Final: TDateTime read FFinal write FFinal;
  8.   end;



Pues bien, al intentar enviar esta clase a través de la aplicación cliente, me mostró un hermoso error de tipos no compatibles ya que esta clase fué importada por el WSDL Importer de esta manera:



delphi
  1.   // ************************************************************************ //
  2.   // Namespace : urn:wsEmpleadosIntf
  3.   // ************************************************************************ //
  4.   trFechas = class(TRemotable)
  5.   private
  6.     FInicial: TXSDateTime;
  7.     FFinal: TXSDateTime;
  8.   public
  9.     destructor Destroy; override;
  10.   published
  11.     property Inicial: TXSDateTime read FInicial write FInicial;
  12.     property Final: TXSDateTime read FFinal write FFinal;
  13.   end;



Pues bien, lo que tuve que hacer para resolver este pequeño detalle fué declarar una variable del tipo TXSDateTime y ejecutar el siguiente código.



delphi
  1. uses XSBuiltIns; //Se debe agregar esta Unidad
  2.  
  3. var
  4.   Fechas: trFechas;
  5.   dTXS : TXSDateTime;
  6. begin
  7.   Fechas := trFechas.Create;
  8.   dTXS := TXSDateTime.Create;
  9.   dTXS.AsDateTime := DateTimePicker1.Date;
  10.   Fechas.Inicial := dTXS;
  11.   dTXS.AsDateTime := DateTimePicker2.Date;
  12.   Fechas.Final := dTXS;
  13.   XMLString := GetIwsEmpleados.GetAsistencia(Fechas);
  14.   Fechas.Free;
  15.   dTXS.Free;
  16. end;



Pues bien, si alguna vez se topan con esta Clase ya saben como abordarla. ;)

Salud OS
  • 0

#2 axesys

axesys

    Advanced Member

  • Moderadores
  • PipPipPip
  • 640 mensajes
  • LocationLos Mochis

Escrito 08 octubre 2009 - 11:11

A mi me paso lo mismo con los WebServices hechos en java con el tipo java.util.Date
y se usa igual en el cliente hecho en Delphi con TXSDateTime


Saludos
  • 0

#3 Wilson

Wilson

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.137 mensajes

Escrito 09 octubre 2009 - 06:45

Gracias por la información compañeros.
  • 0




IP.Board spam blocked by CleanTalk.