研究半个月的IBM MQ,终于用delphi连上了,其中最为关键的莫过于改自c文件的pas文件,这是MQ连接的关键点,也是新手甚至google上无法查找的资料。通过半个月的google,终于完善了这份pas文件,另外我将上传一份本人封装的MQfunction,提供最基本的MQ调用。
一,认识MQ。虽然MQ基于eclipse技术,但MQ的各项功能都是通过bin文件夹里的exe来运作,这就无非是一种通用的方法,无论你是使用c,java还是python,甚至没落的delphi,原理都是一个,即调用mqm.dll,mqic32.dll这两个动态链接库。IBM为delphi准备两个原生pas,可以从IBM官网下载,分别是MQI.pas和MQIC.pas,但是这两个pas是不完整的,为什么不完整呢,以后再说。说到这,一连串棘手的问题来了。
问题一,MQI和MQIC有什么区别?仔细一看,除了在函数部分,MQI调用mqm.dll,MQIC调用mqic32.dll外,其它声明都是一样。通过查找IBM的解释,发现mqm是服务器调用,mqic32是客户端调用。举个例子,如果电脑A装了服务端,B电脑装了客户端,你用delphi写了一个调用mqm.dll的MQ程序,那么该程序只能在A电脑上运行,如果你是调用mqic32.dll,可以同时在AB两个电脑上使用。
问题二,怎样选择两个不同的调用类型?如果你的程序是放在客户端上运行,那么必须使用mqic32.dll调用,如果你的程序只是放在服务端运行,那么mqm.dll比mqic32.dll更加快捷更加简单,免去了配置环境变量甚至MQCONNX这个最复杂的函数。
二,控制MQ。打开MQIC.pas,在最下面找到13个函数声明,这就是完整MQ函数,IBM厉害就在此,简简单单13个函数就可以玩转MQ。千万别小看这13个函数,看着简单,内容却深不可测。
这是列子,非常全面,我自己写的有很好的注释点击打开链接