返回顶部
首页 > 资讯 > 精选 >C# Delphi开发中的DLL怎么用
  • 168
分享到

C# Delphi开发中的DLL怎么用

2023-06-18 00:06:01 168人浏览 泡泡鱼
摘要

这篇文章主要介绍C# Delphi开发中的DLL怎么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!在以前用C# Delphi开发的项目中,会经常用到TChart这个画图控件,它本身很强大,支持各类图,如点线图,柏拉

这篇文章主要介绍C# Delphi开发中的DLL怎么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

在以前用C# Delphi开发的项目中,会经常用到TChart这个画图控件,它本身很强大,支持各类图,如点线图,柏拉图,柱状图等等,加上可以输出成 BMP,JPEG,JPG,SVG,GIF等各种格式图片,很好用,当时也封装成比较独立的C# DLL文件。这次开发.net程序正好派上用场。

C# Delphi开发几个关键技术点:

C#要以非托管方式调用DLL

C#把整理好的画图数据生成事先定义好格式的XML文件,传给DLL

C# DLL解析XML文件,根据相应格式,要求,画图

C# DLL输出GIF文件(经过比较GIF图像失真率小,且文件大小最小)

C#装载GIF文件,传到前台展示

C# Delphi开发关键代码:

  1. 以下是引用片段:  

  2. #region 定义调用Delphi写的画图DLL  

  3. ///   

  4. /// 定义调用Delphi写的画图DLL  

  5. ///   

  6. private class DrawChartFromDll  

  7. {  

  8. //定义DLL文件名,此文件路径要加到系统Path中  

  9. private const string _fileDll = @"Chart.dll";  

  10. //调用非托管Dll,GetChartFromXMLByNet是ChartAccess.dll公开的函数名称  

  11.  [DllImport(_fileDll, EntryPoint = "GetChartFromXMLByNet", 
    CharSetCharSet = CharSet.Ansi, CallinGConventionCallingConvention = 
    CallingConvention.StdCall)]  

  12. //C#中的申明  

  13.  public static extern int GetChartFromXMLByNet
    (int piChartType, string psXMLFileName, string psPriChartFileName, 
    string psSecChartFileName, string psPriHotFileName, string psSecHotFileName);  

  14. }  

  15. #endregion  

  16. public ChartResultData GetCharts
    (ChartData _ChartData, Hashtable _HotPriAdditionSeqNo, Hashtable _HotSecAdditionSeqNo)  

  17. {  

  18. //根据数据生成XML文件  

  19. string _xmlFileName = "";  

  20. ChartResultData _ChartResultData = new ChartResultData();  

  21. try  

  22. {  

  23. _xmlFileName = this.ConvertDataToXml(_ChartData);  

  24. }  

  25. catch (Exception err)  

  26. {  

  27. _ChartResultData.ErrMessage = err.Message;  

  28. }  

  29. ...  

  30. //调用DELPHI,取得返回参数  

  31. int _return = -1;  

  32. try  

  33. {  

  34.  _return = DrawChartFromDll.GetChartFromXMLByNet
    (m_chartType, _xmlFileName, _priChartFileName, 
    _secChartFileName, _priHotFileName, _secHotFileName);  

  35. }  

  36. catch (Exception err)  

  37. {  

  38. if (_return > 0)  

  39. {  

  40. //删除临时生成的XML文件  

  41. this.DeleteTempFile(_xmlFileName);  

  42. this.DeleteTempFile(_priChartFileName);  

  43. this.DeleteTempFile(_secChartFileName);  

  44. this.DeleteTempFile(_priHotFileName);  

  45. this.DeleteTempFile(_secHotFileName);  

  46. _ChartResultData.ErrMessage = err.Message;  

  47. return _ChartResultData;  

  48. }  

  49. else  

  50. {  

  51. //可能因为安全性问题,在频繁连续调用DLL方法时有可能出现內存保护错误信息,
    虽然出错,但方法已经正确调用并能返回正确的值,此时可以忽略此错误  

  52. _return = 0;  

  53. }  

  54. }  

  55. //删除临时生成的XML文件  

  56. this.DeleteTempFile(_xmlFileName);  

  57. ...  

以上是“C# Delphi开发中的DLL怎么用”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注编程网精选频道!

--结束END--

本文标题: C# Delphi开发中的DLL怎么用

本文链接: https://lsjlt.com/news/294918.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • C# Delphi开发中的DLL怎么用
    这篇文章主要介绍C# Delphi开发中的DLL怎么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!在以前用C# Delphi开发的项目中,会经常用到TChart这个画图控件,它本身很强大,支持各类图,如点线图,柏拉...
    99+
    2023-06-18
  • Delphi中怎么进行Web开发
    在Delphi中进行Web开发可以使用Delphi自带的WebBroker技术,通过创建Web模块和Web模块中的Action来处理...
    99+
    2024-03-13
    Delphi
  • Delphi中怎么实现区块链应用开发
    在Delphi中实现区块链应用开发可以通过使用现有的区块链开发工具和框架来实现。以下是一些可以在Delphi中使用的区块链开发工具和...
    99+
    2024-03-13
    Delphi
  • delphi调用dll出现错误怎么解决
    要解决Delphi调用DLL出现错误,可以按照以下步骤进行尝试: 确认DLL文件路径是否正确:检查DLL文件是否在正确的路径下,...
    99+
    2023-10-25
    delphi
  • delphi中DATABASEDESKTOP怎么打开
    在Delphi中打开Database Desktop的方式如下: 打开Delphi,并创建一个新的项目。 在主菜单中选择 “Fil...
    99+
    2024-02-29
    delphi
  • C++中怎么利用Builder调用DLL
    这篇文章将为大家详细讲解有关C++中怎么利用Builder调用DLL,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。调用 DLL 函数,首先通过选择菜单 Project | Add to Pr...
    99+
    2023-06-17
  • Delphi中CreateFileMapping怎么用
    在Delphi中,可以使用CreateFileMapping函数来创建文件映射对象。下面是一个简单的示例代码: const FI...
    99+
    2024-02-29
    Delphi
  • 在java中怎么利用jna调用c#中dll
    这篇文章给大家介绍在java中怎么利用jna调用c#中dll,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。JNA(Java Native Access )提供一组Java工具类用于在运行期动态访问系统本地库(nativ...
    99+
    2023-05-31
    java jna
  • Delphi中QuotedStr()怎么使用
    QuotedStr()函数是Delphi中一个用于添加引号的字符串函数。以下是使用QuotedStr()函数的几种方法:1. 在字符...
    99+
    2023-09-29
    Delphi
  • delphi中webbrowser怎么使用
    在 Delphi 中使用 TWebBrowser 组件可以实现浏览器功能。下面是一个简单的示例:1. 在 Delphi 中创建一个新...
    99+
    2023-08-08
    delphi webbrowser
  • c#怎么调用dll文件
    可在 c# 中轻松调用 dll 文件:引用 dll(使用 dllimport 特性)定义与 dll 函数签名匹配的函数原型调用 dll 函数(如同 c# 函数)附加技巧:使用 chars...
    99+
    2024-05-14
    c#
  • 怎么使用vue3+electron12+dll开发客户端配置
    今天小编给大家分享一下怎么使用vue3+electron12+dll开发客户端配置的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下...
    99+
    2023-07-06
  • Visual 中怎么利用C#生成DLL文件
    本篇文章给大家分享的是有关Visual 中怎么利用C#生成DLL文件,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。Visual C#生成DLL文件——预备知识DLL(Dynam...
    99+
    2023-06-17
  • 怎么用C#开发WinForm
    本篇内容介绍了“怎么用C#开发WinForm”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Visual C#是微软公司.NET FrameW...
    99+
    2023-06-17
  • delphi怎么关闭打开的文件
    在Delphi中关闭打开的文件,可以使用TFileStream类进行操作。以下是关闭文件的步骤: 创建TFileStream对象并...
    99+
    2023-10-28
    delphi
  • delphi中ADO CommandTimeout属性怎么用
    在Delphi中,ADO的CommandTimeout属性用于设置和获取命令执行的超时时间。超时时间是指在执行命令时,如果命令未能在...
    99+
    2023-10-11
    delphi
  • delphi中怎么使用CHART控件
    在Delphi中使用CHART控件,可以按照以下步骤进行操作:1. 在Delphi的工具箱中,找到CHART控件,双击将其添加到窗体...
    99+
    2023-08-08
    delphi CHART控件
  • C#怎么使用DLLImport调用外部DLL
    本文小编为大家详细介绍“C#怎么使用DLLImport调用外部DLL”,内容详细,步骤清晰,细节处理妥当,希望这篇“C#怎么使用DLLImport调用外部DLL”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。C#....
    99+
    2023-06-30
  • 怎么使用C#开发SequoiaDB
    要使用C#开发SequoiaDB,你需要以下步骤:1.安装SequoiaDB:首先,你需要从SequoiaDB官方网站下载并安装Se...
    99+
    2023-10-24
    C# SequoiaDB
  • Attribute在C# WinForm控件开发中怎么用
    这篇文章主要为大家展示了“Attribute在C# WinForm控件开发中怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Attribute在C# WinForm控件开发中怎么用”这篇文章...
    99+
    2023-06-17
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作