DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
lazarus/fpc/Free Pascal
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: ZMskyuza
今日帖子: 28
在线用户: 14
导航: 论坛 -> DELPHI技术 斑竹:liumazi,sephil  
作者:
男 liang1zhou (Mark zql) ★☆☆☆☆ -
普通会员
2023/5/31 10:43:35
标题:
python4delphi 怎么把delphi的函数当做参数传递给python做为回调函数? 浏览:464
加入我的收藏
楼主: 谁用python4delphi 调用python 函数 把delphi的一个函数当做回调函数,并做为参数 传递给python里面的函数调用,试过很多办法都没成功,不报错,但是也不调用。
client.subscribe_whole_quote 是在一个pyd模块里面的函数 两个参数,第一个是列表,第二个是回调函数,谁知道怎么传递给他,
procedure CallbackFunc(args: Variant);
begin
  // 在这里处理回调函数逻辑
  Form1.Memo1.Lines.add('111');
  // ...
end;      
callback:=PythonEngine1.PyCFunction_NewEx(@CallbackFunc, nil,nil);
  PythonEngine1.Py_INCREF(callback);

  //client.subscribe_whole_quote(NewPythonDict,TVarProc(cb));
   //codelist := VarPythonCreate(['SZ']);
   codelist := PythonEngine1.PyList_New(1);
  PythonEngine1.PyList_SetItem(codelist, 0, PythonEngine1.PyUnicode_FromString('110072.SH'));

   argsTuple := PythonEngine1.PyTuple_New(2);
  PythonEngine1.PyTuple_SetItem(argsTuple, 0, codelist);
  PythonEngine1.PyTuple_SetItem(argsTuple, 1, callback);
  ss :=GetPythonEngine.EvalPyFunction(ExtractPythonObjectFrom( client.subscribe_whole_quote ), argsTuple);
----------------------------------------------
-
作者:
男 liang1zhou (Mark zql) ★☆☆☆☆ -
普通会员
2023/5/31 10:45:34
1楼: C#里面可以直接把委托传递过去,调用就没问题
----------------------------------------------
-
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行31.25毫秒 RSS