請選擇 進入手機版 | 繼續訪問電腦版

COCO研究院

 找回密碼
 註冊
搜索
查看: 8128|回復: 17

自製 C# Data plugin 問題求助

[複製鏈接]
發表於 17-11-23 10:56|載入全部圖片 | 顯示全部樓層 |閱讀模式
本帖最後由 ravelive 於 17-11-23 11:00 編輯

本身會寫C#,有研究過KGI的API,但完全不會C++;
這幾天抓了大家說的那套gitHub C# SDK範例;下載好最新的RGiesecke.DllExport;
編譯之後,結果不斷的撞牆....
-1-可以打開AMIBROKE,但根本沒有出現在dataSource裡面;(有貼過去plugin裡面)
-2-不然就是編譯之後,連AMIBROKE都會打不開。出現錯誤(....或其相依性的其中之一。 試圖載入格式錯誤的程式。)
-3-商標那邊loading plugin一陣子之後,像沒開過程式一樣,若無其事地自己關掉(閃退?)

嘗試過:
安裝C++可散發套件(VC_redist.x64)
編譯成不同的位元版本(x86.x64)

環境: W10、VS2017、64版ab(6.00)

希望能得到版上高手大大的稍為指點QQ~ 感恩~~





上一篇︰20171123 爆量創新高
下一篇︰股市逐筆交易 拚2019上線、印度50期貨契約最後交易日、高...
發表於 17-11-29 17:58|載入全部圖片 | 顯示全部樓層
基本上 就 microsoft 的 建議 c++ 要 call c# dll 最好是透過 com model 但是 amibroker 的 dll 不是 com 所以 如果硬要用 c# 寫 amibroker 的 plugin
我的作法不是用 RGIexeck....而是自己建一個 vc++ 介接到 com 的介面 然後 用 c# 寫 com 元件 這樣一定沒有問題 給你參考 我目前就這樣做成功的

評分

參與人數 1金錢 +2 收起 理由
cukie + 2 太強了

查看全部評分

回復 支持 1 反對 0

使用道具 舉報

發表於 17-11-23 20:42|載入全部圖片 | 顯示全部樓層
請問你的 github c# sdk 在那裡下載的
 樓主| 發表於 17-11-24 09:09|載入全部圖片 | 顯示全部樓層
在......... github 下載的 @@~
github.com/
kriasoft/
amibroker
發表於 17-11-24 13:57|載入全部圖片 | 顯示全部樓層
我也去下載,也更新為 UnmanagedExport 1.2.7 ,但是我的編譯不會過

請問您有修改那些東西,

win 10
vs 2017
amibroker 5.98 (x64)
 樓主| 發表於 17-11-24 14:40|載入全部圖片 | 顯示全部樓層
編譯不過有啥錯誤訊息嗎??
發表於 17-11-24 16:12|載入全部圖片 | 顯示全部樓層
ravelive 發表於 17-11-24 14:40
編譯不過有啥錯誤訊息嗎??

無法從組件 amibroker-master\packages\UnmanagedExports.1.2.4.23262\tools\RGiesecke.DllExport.MSBuild.dll 載入 "RGiesecke.DllExport.MSBuild.DllExportAppDomainIsolatedTask" 工作。無法載入檔案或組件 'Microsoft.Build.Utilities, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' 或其相依性的其中之一。 系統找不到指定的檔案。 請確認 <UsingTask> 宣告正確、該組件和其所有相依性都可使用,以及該工作包含一個實作 Microsoft.Build.Framework.ITask 的公用類別。    Plugin            


以上是 VS 2017 給的錯誤訊息

 樓主| 發表於 17-11-24 16:24|載入全部圖片 | 顯示全部樓層
嘗試安裝一下C++可散發套件看看?
發表於 17-11-24 19:48|載入全部圖片 | 顯示全部樓層
ravelive 發表於 17-11-24 16:24
嘗試安裝一下C++可散發套件看看?

我的電腦已有裝  2005 2008 2010 2012 2013 2017
我試著裝 2015 裝不進去
還有其他問題可能嗎

發表於 17-11-27 23:00|載入全部圖片 | 顯示全部樓層
本帖最後由 kuolung 於 17-11-27 23:03 編輯

改用 6.00.2 (x64)  free trial version 版了
發表於 18-6-6 10:56|載入全部圖片 | 顯示全部樓層
使用C# 仍是無法編譯
發表於 18-6-6 12:51|載入全部圖片 | 顯示全部樓層

錯誤                Microsoft.Build.Utilities.ToolLocationHelper could not find ildasm.exe.        Plugin                       
發表於 18-7-12 10:26|載入全部圖片 | 顯示全部樓層
最近也在研究 KGI 的 api ,

還是會發生 C# call 不進 C++ 的問題 ,
後來才發現,原來 KGI 的 dll 不是 com , 所以之前的作法有誤,根本不會通,

後來想一想,各家的 API 都有各家的問題,其實要硬改用 C++ 是有很多問題的,尤其是某幾家都是提供 x86 的 C# 元件,還不知元件是不是有問題,

所以想想,不再想要改用 C++ 來 call 原始的 api 了,

全部改用 winsock or pipe 來介接 ,每一個 api 獨立一個程式,只從他們提供的範例修改加入 winsock or pipe 來介接,應該可以改善這些 x86 / x64 , Managed / UnManaged 的問題 ,有人可以一起加入討論
發表於 18-11-20 20:02|載入全部圖片 | 顯示全部樓層
奇怪,我可以編譯成功,也不會閃退。只是我不會使用,哈哈,我糗了!
VS2015, AB 6.002

點擊載入圖片
發表於 18-11-23 16:34|載入全部圖片 | 顯示全部樓層
這沒有什麼難的,您只要開啟 File -> Database Setting

中間的 Data Source -> 選您的 DataPlugin 就可以了

DataPlugin

DataPlugin
您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則

手機版|Archiver|站長信箱|廣告洽詢|COCO研究院  |網站地圖

GMT+8, 18-12-10 12:18

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表
理財討論網站 | 優質玻尿酸隆鼻 專業皮膚科診所 推薦電波拉皮效果 優質淨膚雷射效果 推薦微晶瓷隆鼻 | 徵信社精選| SEO優化|