Einzelnen Beitrag anzeigen

sk0r

Registriert seit: 1. Mai 2007
181 Beiträge
 
Delphi 7 Enterprise
 
#1

OpemFileMapping & MapViewOfFile gehen nicht

  Alt 23. Mai 2007, 20:21
Hi,

ich versuche hinzubekommen dass zwei Programme sich "unterhalten"

dies versuche ich mit FileMapping. Leider will die datei, die
das file map öffnet und lesen soll einfach net funktionieren.

Datei1
Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
  szFileMapping: string = 'Czybik';
  CONST_SIEBEN: PCHAR = 'sieben';
  hMap: Cardinal;
  hInfo: PCHAR;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
  hmap := CreateFileMapping($FFFFFFFF, nil, PAGE_EXECUTE_READWRITE, 0, $1000, PChar(szFileMapping));
  hInfo := MapViewOfFile(hMap, FILE_MAP_ALL_ACCESS, 0, 0, 0);
  showmessage(syserrormessage(getlasterror));
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  hInfo := PCHAR(INPUTBOX('WERT', 'LQL', 'Q'));
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  showmessage(inttostr(integer(hInfo^)));
  //hInfo^ := CONST_ACHT;
end;

end.
Datei2
Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
  szFileMapping: String = 'Czybik';
  CONST_SIEBEN: PCHAR = 'sieben';
  hMap: Cardinal;
  hInfo: Pchar;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
  showmessage(hInfo^);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  hMap := OpenFileMapping(FILE_MAP_ALL_ACCESS, false, PChar(szFileMapping));
  hInfo := MapViewOfFile(hMap, FILE_MAP_ALL_ACCESS, 0, 0, 0);
  showmessage(syserrormessage(getlasterror));
end;

end.
Bitte dringend um Hilfe!!
  Mit Zitat antworten Zitat