Thema: DCOM Problem

Einzelnen Beitrag anzeigen

KalEl

Registriert seit: 17. Jun 2010
14 Beiträge
 
Delphi 2 Desktop
 
#1

DCOM Problem

  Alt 27. Jan 2011, 15:45
Hallo,

folgendes würde ich gerne mit DCOM realisieren, bin jedoch mit meinen ersten Versuchen gescheitert:

- es soll eine Serveranwendung geben die (neben anderen Dingen) es über DCOM Clientanwendungen ermöglicht beispielsweise mit einer Methode GetUniqueNumber(..) eine eindeutige Nummer aus einem Nummernkreis zurückliefert und diese gleichzeitig in die Datenbank schreibt - das ganze würde ich in einer critical section machen um wirklich sicherzustellen, dass Nummern nicht doppelt vergeben werden können.

Soweit so gut, ich hab in meiner Serveranwendung über Datei -> Neu ein Automatisierungsobjekt hinzugefügt, danach die gewünschten Methoden definiert, diese implementiert und danach die exe mit /regserver registriert. Clients können sich auch mit CreateRemoteComObject verbinden und bekommen durchaus auch Rückgabewerte beim Funktionsaufruf. Mein Problem ist nun allerdings, dass jeder Aufruf von Clients eine neue Instanz der Serveranwendung öffnet - und genau das möchte ich vermeiden, es soll immer nur eine einzige Serverinstanz geben damit wirklich sichergestellt werden kann, dass via critical section nur eine Nummer gleichzeitig vergeben wird... ganz abgesehen davon, dass die Serverapplikation ja auch noch andere Dinge in der Datenbank erledigt und es somit zu Katastrophen kommt wenn da mehrere Instanzen gleichzeitig arbeiten.

Gibt es da irgendeine Möglichkeit, dass sich mehrere Clients immer zum selben Serverprozess verbinden können? Es wäre auch vorteilhaft, wenn Clients die Serverapplikation durch einen Aufruf von CreateRemoteComObject nicht eigenmächtig starten können - es soll dann einfach nur gemeldet werden, dass der Server derzeit nicht läuft.

Ist so etwas über DCOM überhaupt sinnvoll realisierbar oder wäre das vollkommen am Konzept vorbei?

Danke für eure Hilfe!
  Mit Zitat antworten Zitat