Thema: Delphi Mailslots ?

Einzelnen Beitrag anzeigen

Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: München
11.412 Beiträge
 
Delphi 11 Alexandria
 
#17
  Alt 10. Mai 2003, 12:15
Zitat von Captnemo:
Vielleicht Du Sakura ?
Gerne doch. 8)

Im Service ist der kleine, aber alles entscheidene Fehler. Wie gesagt, dadurch, daß die Komponenten noch nicht ganz ausgereift sind, ist dieser Fehler wohl etwas fatal.

Die PChar-Variable des Servers, welche Du nutzt, um die Daten zu empfangen, ist nicht initialisiert. Die daraus entstehende Exception wird nicht abgefangen und verläuft sich in der CPU.

Korrektur sind die folgenden Zeilen. Anschließend läuft alles wie am Schnürchen.
Code:
procedure TService1.gnsPipeServer1ProcessMessage(Sender: TObject;
  aByteArray: Pointer; BufferSize, InCount: Cardinal;
  var OutCount: Cardinal; var DisconnectClient: Boolean);
var
   i: Cardinal;
   temp: PChar;
begin
  [color=#cc0000]Temp := GetMemory(Incount + 1);
  try[/color]
    for i:=0 to InCount do
      Temp[i]:=CHR(TByteArray(aByteArray^)[i]);
    Nachrichten.Add(StrPas(temp));
  [color=#cc0000]finally
    FreeMemory(Temp);
  end;[/color]
end;
......
Daniel W.
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat