金橙子MarkEzd.dll二次开发问题

忧伤的熊二 贺州学院 PC  2016-05-20 12:20:20
使用金橙子MarkEzd.dll做二次开发,C#动态调用dll库,初始化等接口函数调用都没问题,但是调用Lmc1-LoadEzdFile来加载文件,总是返回错误12读取文件失败,这是什么原因,是不是要改成Unicode编码
...全文
1386 点赞 收藏 19
写回复
19 条回复
leon_zeng0 2019年07月25日
应该是MarkEzd.dll 应该在金橙子程序目录里,版本应该一致。 目前, 我在2.5(2.5.3) 和 2.7 (2.7.6)下有对应的这个文件,运行成功。在2.9, 2.12, 下不成功。不知谁可以给我。
回复 点赞
zhe_jiang 2019年07月03日
#define LMC1_ERR_READFILE 12 //读文件错误
路径问题
回复 点赞
qq_31786887 2019年01月20日
我用EzCad2.7.0,用Demo也是无法装载Markezd.dll, exe和软件都在同一目录,可怎解决?谢谢
回复 点赞
linxiao0915 2018年09月25日
但是我现在遇到个问题 int nErr = MarkEzdDll.Initialize(dir, false); 会报错21 int nErr = MarkEzdDll.Initialize(dir, true); 可以初始化成功
回复 点赞
linxiao0915 2018年09月25日
[DllImport("MarkEzd.dll", EntryPoint = "lmc1_Initial", CharSet = CharSet.Auto, CallingConvention = CallingConvention.Cdecl)]
// [DllImport("MarkEzd.dll")]
public static extern int lmc1_Initial(string strEzCadPath, bool bTestMode, IntPtr hOwenWnd);


private void Form1_Load(object sender, EventArgs e)
{
try
{
String dir = Application.StartupPath;
int nErr = MarkEzdDll.Initialize(dir, false);
MessageBox.Show("Initial=" + nErr.ToString());

}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
this.Close();
}
}
回复 点赞
忧伤的熊二 2018年01月23日
DllImport导入路径一定要正确,然后是导入方法的参数,C++的参数一定要和C#的对应起来,尤其是指针!这两点对了基本没问题了的
回复 点赞
linxiao0915 2018年01月12日
大神 我也遇到这个问题那个DLL文件打不开 怎么解决
回复 点赞
忧伤的熊二 2018年01月08日
很久远的问题了,开发资料和dll在网上都能找到,如果文件导入不成功可能是导入方式不对
回复 点赞
qq_38014238 2017年12月25日
我找到解决办法了 有问题在我的CSDN留言
回复 点赞
talent0722 2017年09月14日
能不能分享一份源代码
回复 点赞
dh429005 2017年09月06日
5楼 我也是这个问题 我想应该是最后一个参数赋值的问题 还在摸索 有没有大神解决了的 求指教
回复 点赞
tuandan0552 2017年08月21日
能不能分享一份金橙子打标卡的开发文档?十分感谢!448676523@qq.com
回复 点赞
InvokeLife 2017年07月21日
大神,我正在用C#做金橙子二次开发,一直“无法加载 DLL“MarkEzd.dll”,能告诉我你是怎么做到的吗?EZcard里的文件都拷贝到应用程序的文件夹了。代码我是这么写的: [DllImport("MarkEzd.dll", EntryPoint = "lmc1_Initial", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.StdCall)] public static extern int lmc1_Initial(string strEzCadPath, bool bTestMode, IntPtr hOwenWnd);
回复 点赞
小光快跑 2017年07月10日
5楼,我遇到情况和你一样,现在解决了吗?
回复 点赞
2924胖子 2017年03月30日
楼主,是不是必须经过授权的金橙子卡才能用二次开发?我有一块儿金橙子的卡,用了网上下载的markezd.dll的二次开发库,每次初始化的时候就不通过。。第一次不知道怎么回事返回了一个21值。其他试了一些函数,关闭卡的返回是0,其他的返回是11.没有初始化。。。。 我就想问一下,一直初始化不通过是什么毛病?板卡的问题还是代码的问题?
回复 点赞
yunhaier 2016年09月07日
楼主的问题解决么?求指导,QQ 515544106
回复 点赞
yepeng2014 2016年07月29日
楼主的头像为何如此逗
回复 点赞
神探布杰 2016年06月22日
我曹,这种专业领域的问题也能在CSDN看到! 说明书我看过,明确要求用Unicode编码。 路径不要有中文,bool用int代替,0假1真,bool是一个字节的 贴上错误码,方便你自查: #define LMC1_ERR_SUCCESS 0 //成功 #define LMC1_ERR_EZCADRUN 1 //发现EZCAD在运行 #define LMC1_ERR_NOFINDCFGFILE 2 //找不到EZCAD.CFG #define LMC1_ERR_FAILEDOPEN 3 //打开LMC1失败 #define LMC1_ERR_NODEVICE 4 //没有有效的lmc1设备 #define LMC1_ERR_HARDVER 5 //lmc1版本错误 #define LMC1_ERR_DEVCFG 6 //找不到设备配置文件 #define LMC1_ERR_STOPSIGNAL 7 //报警信号 #define LMC1_ERR_USERSTOP 8 //用户停止 #define LMC1_ERR_UNKNOW 9 //不明错误 #define LMC1_ERR_OUTTIME 10 //超时 #define LMC1_ERR_NOINITIAL 11 //未初始化 #define LMC1_ERR_READFILE 12 //读文件错误 #define LMC1_ERR_OWENWNDNULL 13 //窗口为空 #define LMC1_ERR_NOFINDFONT 14 //找不到指定名称的字体 #define LMC1_ERR_PENNO 15 //错误的笔号 #define LMC1_ERR_NOTTEXT 16 //指定名称的对象不是文本对象 #define LMC1_ERR_SAVEFILE 17 //保存文件失败 #define LMC1_ERR_NOFINDENT 18 //找不到指定对象 #define LMC1_ERR_STATUE 19 //当前状态下不能执行此操作
回复 点赞
feigesss 2016年06月14日
楼主你好,我调用MarkEzd.dll的时候初始化总是失败,能方便告诉我是哪里的变量定义有问题吗? 我对hOwenWnd这个变量的用法不是很了解。 [DllImport("MarkEzd.dll", EntryPoint = "lmc1_Initial", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.StdCall)] public static extern int lmc1_Initial( string strEzCadPath, bool bTestMode, IntPtr hOwenWnd); private void button1_Click(object sender, EventArgs e) { int dwErrCde;//初始化成功或错误 string _strEzCadPath = @"G:\Ezcad\";//存储ezcad.exe所在的目录的全路径名称 bool _bTestMode = true;//是否为测试模式 IntPtr _hOwenWnd =this.Handle ;//用户输入焦点的窗口,用于检测用户暂停消息 dwErrCde = lmc1_Initial( _strEzCadPath, _bTestMode, _hOwenWnd);//设备初始化 } 到设备初始化时错误提示: 调用导致堆栈不对称。原因可能是托管的 PInvoke 签名与非托管的目标签名不匹配。请检查 PInvoke 签名的调用约定和参数与非托管的目标签名是否匹配。
回复 点赞
发动态
发帖子
C#
创建于2007-09-28

8.4w+

社区成员

64.0w+

社区内容

.NET技术 C#
社区公告
暂无公告