主題:EM9000 共有35293人關注過本帖 |
---|
lickson |
1樓 |
EM9000 Post By:2007-8-3 8:29:00 [只看該作者]
X10:
   我們使用VS2005 C#.NET編程,調用自己寫的DLL沒有問題!但是使用EM9000_ISA_DLL.dll,編譯沒有問題!運行時候出錯,不知道你們有沒有解決方法,你們提供的EM9000_ISA_DLL.dll是用EVC編譯的,能否在VS下使用,是否有其它辦法提供能在VS.NET下調用的DLL,十萬火急,昨天因此搞到晚上11點,實在沒有辦法了!!!請見帖后回復!謝謝! |
|
單帖管理 | 引用 | 回復 |
leeleen |
2樓 |
Post By:2007-8-3 9:35:00 [只看該作者]
我用VS2005的VC2005試驗過,無論編譯或運行均沒有問題。和你唯一不同的是你用的是C#。但按道理說應該不會VC2005可以但C#2005不行的啊?我們也要試后才能答復你。你自己也試一下。
|
|
單帖管理 | 引用 | 回復 |
lickson |
3樓 |
Post By:2007-8-3 10:42:00 [只看該作者]
李工:
    您好!希望你幫我編寫一個C#的ISA測試程序!只要能調用ISA的函數即可!拜托! |
|
單帖管理 | 引用 | 回復 |
lickson |
4樓 |
Post By:2007-8-3 13:13:00 [只看該作者]
有情況了嗎!
|
|
單帖管理 | 引用 | 回復 |
zhl |
5樓 |
Post By:2007-8-3 13:40:00 [只看該作者]
我們也需要一些時間,有了結果會及時和你聯系。
|
|
單帖管理 | 引用 | 回復 |
lickson |
6樓 |
Post By:2007-8-3 14:35:00 [只看該作者]
好的!
|
|
單帖管理 | 引用 | 回復 |
leeleen |
7樓 |
Post By:2007-8-7 12:48:00 [只看該作者]
經過幾天的實驗,問題已解決,現在向客戶報告:
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樓 |
Post By:2007-8-7 12:49:00 [只看該作者]
經過測試的例程已經發給你,請查收。
|
|
單帖管理 | 引用 | 回復 |
lickson |
9樓 |
Post By:2007-8-10 15:18:00 [只看該作者]
試驗成功!
|
|
單帖管理 | 引用 | 回復 |