是不是《Delphi 5.X ADO_MTS_COM+高级程序设计篇 》书上没有阿!!

解决方案 »

  1.   

    直接使用微软的组件(也可使用MQ系列API,不过似乎没有现成的封装)
    procedure TForm1.Button1Click(Sender: TObject);
    var
      qInfo: OleVariant;      // MSMQQueueInfo
      qSend: OleVariant;      // MSMQQueue
      m: OleVariant;          // MSMQMessage
    begin
      try
        try
          qInfo := CreateOleObject('MSMQ.MSMQQueueInfo');
          m := CreateOleObject('MSMQ.MSMQMessage');
          qInfo.PathName := PathName.Text;
          qInfo.Label := Label_.Text;
          qSend := qInfo.Open(2, 0);
          m.Body := Info.Text;
          m.Send(qSend);
          qSend.Close;      
        except
          on E: Exception do LogError(E.Message);
        end;
      finally
        m := NULL;
        qSend := NULL;
        qInfo := NULL;
      end;
    end;
      

  2.   

    多谢这位高手指点,另外,今天我特意去图书馆查了李维同志的书,上面没有讲到关于调用MSMQ的问题阿。
    大家还有需要补充的没有,没有我就准备结贴了阿:0
      

  3.   

    CreateOleObject('MSMQ.MSMQQueueInfo'); 返回OleVariant
    为什么大家都象上面这样用?我是用Delphi的Import Type Library 引入MSMQ 2.0的类型库
    其中的类型都声明清楚了在操作中,大部分都类似VB只有
    MQEvents的Arrived事件有点不同暂时没有代码:(