Einzelnen Beitrag anzeigen

LD93

Registriert seit: 18. Aug 2007
14 Beiträge
 
#1

MMF und IIS (ISAPI) - Mapfile kann nicht erstellt werden

  Alt 3. Jan 2009, 17:12
Hallo alle zusammen,

ich habe bei euch schon oft helfende Informationen gefunden, aber jetzt muss ich doch aktiv fragen:
Ich habe vor Daten zwischen einem Delphi-Programm (exe) und einem Webservermodul (dll fürn iis) auszutauschen. Ich habe MMF ausgewählt, nur leider hänge ich hier schon beim ausprobieren fest.

Zusammengeklauter Code zum Initialisiren in IIS-Modul:
Delphi-Quellcode:
procedure TWebModule1.WebModuleCreate(Sender: TObject);
begin
  //MapFile erstellen falls noch nicht vorhanden
  MapHandle:= CreateFileMapping($FFFFFFFF,nil,PAGE_READWRITE,0,Sizeof(TData),MapName);
  If MapHandle > 0 then
   Begin
    //Auf den Speicherbereich zugreifen
    PData := MapViewOfFile(MapHandle,FILE_MAP_ALL_ACCESS,0,0,0);
      else
       Begin
        raise exception.create('Mapfile konnte nicht geöffnet werden.');

       End;
   End
    else
     begin
      raise exception.Create('Mapfile konnte nicht erstellt werden.');

     end;
end;
Definitionen:
Delphi-Quellcode:
Const MapName = 'Austausch';

Type TData = Packed Record
      Ready : Boolean;
      Data2 : String[20];
End;
  PTData = ^TData;

...
  private
     MapHandle: THandle;
   PData: PTData;
Aufruf:
response.Content:=pdata.Data2; Destroy:
Delphi-Quellcode:
 UnMapViewOfFile(PData);
 CloseHandle(MapHandle);

Nun habe ich noch das Programm, welches (eigentlich) in diese MMF schreiben soll (änderung bei aufruf: PData.Data2 := Edit1.Text;).

Wenn ich das Programm mehrfach starte klappt (zwischen den programmen) alles, mit dem Webservermodul auch (also, wenn ich statt Programm die DLL mehrfach lade).

Sobald ich die DLL ausführen lasse und (unter dem Adminstratorkonto) das Programm starte bekomme ich die Meldung "'Mapfile konnte nicht erstellt werden.'"


Ich kann mir nicht helfen - wisst ihr weiter??

mfg

Lucas
  Mit Zitat antworten Zitat