成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

C# Delphi開發中的DLL

開發 后端
本文介紹C# Delphi開發中的C# DLL,以及介紹TChart這個畫圖控件,它本身很強大,支持各類圖,如點線圖,柏拉圖,柱狀圖等等。

在以前用C# Delphi開發的項目中,會經常用到TChart這個畫圖控件,它本身很強大,支持各類圖,如點線圖,柏拉圖,柱狀圖等等,加上可以輸出成 BMP,JPEG,JPG,SVG,GIF等各種格式圖片,很好用,當時也封裝成比較獨立的C# DLL文件。這次開發.NET程序正好派上用場。

C# Delphi開發幾個關鍵技術點:

1.C#要以非托管方式調用DLL

2.C#把整理好的畫圖數據生成事先定義好格式的XML文件,傳給DLL

3.C# DLL解析XML文件,根據相應格式,要求,畫圖

4.C# DLL輸出GIF文件(經過比較GIF圖像失真率小,且文件大小最小)

5.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. ...  

【編輯推薦】

  1. 簡單介紹C#預處理
  2. 學習C#無詞尾符號經驗談
  3. C#調用QuickTest自動化
  4. 詳解C#正規表達式
  5. C#字符串插入html標簽
責任編輯:佚名 來源: IT168
相關推薦

2009-08-03 12:57:27

C#調用DLL

2009-08-05 16:49:42

C#中調用dll

2009-07-31 14:54:48

dll函數C#導出

2009-07-31 17:28:35

C#語言調用DLL

2009-08-18 16:31:19

Visual C#編寫

2009-12-16 09:38:36

2009-08-07 17:12:07

C# DLL函數

2009-08-07 17:22:36

C#調用dll導出函數

2011-04-08 09:52:44

C++C#DLL

2009-08-05 16:41:36

C#調用VC dll

2009-08-05 09:40:02

C#調用DLL函數

2009-09-02 17:16:01

冒泡排序

2009-08-05 09:30:39

C#調用DLL函數

2009-08-24 16:11:35

C#項目開發

2011-06-08 10:06:32

C#

2009-08-07 14:10:13

C# WebserviDelphi

2009-08-05 15:04:14

C# dll注入

2009-08-05 09:22:43

C#調用VC DLL

2009-08-18 14:36:36

C# 操作Excel

2009-08-24 15:58:00

Visual C#生成
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美一级久久 | 国产免费高清 | 中国美女一级黄色片 | 手机av在线| 国产精品黄 | 亚洲看片 | 中文字幕精品一区二区三区精品 | 久久综合国产精品 | 日本三级电影免费观看 | 欧美久久电影 | 欧美精品黄 | 一区二区三区四区免费视频 | 国产aⅴ精品 | 国产精品123区 | 久久综合爱 | 仙人掌旅馆在线观看 | 91精品国产91久久久久久最新 | 欧美久久久久 | 蜜臀网| 欧美女优在线观看 | 欧美黑人巨大videos精品 | 99re视频这里只有精品 | 99tv| 亚洲视频一区在线观看 | 亚洲精品www久久久久久广东 | 91网站在线看 | 涩涩视频网站在线观看 | 日韩电影中文字幕在线观看 | 免费成人高清在线视频 | 亚洲成人动漫在线观看 | 九九九视频精品 | 日韩国产精品一区二区三区 | 国产精品夜夜春夜夜爽久久电影 | wwwxxx日本在线观看 | 一级h片| 欧美一区二区另类 | 精品啪啪 | 精品日韩一区二区 | 国产99精品| 精品国产乱码久久久久久丨区2区 | 天堂一区 |