主題:EM9000 共有58561人關注過本帖 |
---|
lickson |
1樓 |
![]() |
EM9000 ![]()
X10:
我們使用VS2005 C#.NET編程,調用自己寫的DLL沒有問題!但是使用EM9000_ISA_DLL.dll,編譯沒有問題!運行時候出錯,不知道你們有沒有解決方法,你們提供的EM9000_ISA_DLL.dll是用EVC編譯的,能否在VS下使用,是否有其它辦法提供能在VS.NET下調用的DLL,十萬火急,昨天因此搞到晚上11點,實在沒有辦法了!!!請見帖后回復!謝謝! |
單帖管理 | 引用 | 回復 ![]() |
leeleen |
2樓 |
![]() |
![]()
我用VS2005的VC2005試驗過,無論編譯或運行均沒有問題。和你唯一不同的是你用的是C#。但按道理說應該不會VC2005可以但C#2005不行的啊?我們也要試后才能答復你。你自己也試一下。
|
單帖管理 | 引用 | 回復 ![]() |
lickson |
3樓 |
![]() |
![]()
李工:
您好!希望你幫我編寫一個C#的ISA測試程序!只要能調用ISA的函數即可!拜托! |
單帖管理 | 引用 | 回復 ![]() |
lickson |
4樓 |
![]() |
![]()
有情況了嗎!
|
單帖管理 | 引用 | 回復 ![]() |
zhl |
5樓 |
![]() |
![]()
我們也需要一些時間,有了結果會及時和你聯系。
|
單帖管理 | 引用 | 回復 ![]() |
lickson |
6樓 |
![]() |
![]()
好的!
|
單帖管理 | 引用 | 回復 ![]() |
leeleen |
7樓 |
![]() |
![]()
經過幾天的實驗,問題已解決,現在向客戶報告:
C#使用C++編譯的動態鏈接庫的時候,入口點名稱發生了變化,請參見如下代碼: const int ISA_P1 = 1; const int ISA_P2 = 2; const int ISA_P3 = 3; const int ISA_P4 = 4; const int ISA_P5 = 5; const int ISA_CS0n = 0; const int ISA_CS1n = 1; [DllImport("EM9000_ISA_DLL.dll", EntryPoint = "?InitEM9000ISA@@YAHXZ")] public static extern int InitEM9000ISA(); [DllImport("EM9000_ISA_DLL.dll", EntryPoint = "?Swap2DIO@@YAHH@Z")] public static extern int Swap2DIO(int Port); [DllImport("EM9000_ISA_DLL.dll", EntryPoint = "?Swap2ISA@@YAHH@Z")] public static extern int Swap2ISA(int Port); [DllImport("EM9000_ISA_DLL.dll", EntryPoint = "?EM9000_WRITE@@YAHHIE@Z")] public static extern int EM9000_WRITE(int nSeg, uint nOffset, byte Value); [DllImport("EM9000_ISA_DLL.dll", EntryPoint = "?EM9000_READ@@YAEHI@Z")] public static extern byte EM9000_READ(int nSeg, uint nOffset); [DllImport("EM9000_ISA_DLL.dll", EntryPoint = "?SetPortDir@@YAHHH@Z")] public static extern int SetPortDir(int Port, int Mode); [DllImport("EM9000_ISA_DLL.dll", EntryPoint = "?GetPortState@@YAHH@Z")] public static extern int GetPortState(int Port); [DllImport("EM9000_ISA_DLL.dll", EntryPoint = "?EM9000_INB@@YAEH@Z")] public static extern byte EM9000_INB(int Port); [DllImport("EM9000_ISA_DLL.dll", EntryPoint = "?EM9000_OUTB@@YAHHE@Z")] public static extern int EM9000_OUTB(int Port, byte Value); |
單帖管理 | 引用 | 回復 ![]() |
leeleen |
8樓 |
![]() |
![]()
經過測試的例程已經發給你,請查收。
|
單帖管理 | 引用 | 回復 ![]() |
lickson |
9樓 |
![]() |
![]()
試驗成功!
|
單帖管理 | 引用 | 回復 ![]() |