你好,
我想在 MySQL 5.1.51 (XP SP3) 上的 MySQL UDF 内部使用 Windows API Postmessage() 调用。我知道 UDF(用 Delphi 2006 编写)通过为 UDF 设置虚假结果来工作。
UDF 的语法采用两个整数参数,一个用于窗口句柄,另一个用于消息编号。但是,从我的 UDF 内部调用 PostMessage() 会导致 mysqld 出现异常,并且服务会停止。
有什么想法或建议吗?或者,如果有人能告诉我如何通过 AnyDAC 和 Delphi 模拟 MySQL 的 IB 事件,或者当数据库中的记录发生更改时获得通知的替代方法,请告诉我。
--多诺万
最佳答案
您使用此方法会遇到问题,主要是因为消息传递仅适用于相同的访问级别,并且在同一台计算机上的同一 session 中。使用其他方法会更好地为您服务,例如 TCPIP 套接字、MailSlots、内存映射文件等。
为了最好地模拟帖子消息,我会使用 TCPIP UDP .我过去用过的一个很好的轻量级库是 Synapse .来自 SVN 的突触库在最新版本的 Delphi 上运行得很好。您要为此使用的类是 TUDPBlockSocket。
关于MySQL 用户定义函数发送 windows 消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3983787/