Hi all,
Пытаюсь использовать MSMQ в программе на Delphi.
Сделал Import Type Library, получил MSMQ_TLB.PAS.
Пишу следующий код (см. ниже). Все ОК, сообщения отправляются.
Открываю Computer Management->Message Queuing->Private->Test и вижу,что
текст сообщения (Body) показывается следующим образом:
T.e.s.t. .a.p.p.l.i.c.a.t.i.o.n. и т.д.
т.е. после каждой буквы добавлен байт 00h (WideString ?).
Label сообщения отображается нормально.
С чем это связано и как это устранить?
var MSMQQueueInfo: IMSMQQueueInfo2;
MSMQQueue: IMSMQQueue2;
MSMQMsg: IMSMQMessage2;
IsTransactional: OleVariant;
IsWorldReadable: OleVariant;
EmptyParam: OleVariant;
.........
IsTransactional := False;
IsWorldReadable := False;
MSMQQueueInfo := CoMSMQQueueInfo.create;
MSMQQueueInfo.FormatName := 'DIRECT=OS:comp\Private$\Test';
MSMQQueue := MSMQQueueInfo.Open(MQ_SEND_ACCESS, MQ_DENY_NONE);
MSMQMsg := CoMSMQMessage.Create;
MSMQMsg.Body := 'Test application';// message text
MSMQMsg.Label_ := 'My Test';
MSMQMsg.Send(MSMQQueue, EmptyParam);
MSMQQueue.Close;
end;