Announcement

Collapse
No announcement yet.

InProcess server. Mehrere Instanzen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • InProcess server. Mehrere Instanzen

    Hallo,

    ich habe folgendes Problem. Mit Hilfe von dem COM/DCOM Buch vom Herrn Kosch, habe ich ein inProcess-server entwickelt.
    Eine Funktion liest mir daten aus eine USB Schnitstelle.

    nun mein Problem. Wenn ich mehrmal eine EXE starte die auf diese Funktion zugreift nimmt eine der anderen Daten weg...

    Ich habe zwar criticalsections eingefügt, aber erfolg los.
    Vermutlich liegt mein Fehler irgendwo anderst.

    Hier mal der Quellcode..vielleicht seht ihr das Problem..
    type
    TMessages = class(TAutoObject, IMessages)
    Protected
    FbData0 : Byte;
    procedure Initialize;override;
    function lt_ReadQueuedMessage: OleVariant; safecall;

    public
    property bData0: OleVariant read Get_bData0 write Set_bData0;

    Private
    CritcalSection : TCriticalSection;
    end;

    implementation

    uses ComServ;

    Procedure TMessages.Initialize;
    Begin
    inherited initialize;
    fbdata0 := 0;
    CriticalSection := TCriticalSection.Create;
    end;
    function TMessages.lt_ReadQueuedMessage: OleVariant; safecall;
    Begin
    CriticalSection.Enter;
    //Abschnitt wo die USB Schnitstelle gelesen wird.
    ...
    ...
    CriticalSection.Leave;
    end;

    initialization
    TAutoObjectFactory.Create(ComServer, TMessages, Class_Messages,
    ciMultiInstance, tmApartment);
Working...
X