Einzelnen Beitrag anzeigen

Mikkey

Registriert seit: 5. Aug 2013
265 Beiträge
 
#84

AW: Client/Server Architektur realisieren - Ideen

  Alt 19. Dez 2014, 13:57
Wieviel MSMQ benutzt wird, weiß ich nicht, aber die Verwendung ist recht simpel:

Delphi-Quellcode:
procedure TSample.Execute();
var
  qi: IMSMQQueueInfo3;
  ms: IMSMQMessage3;
  qu: IMSMQQueue3;
  vTransaction, vWantDestQueue: OleVariant;
  vWantBody, vReceiveTimeout, vWantConnectorType: OleVariant;
begin
  CoInitializeEx(nil, COINIT_MULTITHREADED);
  if TryCreateAndOpenQueue(qi, qu) then begin
      while not Terminated do
      try
        vTransaction := OleVariant(MQ_SINGLE_MESSAGE);
        vWantDestQueue := OleVariant(false);
        vWantBody := OleVariant(true);
        vReceiveTimeout := OleVariant(MSMQWAITTIME);
        vWantConnectorType := OleVariant(false);
        ms := qu.Receive(vTransaction, vWantDestQueue, vWantBody, vReceiveTimeout, vWantConnectorType);
        if Assigned(ms) then
          TuIrgendwasmitDerNachricht(ms);
      except on e: Exception do begin
          break;
        end;
      end;
  end;
  if Assigned(qu) then
    qu.Close();
  CoUninitialize();
end;
Dies ist das Empfangen von Nachrichten innerhalb eines TThread-Executes, das Senden ist einiges einfacher
  Mit Zitat antworten Zitat