Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 编程语言 > .NET > C#.NET > [原创]如何在Delphi中调用.Net编写的DLL中的函数(Function)、过程(Procedure)
【标  题】:[原创]如何在Delphi中调用.Net编写的DLL中的函数(Function)、过程(Procedure)
【关键字】:Delphi,.Net,DLL,Function,Procedure
【来  源】:http://blog.csdn.net/dingbaosheng/archive/2006/10/19/1341472.aspx

[原创]如何在Delphi中调用.Net编写的DLL中的函数(Function)、过程(Procedure)

Your Ad Here


标题:如何在Delphi中调用.Net编写的DLL中的函数(Function)、过程(Procedure)

关键字:Delphi 调用 .Net DLL  函数(Function)、过程(Procedure)

Author:丁报圣,Arthur(阿胜)QQ:34334055,EMAIL:yzdbs@msn.com

正文:

    最近因公司群发邮件程式需要给注册一段时间没有激活的用户发激活邮件
 
邮件中有注册密码 需要还原发给用户 但由于密码加密是用C# 中的TripleDES

完成 手头上又没有现成Delphi的实现 时间紧急 现翻译是来不及了

于是经过查资料反复实施 终于成功实现在Delphi中调用 C# 封装的DLL

中的方法(Function)和过程(Procedure)现把实施步骤写下

以供有需要的XDJM分享:

1、建立:DotNetFunc.cs 封装要使用的Function、Procedure。
 
2、生成密钥文件,用于给程序集强名称签名
sn -k key.snk

3、使用强名称签名,编译成类库
csc /t:library DotNetFunc.cs

4、生成类型库
tlbexp DotNetFunc.dll /out:DotNetFunc.tlb

5、注册dll
regasm DotNetFunc.dll

6、移入gac全局程序集缓存
gacutil -i DotNetFunc.dll

7、Delphi中的调用测试

uses  Variants, COMOBJ, OleCtnrs, Activex;
 
procedure TForm1.Button1Click(Sender: TObject);
var
  SharpObject: Variant; 
  TestValue: string;
begin
  try
    try

      SharpObject := CreateOleObject('CSharpServer.SharpObject');
      TestValue := SharpObject.DecryptTripleDES(Edit1.Text);
      Edit2.Text :=TestValue;
    except
      on e: exception do
      begin
        ShowMessage(e.Message);
      end;
    end;

  finally
    SharpObject := Unassigned;
  end;
end;


procedure TForm1.Button2Click(Sender: TObject);
var
  SharpObject: Variant;
  TestValue: string;
begin
  try
    try

      SharpObject := CreateOleObject('CSharpServer.SharpObject');
      TestValue := SharpObject.EncryptTripleDES(Edit2.Text);
      Edit1.Text :=TestValue;
    except
      on e: exception do
      begin
        ShowMessage(e.Message);
      end;
    end;
  finally

    SharpObject := Unassigned;
  end;
end;


initialization
  CoInitialize(nil);

finalization
  CoUninitialize;

end.  

运行图片

Internal Server Error 的解决方法:【上一篇】
Microsoft Windows Vista Build 5384.4 32Bit 简体中文版(转):【下一篇】
【相关文章】
  • Delphi输出日志的方法
  • ajaxPro.dll用法解析
  • Asp.net中创建Auto Complete Text Box 概述
  • .Net向SQL Server数据库写入文件
  • Delphi获得与设置系统时间格式
  • Delphi TListView显示项里画进度条
  • Delphi dxDBGrid显示不定字段的表
  • c#.net常用的小函数和方法集
  • 如何在Delphi中调用.Net编写的DLL中的函数(Function)、过程(Procedure)
  • 關於.net的加解密密碼的代碼
  • 【随机文章】
  • 打包的时候让.net framework1.1自动安装
  • 要看的文件
  • SkyEye硬件模拟平台, 第一部分: SkyEye 介绍
  • SQLite使用
  • 我的收藏!!新!!
  • 中文Access2000速成教程--1.1 使用“向导”设计数据库
  • 利用TBatchMove控件将数据导入MySQL数据库
  • PHP中在数据库中保存Checkbox数据(1)
  • 用HTML编写应用程序
  • 怎么做软件需求(二)
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 bbb软讯网络 All Rigths Reserved.