开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 568|回复: 17
收起左侧

[python] 易语言的子程序指针在python应该怎么写?

[复制链接]
结帖率:70% (32/46)
发表于 2023-11-15 21:29:19 | 显示全部楼层 |阅读模式   湖南省常德市
12精币
我调用一个dll的方法有一个参数在易语言里面是 &Message  类型的,aaa还有两个参数
在触发aaa的时候参数也会改变 可以调试输出内容
  
子程序名返回值类型公开备 注
Message  
参数名类 型参考可空数组备 注
nMessage整数型
wParam整数型
lParam整数型



求问下在python里面调用这个dll的方法的时候,怎么写这个 &Message???


回答提醒:如果本帖被关闭无法回复,您有更好的答案帮助楼主解决,请发表至 源码区 可获得加分喔。
友情提醒:本版被采纳的主题可在 申请荣誉值 页面申请荣誉值,获得 1点 荣誉值,荣誉值可兑换荣誉会员、终身vip用户组。
快捷通道:申请荣誉值无答案申请取消悬赏投诉有答案未采纳为最佳
结帖率:93% (13/14)

签到天数: 26 天

发表于 2023-11-15 21:37:18 | 显示全部楼层   四川省巴中市
到整数(&Message)

补充内容 (2023-11-15 21:38):
取指针地址_子程序指针()

点评

python里面没有 到整数 这个函数啊, 用&也没有。   湖南省常德市  发表于 2023-11-15 21:39
回复

使用道具 举报

结帖率:63% (15/24)

签到天数: 6 天

发表于 2023-11-15 21:40:28 | 显示全部楼层   山东省济南市
搜一下ctype

点评

我是用这个加载的dll,但是怎么填入跟易语言 &aaa 一样带参数的子程序指针不知道怎么弄,我自己试的全部都崩溃   湖南省常德市  发表于 2023-11-15 21:44
回复

使用道具 举报

结帖率:93% (13/14)

签到天数: 26 天

发表于 2023-11-15 21:46:03 | 显示全部楼层   四川省巴中市
  
import ctypes
# 加载dll文件
example_dll = ctypes.CDLL ("example.dll")
# 定义子程序指针类型
AddNumbersType = ctypes.CFUNCTYPE (ctypes.c_int, ctypes.c_int, ctypes.c_int)
# 获取子程序指针
add_numbers = AddNumbersType (example_dll.add_numbers)
# 调用子程序
result = add_numbers (3, 4)
print ("3 + 4 =", result)

点评

还是不行   湖南省常德市  发表于 2023-11-15 23:37
回复

使用道具 举报

结帖率:63% (15/24)

签到天数: 6 天

发表于 2023-11-15 21:59:12 | 显示全部楼层   山东省济南市
import ctypes

mylib = ctypes.CDLL('path_to_dll/mylibrary.dll')


Message= ctypes.CFUNCTYPE(ctypes.c_int, ctypes.c_int, ctypes.c_int)


def my_callback(arg):
    # Your callback implementation
    return arg

c_callback = Message(my_callback)

mylib.dll命令(c_callback)


回复

使用道具 举报

结帖率:63% (15/24)

签到天数: 6 天

发表于 2023-11-15 22:00:19 | 显示全部楼层   山东省济南市
刚刚发的代码都审核,我弄个txt给你

python.txt

291 Bytes, 下载次数: 2

点评

兄弟还是不行,我传了个图片你看看   湖南省常德市  发表于 2023-11-15 23:37
回复

使用道具 举报

结帖率:70% (32/46)

签到天数: 5 天

 楼主| 发表于 2023-11-15 23:38:20 | 显示全部楼层   湖南省常德市
无标题111.png
回复

使用道具 举报

结帖率:63% (15/24)

签到天数: 6 天

发表于 2023-11-15 23:41:25 | 显示全部楼层   山东省济南市

点评

传了,我调用其他的可以,但是这个需要 &子程序指针 的就不行 直接崩溃   湖南省常德市  发表于 2023-11-15 23:57
回复

使用道具 举报

结帖率:70% (32/46)

签到天数: 5 天

 楼主| 发表于 2023-11-15 23:56:01 | 显示全部楼层   湖南省常德市
易语言APlayerCallper.rar (790.42 KB, 下载次数: 3)
回复

使用道具 举报

结帖率:63% (15/24)

签到天数: 6 天

发表于 2023-11-16 01:20:20 | 显示全部楼层   山东省济南市
你再研究研究,我没继续搞了,搞了半个多小时,反正会崩溃,能输出正常输出一次。。呆的很了

python.txt

1014 Bytes, 下载次数: 3

点评

是正常输出一次之后马上就崩溃了,不是在第二次输出的时候崩溃的。   湖南省常德市  发表于 2023-11-19 01:03
我今天又试了,这是鼠标移动之后的回调函数,鼠标动就会一直调用这个函数,我在函数里面写了print,但是只能输出一次,然后就崩溃了,   湖南省常德市  发表于 2023-11-19 00:13
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 诚聘英才| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 800073686,邮箱:800073686@b.qq.com
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表