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

标签 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 模拟 MySQL 的 IB 事件,或者当数据库中的记录发生更改时获得通知的替代方法,请告诉我。

--多诺万

最佳答案

您使用此方法会遇到问题,主要是因为消息传递仅适用于相同的访问级别,并且在同一台计算机上的同一 session 中。使用其他方法会更好地为您服务,例如 TCPIP 套接字、MailSlots、内存映射文件等。

为了最好地模拟帖子消息,我会使用 TCPIP UDP .我过去用过的一个很好的轻量级库是 Synapse .来自 SVN 的突触库在最新版本的 Delphi 上运行得很好。您要为此使用的类是 TUDPBlockSocket。

关于MySQL 用户定义函数发送 windows 消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3983787/

相关文章:

delphi - 当 SendMessage 和 Perform 需要 NativeUInt 时,我应该如何将负值传递给它们?

sql-server - 如何在 T-SQL 表值函数中切换语言

php - Codeigniter 插入批处理不起作用

mysql - 使用触发器自动增量列后不连续

MySQL - 转换简单表

delphi - 标记/取消标记一组枚举中的另一个选项

delphi - RAR 文件中的非 ASCII 文件名是如何编码的?

scala - 如何在 Spark Scala 中将 org.apache.spark.sql.ColumnName 转换为字符串、十进制类型?

MySQL 从使用 UDF 的子查询中截断字符串

php - 如何将从 SQL 数据库表中提取的时间戳显示为用户时区?