我做了很多搜索,但似乎无法找到最新答案。
我目前正在重写用Perl编写的应用程序。所以我不是从零开始的。
该应用程序目前已经有一个用C#.net编写的基本GUI,但我的目标之一是创建一个新的和改进的GUI。这个GUI必须实现一些功能,所以如果我可以使用像.net这样的GUI构建器,它将真正减轻我的工作量。
现在我的问题:
我想将GUI和Perl逻辑分开。所以理论上它应该工作,如果我创建的GUI只调用各种Perl脚本 - >做某事然后将某些内容返回给GUI。
有没有人有使用C#.net创建的GUI与各种Perl脚本交互的经验?如果是,你可以告诉我你在经历中注意到的一些积极或消极的东西。
我也一直在玩tkx。我想我可以使用它,但它肯定会增加开发时间。有谁知道生成perl tkx代码的GUI构建器?
我还看过TK,QT等其他人......但主要问题是他们都有依赖关系。
我很感激任何建议。 谢谢
答案 0 :(得分:1)
ActiveState似乎已经发布了sourceforge一个名为GUI Builder的程序。它似乎与Perl,Ruby,TCL和amp;蟒。
答案 1 :(得分:1)
你想在C#中拥有一个新的gui吗? Visual Studio有一个用于WinForms和WPF的gui构建器。 WinForms构建器是相当不错的,但WPF是一个废话,最好自己“手动编码”XAML代码,并仅使用构建器来可视化您正在构建的内容。对于使用动画/模板的认真工作,我建议使用Blend。
我从未执行过perl脚本,但如果你的perl解释器没有合适的.Net api,那么执行其他外部程序的过程也就不同了。
为了以“标准方式”执行脚本,您可以使用System.Diagnostics命名空间中的Process类。您可以输入命令行参数或stdin并读取stdout和stderr。你应该担心的唯一问题是,如果外部程序挂起,将某些东西放到stderr但不会结束,你就会陷入困境。你应该同时阅读脚本的stdout和stderr(每个都在分离的线程中),并且Process也应该被实例化并在自己的线程中运行 - 所以你不会挂起你的应用程序,你可以监视进程并为用户提供“取消”按钮
对此有用的是来自System.ComponentModel.BackgroundWorker命名空间的BackgroundWorker类,它可以处理很多“低级线程事物”本身