Ver Mensaje Individual
  #4  
Antiguo 26-10-2007
mauqu mauqu is offline
Miembro
 
Registrado: may 2007
Posts: 28
Reputación: 0
mauqu Va por buen camino
Ardilla gracias por la ayuda, me sivrio mucho, pero ahora tengo un tema más :S

Probe ya usando el FileMapping y el tema es que necesito compartir un array de estructuras, y programé algo así:


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;
ATEST=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:^ATEST;
FicheroM: THandle;
begin

//Para el caso de un array, debo pasar como longitud la suma de todos sus miembros ??
FicheroM:=CreateFileMapping($FFFFFFFF,nil,PAGE_READWRITE,0,SizeOf(TTest),'Datos');
PTest:=MapViewOfFile(FicheroM,FILE_MAP_WRITE,0,0,0);

with Ptest^[0] do //Esto genera un error
begin
Nombre:='Pepe';
Apellido:='Alonso';
end;

with Ptest^[1] do
begin
Nombre:='Ludovico';
Apellido:='Pio';
end;

UnmapViewOfFile(PTest);

CloseHandle(FicheroM);

end;
end.






Entonces mi pregunta acá es, como se debe pasar un array de estructuras por medio de FileMapping ???.

Espero se entienda, gracias por la ayuda.

Mau
Responder Con Cita