天儿真好,
我想在MySQL 5.1.51(XP SP3)上使用MySQL UDF内部的Windows API Postmessage()调用。我知道UDF(用Delphi 2006编写)正在为UDF设置一个虚假的结果。
UDF的语法采用两个整数参数,一个用于窗口句柄,另一个用于消息编号。但是,从我的UDF内部调用PostMessage()会导致mysqld中出现异常,服务就会停止。
任何想法或指示?或者,如果有人能告诉我如何通过AnyDAC和Delphi模拟IB事件,或者在数据库中记录发生变化时获取通知的替代方法,那么请告诉我。
- 多诺万
答案 0 :(得分:2)
这种方法会遇到问题,主要是因为消息传递只能在相同的访问级别上工作,并且在同一台计算机上的同一会话中。使用其他方法可以更好地服务,例如TCPIP套接字,MailSlots,内存映射文件等。
为了最好地模拟帖子消息,我会使用TCPIP UDP。我过去使用的一个很好的轻量级库是Synapse。 SVN的synapse库与最新版本的Delphi相比运行良好。您将要使用的类是TUDPBlockSocket。
答案 1 :(得分:1)
作为Windows消息或TCP / IP的替代方案,您可能需要考虑this question on sending information between two Delphi programs和this question on what named pipes are的named pipes
答案。
- 的Jeroen
答案 2 :(得分:0)
虽然我通过UDF / Windows Pipe路由获得了成功,但我还有另外一个想法,即可以利用MySQL中的信息消息框架(?)。见https://stackoverflow.com/q/3992779/223742