首发于 delphi调用.net(c#等)dll

Delphi调用.net动态链接库DLL(非com,自动生成接口)

常见的.NET有C#、 VB.NET等。随机微软的持续发力,.NET的市场份额越来越大,.NET的SDK也越来越多。简单的.NET调用,我们可以用COM的形式,或者自己写一个中转的dll来封装一下。

但以上两种方式都有各自的弊端,有些SDK没有导出COM接口,或者我们自己写的dll也不想导出,不想注册dll。甚至有时候,我们也不想再另外写一个.net的dll,毕竟还得去装一个vs。那么有没有简单方便的方法呢?

那就得说一说我们今天的主角了:DDNRuntime。

DDNRuntime全称Delphi .NET Runtime,是一个用Delphi调用.NET的库。仓库地址: 不在乎y/DDNRuntime-examples

简介

特性

要求

暂不支持

说了这么多,来看看DDNRuntime最有特色的代码吧。类似fmx安卓上调用Java的代码,上手非常容易。

unit uHash;

interface

uses
  System.SysUtils,
  DDN.Runtime,
  DDN.mscorlib
{$IFDEF USE_NETCORE}
  ,DDNC.System.Security.Cryptography.Algorithms
  ,DDNC.System.Security.Cryptography.Csp
{$ENDIF};

  procedure TestProc;
implementation


function BytesToString(value: TBytes; AEqValue: string): string;
begin
  Result := TDNBitConverter.DNClass.ToString(value).Replace('-', '').ToLower;
  if Result.Equals(AEqValue) then
    Write('True ')
  else Write('False ');
end;

procedure Hash_SHA1;
var
  sha1: DNSHA1;
  result: TBytes;
begin
  Writeln('---------------Hash_SHA1---------------');
  sha1 := TDNSHA1Managed.Create;
  result := sha1.ComputeHash(BytesOf('11111111111111aaaa'));
  Writeln('result: ', BytesToString(result, '0d403430ba5307571f77a017cc1b67c1784a94a4'));
  // 0d403430ba5307571f77a017cc1b67c1784a94a4
end;

procedure Hash_SHA256;
var
  sha256: DNSHA256;
  result: TBytes;
begin
  Writeln('---------------Hash_SHA256---------------');
  sha256 := TDNSHA256Managed.Create;
  result := sha256.ComputeHash(BytesOf('11111111111111aaaa'));
  Writeln('result: ', BytesToString(result, '2ad87b450f4540dc1ed6c3fe1785fa5a75b26399cb07537da96e76ce26384fd6'));
  //2ad87b450f4540dc1ed6c3fe1785fa5a75b26399cb07537da96e76ce26384fd6
end;

procedure Hash_MD5;
var
  md5: DNMD5CryptoServiceProvider;
  result: TBytes;
begin
  Writeln('---------------Hash_MD5---------------');
  md5 := TDNMD5CryptoServiceProvider.Create;
  result := md5.ComputeHash(BytesOf('11111111111111aaaa'));
  Writeln('result: ', BytesToString(result, 'd071a85745b8a9befb4f028bcae7f3e9'));
  // d071a85745b8a9befb4f028bcae7f3e9
end;

procedure TestProc;
begin
  Hash_MD5;
  Hash_SHA1;
  Hash_SHA256;
end;

end.

里面DN开头和TDN开头的就是DDNRuntime的代码哦。怎么样?是不是超简单的?这些示例代码是直接在示例中的哦。上面的代码文件位置: gitee.com/ying32/DDNRun

附上两个示例列表的截图,分别是NET framework和.net core的例子

.net framework 示例列表
.net core 示例列表

深圳SEO优化公司玉溪网站建设哪家好普洱高端网站设计推荐榆林百度竞价包年推广公司固原网站搜索优化公司许昌网站设计哪家好大庆如何制作网站推荐海南网站制作多少钱咸阳百搜标王推荐丹东网站优化推广多少钱日照外贸网站设计多少钱芜湖阿里店铺运营多少钱龙岩英文网站建设南平企业网站设计哪家好绵阳网站制作设计报价武汉模板推广马鞍山百度网站优化排名哪家好福田网站定制公司伊犁seo排名公司西乡英文网站建设报价德州网站优化按天收费多少钱湘潭百度网站优化排名报价张掖优化公司木棉湾网站推广系统价格荆州网站优化按天收费推荐白山seo优化公司阳泉百度标王公司临夏品牌网站设计报价德州推广网站公司临沂网络营销公司益阳阿里店铺托管哪家好歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化