Club Delphi  
    Paypal   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

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #5  
Antiguo 08-06-2012
Avatar de StartKill
StartKill StartKill is offline
Miembro
 
Registrado: ene 2004
Posts: 299
Poder: 23
StartKill Va por buen camino
Hola Jere_84
Vamos a guiarnos por la sugerencia de mamcx, que está muy buena

Antes de nada unas palabras...: "El poderoso Datasnap que acorta distancias"

Jere_84 dice:
Cita:
Hola Club, En mi aplicación Datasnap quiero hacer una función del lado servidor que tome como parámetro un objeto tipo TClientDataSet y otro tipo TField, el problema es que aparentemente y no se bien el porque pero así parece en la ayuda Delphi, solo soporta entre las capas los siguientes tipos de datos, algo que resulta bastante limitado. .....
mamcx responde a la duda, solo vamos tomar la solución que él dá: (al margen de la explicación que nos dió, corta y buena)
Cita:
AFORTUNADAMENTE ClientDataset permite guardar datos en un stream/xml:

http://stackoverflow.com/questions/3...xml-contents-i

Código Delphi [-]
ClientDataSet1.SaveToFile('file.xml',dfXML);
//Cargas el archivo en un string y lo envias aqui
Defines que el servidor pasa datos string.
y usas el metodo de LoadFromFile en el otro extremo. Listo
Haciendo mas fácil esto:
En el lado cliente de tu aplicativo Datasnap
Código Delphi [-]
procedure TForm13.Button1Click(Sender: TObject);
var
   f: TextFile;
   xml, line: string;
   fileName: string;
begin
   fileName:= ExtractFilePath( Application.ExeName ) + 'datos.xml';
   ClientDataSet1.Open;
   ClientDataSet1.SaveToFile(fileName, dfXML);
   AssignFile(f, fileName);
   // podrias mejorar la lectura del archivo en un objeto memo
   reset(f);
   while not Eof(f) do
   begin
      ReadLn(f, line);
      xml := xml + line;
   end;
   closeFile(f);
   //-----
   //....
   xxxxx.carga(xml);  //llamas a tu método en el server; 
end;

En el lado server el método que recepciona los datos debria ser mas o menos asi:
Código Delphi [-]
procedure TServerMethodsServerProductos.carga(xml: string);
var
   f: TextFile;
   fileName: string;
begin
   fileName:= ExtractFilePath( Application.ExeName ) + 'dstos.xml';
   AssignFile(f, fileName);
   Rewrite(f);
   Write(f, xml);
   closeFile(f);
   ClientDataSet2.close;
   ClientDataSet2.LoadFromFile(fileName);
   ClientDataSet2.Open;
end;

Espero que sirva de algo el código...


Your friend

StartKill
Lima-Perú

Última edición por StartKill fecha: 08-06-2012 a las 01:18:03.
Responder Con Cita
 


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
Llamados a objetos entre formularios cmagno OOP 3 19-02-2010 22:41:01
se pueden pasar objetos como parametros? gabrielflowers PHP 1 01-04-2009 18:58:16
Cliente / Servidor carlosro_ec C++ Builder 2 11-12-2005 17:06:14
Cliente/Servidor Juvenal Varios 1 02-03-2005 21:27:43
BD en Cliente-servidor Phacko Conexión con bases de datos 0 18-08-2004 00:03:41


La franja horaria es GMT +2. Ahora son las 08:43:53.


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