主题:EM9000 共有31174人关注过本帖 |
---|
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 [只看该作者]
试验成功!
|
|
单帖管理 | 引用 | 回复 |