Hallo,
Ich habe ein Interprocess Communication über File Mapping aufgebaut. Ein Service kommuniziert mit einer Desktop Anwendung über dieses
IPC. Funktioniert auch tadel los unter 2000/XP Home/.NET .. selbst unter LongHorn (beta) funzt es. NUR unter Windows XP Professional geht es nicht... und das habe ich bereits mit ca 6 unterschiedlichen Installationen getestet. Auf einem Rechner hab ich sogar alle SP's und Patches draufgespielt, aber keine Veränderung.
Es scheint wohl ein Problem mit dem Pointer zu geben:
Delphi-Quellcode:
procedure OpenMMF;
begin
FConnected := False;
hMap := OpenFileMapping(FILE_MAP_ALL_ACCESS, False, MMF_NAME);
if hMap <> 0 then
begin
MapView := MapViewOfFile(hMap, FILE_MAP_WRITE, 0, 0, 0);
FConnected := Assigned(MapView);
end
else error('Keine Verbindung zur MMF Quelle.');
end;
procedure ReadMMF(var Buffer: String);
begin
// An dieser stelle stürzt alles ab !!!
if Assigned(MapView) then Buffer := String(MapView);
end;
Hat jemand schon ein ähnliches problem gehabt und vielleicht eine Lösung, oder eine Ahnung warum das nur unter XP Prof passiert und nie unter XP Home ?! - Kann ja nicht sein, dass das eine
OS Pointer anders behandelt als das andere....
gruss,
Andi