DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
lazarus/fpc/Free Pascal
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: szliyu112358
今日帖子: 52
在线用户: 14
导航: 论坛 -> 发布代码 斑竹:liumazi,ruralboy  
作者:
男 kngstr (KngStr) ▲▲▲▲△ -
普通会员
2021/11/27 19:57:35
标题:
DDNRuntime-Delphi调用.NET的库(非COM方式调用Framework和Core) 浏览:2828
加入我的收藏
楼主: DDNRuntime(Delphi .NET Framework/.NET Core Runtime)
DDNRuntime是一个用Delphi调用.NET的库。支持调用C#、VB.NET编写的程序集。支持自动导入.net dll,并创建.net接口。

演示地址
https://gitee.com/ying32/DDNRuntime-examples
https://github.com/ying32/DDNRuntime-examples

最新版本:v0.1.25

特性

    不需要COM的支持。
    使用非常的简单,只需要在Delphi中申明.NET的类型和方法即可。
    专门的翻译工具,输入一个或者多个.NET的程序集DLL,即可输出一个或者两个Delphi导入单元。
    支持接口类型。
    支持动态数组(一维数组)。
    支持委托类型。
    支持委事件。
    泛型类型(有限的支持。暂不支持嵌套的泛型,比如:DNICollection<DNKeyValuePair<TKey, TValue>>这类的多层嵌套)。

要求

    .NET Framework 4.x (仅支持Windows)
        .NET Framework v4.x。
        VC++ 2015运行库(v140)。

    .NET Core ( 计划支持跨平台 )
        NET Core 2.1 ,配置运行时版本见 DDNC.InitNETCore。
        NET Core 3.1 ,配置运行时版本见 DDNC.InitNETCore。
        NET 5.0 ,配置运行时版本见 DDNC.InitNETCore。

    最低要求Rad Studio XE3(推荐使用高版本)。

暂不支持

    二维数组。
    嵌套类泛型。
----------------------------------------------
-
作者:
男 nevergrief (孤独骑士) ★☆☆☆☆ -
盒子活跃会员
2021/11/27 23:26:16
1楼: 牛逼啊,也就是说Delphi调用dotNet的一大堆控件的功能了?比如它们的Office控件都是比较牛逼的。虽然Delphi也有自己的Office控件,但我没比较过两者的功能谁更强,但看描述,那些C#控件都比较强。
----------------------------------------------
只有偏执狂才能生存!
作者:
男 kngstr (KngStr) ▲▲▲▲△ -
普通会员
2021/11/28 11:31:12
2楼: 是的,已经测试过Aspose.Word,Aspose.PDF,Aspose.Cells,Aspose.Slides。
可完美运行,目前没发现什么问题。
传送地址:
https://gitee.com/ying32/DDNRuntime-examples/tree/main/examples/NETFramework/AsposeSDK
https://github.com/ying32/DDNRuntime-examples/tree/main/examples/NETFramework/AsposeSDK
内附带部分演示代码

PS:顶楼忘记发了,官方QQ群号:712048702
----------------------------------------------
-
作者:
男 slmeng (slm) ★☆☆☆☆ -
盒子活跃会员
2021/11/28 15:30:13
3楼: 支持下,Delphi调用golang也搞个
----------------------------------------------
-
作者:
男 xjia (xjia) ★☆☆☆☆ -
盒子活跃会员
2021/11/29 9:02:51
4楼: 原创?太牛了
----------------------------------------------
-
作者:
男 pcplayer (pcplayer) ★☆☆☆☆ -
普通会员
2021/11/29 9:53:57
5楼: 厉害厉害!佩服佩服!
----------------------------------------------
-
作者:
男 kngstr (KngStr) ▲▲▲▲△ -
普通会员
2021/11/29 11:07:18
6楼: @3楼,golang都是开源的,没必要吧

@4楼,对的,ying32原创的
----------------------------------------------
-
作者:
男 ken0137 (顺眼即佛) ★☆☆☆☆ -
普通会员
2021/11/29 15:34:16
7楼: 为啥要少复制一行字呢,“这不是一个开源和免费的项目。这里只存放一些示例。”
此帖子包含附件:
PNG 图像
大小:25.4K
----------------------------------------------
只会简单使用,并未精通深入
作者:
男 kngstr (KngStr) ▲▲▲▲△ -
普通会员
2021/11/29 16:22:05
8楼: @7楼 少复制的不止这个,只是个简单的分享而已。
----------------------------------------------
-
作者:
男 wiseinfo (wisienfo) ★☆☆☆☆ -
普通会员
2021/12/3 13:22:52
9楼: 请教, 那些场景需要调用.NET ??
----------------------------------------------
-
作者:
男 kngstr (KngStr) ▲▲▲▲△ -
普通会员
2021/12/4 11:12:02
10楼: @9楼,比如我上面说的Aspose的SDK。
他也有C++的SDK,但经我一年多的使用和测试,效果完全不如他的.net的SDK稳定
还有Solid framework等等。
----------------------------------------------
-
作者:
男 edwinyeah (Edwin) ★☆☆☆☆ -
盒子活跃会员
2021/12/4 13:21:41
11楼: 项目是不开源的,什么价格?
----------------------------------------------
-
作者:
男 draculalin (DracuLalin) ▲▲▲△△ -
普通会员
2021/12/6 17:25:37
12楼: GenCode工具要如何使用? 点击没反应 没运行
----------------------------------------------
-
作者:
男 nevergrief (孤独骑士) ★☆☆☆☆ -
盒子活跃会员
2021/12/7 2:59:58
13楼: 价格是2000,目前已经售出十多份,欢迎加Q咨询!!
----------------------------------------------
只有偏执狂才能生存!
作者:
男 kngstr (KngStr) ▲▲▲▲△ -
普通会员
2021/12/7 12:10:29
14楼: @11楼。价格可以群内询问,群内有折扣。

@12楼 GenCode有例子的,这个是命令行工具,配合json配置文件一起使用的。
例子和详细中文说明可以看这里:https://gitee.com/ying32/DDNRuntime-examples/tree/main/Gencode

PS:国内知名开源作者都可以免费领取一份。
----------------------------------------------
-
作者:
男 wyb_star (wyb) ★☆☆☆☆ -
盒子活跃会员
2021/12/9 13:53:51
15楼: 这个是怎么实现的?我的方案自己是做个接口的动态代.理,用webapi调用。
----------------------------------------------
-
作者:
男 letianwuji (大器晚成) ▲▲▲▲▲ -
普通会员
2021/12/10 7:09:24
16楼: CE 有个调用net写的dll模块的代码。
function DotNetExecuteClassMethod(assemblypath: string; namespace: string; classname: string; methodname: string; parameters: string): integer; //MUST be a "public static int methodname(string str)"  but it's enough to get the initialization done anyhow

难道,莫非参考了那东西。
----------------------------------------------
相信自己,若自己都不相信,那还有谁可信。
作者:
男 kngstr (KngStr) ▲▲▲▲△ -
普通会员
2021/12/10 22:22:36
17楼: @15楼,用的反射,c#那边用的clr

@16楼,没有参考ce,不过可以去了解下。感谢

PS:我的锅,分享的太简单,啥都没说清楚。
这个是仿照安卓上调用Java的形式代码写成的。跟那个会比较像。
----------------------------------------------
-
作者:
男 ke8880 (ke8880) ★☆☆☆☆ -
普通会员
2022/2/9 14:14:34
18楼: 支持OpenVC Sharp吗?
----------------------------------------------
-
作者:
男 pcplayer (pcplayer) ★☆☆☆☆ -
普通会员
2022/2/9 16:33:42
19楼: 这个厉害了
----------------------------------------------
-
作者:
男 kngstr (KngStr) ▲▲▲▲△ -
普通会员
2022/3/20 15:09:46
20楼: @18楼 这个没做测试。应该是大部分都支持了
----------------------------------------------
-
作者:
男 bigboy2050 (bigboy2050) ★☆☆☆☆ -
普通会员
2022/3/21 9:30:57
21楼: 厉害了
----------------------------------------------
kittyapp
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行101.5625毫秒 RSS