MySQL用户定义函数发送Windows消息

时间:2010-10-21 02:07:44

标签: mysql delphi user-defined-functions

天儿真好,

我想在MySQL 5.1.51(XP SP3)上使用MySQL UDF内部的Windows API Postmessage()调用。我知道UDF(用Delphi 2006编写)正在为UDF设置一个虚假的结果。

UDF的语法采用两个整数参数,一个用于窗口句柄,另一个用于消息编号。但是,从我的UDF内部调用PostMessage()会导致mysqld中出现异常,服务就会停止。

任何想法或指示?或者,如果有人能告诉我如何通过AnyDAC和Delphi模拟IB事件,或者在数据库中记录发生变化时获取通知的替代方法,那么请告诉我。

- 多诺万

3 个答案:

答案 0 :(得分:2)

这种方法会遇到问题,主要是因为消息传递只能在相同的访问级别上工作,并且在同一台计算机上的同一会话中。使用其他方法可以更好地服务,例如TCPIP套接字,MailSlots,内存映射文件等。

为了最好地模拟帖子消息,我会使用TCPIP UDP。我过去使用的一个很好的轻量级库是Synapse。 SVN的synapse库与最新版本的Delphi相比运行良好。您将要使用的类是TUDPBlockSocket。

答案 1 :(得分:1)

作为Windows消息或TCP / IP的替代方案,您可能需要考虑this question on sending information between two Delphi programsthis question on what named pipes arenamed pipes答案。

- 的Jeroen

答案 2 :(得分:0)

虽然我通过UDF / Windows Pipe路由获得了成功,但我还有另外一个想法,即可以利用MySQL中的信息消息框架(?)。见https://stackoverflow.com/q/3992779/223742