【保姆级】Python插件也可以调试了
一、先介绍下Python的优势
1、对环境没有要求,无论公有云、混合云还是私有云都可用;
2、一个小需求,C#实现可能需要半天,而Python插件实现,估计也就30分钟;
3、Python插件无需部署,即时注册,即时实现功能;
4、Python的代码量特别少,真的是少到可怕。
二、废话不多说,直接上步骤,获取更多金蝶二次开发教程
1.安装Visual Studio 2013
百度经验:https://jingyan.baidu.com/article/ab0b56305e8883c15bfa7d7a.html
2.下载IronPython
下载地址:https://download.csdn.net/download/weixin_39023606/12912338
3.下载python tools for visual studio工具
下载地址:https://archive.codeplex.com/?p=pytools
下载上述文件部署开发环境。当然也可以从其他地方下载到。
4.新建项目(环境准备)
1.新增项目
2.载入环境
3.选择环境
4.引入库
把所需要的dll复制到项目路径下。
5.调试准备
1.调试表单插件(调试什么类型插件注册对应的方法和位置)
以下代码借鉴于金蝶社区。
clr.AddReference('IronPython')
from IronPython.Hosting import Python
def wrap_d(f):
func_name = f.__name__
del f
def wrapper(e):
engine = Python.CreateEngine({'Debug': True})
scope = engine.CreateScope()
g = globals()
for v in ('this',):
scope.SetVariable(v, g[v])
engine.CreateScriptSourceFromFile(r'L:\开发\VSCLOUD\测试开发\IronPythonApplication1\IronPythonApplication1\IronPythonApplication1.py').Execute(scope)
return getattr(scope, func_name)(e)
return wrapper
@wrap_d
def AfterEntryBarItemClick(e):
pass
2.附加到进程
3.增加断点监视信息
到此调试金蝶云python脚本已完成。
高版本由于安全性限制,不支持使用globals。可以把用到globals()的3行代码删掉,改为scope.SetVariable('this', this)。
注册脚本提示:由于安全原因,不支持'globals'调用
这样调试好不好用?
【保姆级】Python插件也可以调试了
本文2024-09-16 18:07:49发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-20138.html