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
public
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
PTest:^TATTEST;
FicheroM:THandle
begin
FicheroM:=CreateFileMapping($FFFFFFFF,nil,PAGE_READWRITE,0,SizeOf(TTest)*2,'Doka_Datos');
PTest:=MapViewOfFile(FicheroM,FILE_MAP_WRITE,0,0,0);
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.