Hallo Leute,
ich habe eine Delphi2007.net Anwendung. Diese öffnet einen IPCChannel, wenn ich die Anwendung nochmal starte klappt alles.
Wenn ich die Anwendung aus einem Dienst heraus starte dann geht das leider nicht mehr. Der Dienst die Einstellung Datenaustausch zwischen "Dienst und Desktop zulassen".
Warum klappt das mit dem
IPC dennoch nicht.
Hat da jemand ne Idee. Wäre echt klasse.
Nachtrag:
Problem soweit gelöst der Dienstbenutzer muss dem selben entsprechen wie der Angemeldete Benutzer der die Anwedung startet.
Meine Frage bleibt aber dennoch in sofern offen, warum das Benutzersesnitiv gesendet wird ich dachte es gibt Möglichkeit damit systemweit zu senden und die Anwendung die es will ( egal welcher Benutzer ) die Infos auch erhält.
Hier mal ein Source auszug
Aufruf aus der Anwendung die vom Dienst gestartet wird.
Delphi-Quellcode:
Starttimer.enabled := false;
ipcserver := IpcServerChannel.Create('TEST');
ChannelServices.RegisterChannel(ipcserver);
System.Runtime.Remoting.RemotingConfiguration.RegisterWellKnownServiceType(typeof(RemoteObject), 'RemoteObject.rem',
System.Runtime.Remoting.WellKnownObjectMode.SingleCall);
Threadliste := TSTringlist.create;
Aufruf aus der Anwendung die die Infos abruft.
Delphi-Quellcode:
channel := IpcChannel.Create;
System.Runtime.Remoting.Channels.ChannelServices.RegisterChannel(channel);
remoteType := System.Runtime.Remoting.WellKnownClientTypeEntry.create(typeof(RemoteObject),'
ipc://TEST/RemoteObject.rem');
System.Runtime.Remoting.RemotingConfiguration.RegisterWellKnownClientType(remoteType);
Was mich zusätzlich wundert. Starte ich die Anwendung normal dann zieht sie sich mehr als 25 MB wenn ich die dann über dien Dienst starte nut 8 MB das kapier ich grade überhaupt nicht.
Nachtrag:
Problem soweit gelöst der Dienstbenutzer muss dem selben entsprechen wie der Angemeldete Benutzer der die Anwedung startet.
Meine Frage bleibt aber dennoch in sofern offen, warum das Benutzersesnitiv gesendet wird ich dachte es gibt Möglichkeit damit systemweit zu senden und die Anwendung die es will ( egal welcher Benutzer ) die Infos auch erhält.