ARX中使用ADO遇到的问题,求助!
在StdAfx.h中作如下声明#include <comdef.h><BR>#import "c:\Program files\common files\system\ado\msado15.dll" \<BR> no_namespace rename("EOF","AdoEOF") <BR>
会出现6个错误,描述如:
f:\gridui\debug\msado15.tlh(169) : error C2011: 'LockTypeEnum' : 'enum' type redefinition
估计是同一个名字空间下的变量冲突,改为声明:
#include <comdef.h><BR>#import "c:\Program files\common files\system\ado\msado15.dll" \<BR>rename_namespace("ARXADO") rename("EOF","AdoEOF") \<BR> rename("EOS","AdoEOS")<BR>
又出现更多错误,连_ConnectionPtr等智能指针都不认识了,好象是名字空间不可见,该怎么处理呢? 你这样处理一下试试看,要是可以的话,请给鲜花哦
#if !defined(__AFXADO_H)<BR>#import "c:\program files\common files\system\ado\msado15.dll" no_namespace rename ("EOF", "adoEOF") \<BR> rename ("LockTypeEnum", "adoLockTypeEnum") \<BR> rename ("DataTypeEnum", "adoDataTypeEnum") \<BR> rename ("FieldAttributeEnum", "adoFieldAttributeEnum") \<BR> rename ("EditModeEnum", "adoEditModeEnum") \<BR> rename ("RecordStatusEnum", "adoRecordStatusEnum") \<BR> rename ("ParameterDirectionEnum", "adoParameterDirectionEnum")<BR>#endif //#if !defined(__AFXADO_H) 这样也不行,我发现是与#include "acui.h"相冲突!!
错误是:
d:\hmbdesigner\debug\msado15.tlh(2664) : error C2059: syntax error : 'constant'<BR>d:\hmbdesigner\debug\msado15.tlh(2664) : error C2238: unexpected token(s) preceding ';'
请问如何解决??? 我参照置顶帖子改如下:
#import "c:\program files\common files\system\ado\msado15.dll" no_namespace rename ("EOF", "adoEOF") \<BR> rename ("LockTypeEnum", "adoLockTypeEnum") \<BR> rename ("DataTypeEnum", "adoDataTypeEnum") \<BR> rename ("FieldAttributeEnum", "adoFieldAttributeEnum") \<BR> rename ("EditModeEnum", "adoEditModeEnum") \<BR> rename ("RecordStatusEnum", "adoRecordStatusEnum") \<BR> rename ("ParameterDirectionEnum", "adoParameterDirectionEnum") \<BR> rename("EOS","AdoEOS") 我又遇到了难题:
我想用ado新建一空数据库,听说用到:
#import "c:\Program Files\Common Files\System\ADO\Msadox.dll"
但参照网上一些方法都不行,是不是因为有arx的缘故,请指教!!!!
页:
[1]