Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Tema Cerrado
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 25-10-2007
mauqu mauqu is offline
Miembro
 
Registrado: may 2007
Posts: 28
Poder: 0
mauqu Va por buen camino
compartir un array de estructuras entre aplicaciones

Perdon por la insistencia, pero luego de la recomendación de usar FileMaping para compartir datos entre aplicaciones me surgio lo siguiente:

Com puedo pasar un array of record utilizando el FileMaping, por ejemplo, si tengo:

Código Delphi [-]
 
unit Unit1;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ShellApi;
type
  TTest = packed record
    Nombre,
    Apellido:string[30]  
  end;
  TATTEST=array of TTest;
  
  TForm1 = class(TForm)
  Button1: TButton;
  procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
var
  Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
  PTest:^TATTEST;
  FicheroM:THandle
begin
  
  //Dimesiono la memoria para todos los miembros de mi array ????
  //para el ejemplo pongo 2
  FicheroM:=CreateFileMapping($FFFFFFFF,nil,PAGE_READWRITE,0,SizeOf(TTest)*2,'Doka_Datos');
  PTest:=MapViewOfFile(FicheroM,FILE_MAP_WRITE,0,0,0);
    
  //si acceso así me da error
  with Ptest^[0] do
  begin
    Nombre:='Pepe';
    Apellido:='Lopez'; 
  end;
    
   with Ptest^[1] do
  begin
    Nombre:='Francisco';
    Apellido:='Carreras'; 

  end;  
  
  UnmapViewOfFile(PTest);
  CloseHandle(FicheroM);
  
end;
end.

Se entiende ???, debo crear un FileMap por cada miembro del array ???

gracias.

Saludos.

Última edición por mauqu fecha: 25-10-2007 a las 22:59:45. Razón: equivocación de tipeo
  #2  
Antiguo 25-10-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Hay que tener un poco de paciencia, por favor. Cierro este hilo por estar duplicado aquí. Además creo que es una falta de respeto para el compañero que trató de echarte una mano en el hilo que abriste en primer lugar. Si necesitas "revivir" el hilo original, hazlo, si el compañero no "acertó de pleno", coméntalo en el hilo original, sigue ahí con el asunto, pero, no abras más hilos sobre el mismo tema porque serán cerrados e incluso borrados. Revisa la guía de estilo de estos foros.
__________________
David Esperalta
www.decsoftutils.com
Tema Cerrado



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
pasar un tipo de datos (array of record) entre aplicaciones mauqu Varios 4 26-10-2007 20:04:31
Compartir Variable entre dos aplicaciones gluglu API de Windows 2 07-10-2007 23:41:10
Compartir conexion entre dos PC chico_bds Internet 3 02-07-2007 06:21:27
Compatibilidad entre aplicaciones ASP.NET entre Delphi 8 .Net y Visual Studio.Net kenyamg .NET 0 21-02-2007 07:30:33
Compartir AciveX entre formulario Coco_jac Varios 2 03-10-2005 22:28:04


La franja horaria es GMT +2. Ahora son las 11:21:36.


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