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