找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1542|回复: 2

幼儿园

[复制链接]
发表于 2009-1-11 21:31:07 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
因为工作需要,我从CAdUiDockControlBar派生了一个控制条类,然后创建一个CHILD对话框.其父窗口为这个控制条类,这样在创建控制条的时候将对话框也创建出来,就能让对话框停靠在CAD上.代码是在ObjectArx2002+VC6.0下写的,因为要兼容CAD02~CAD08不同的版本,所以不同的环境选用了不同的Arx.现在一个很苦恼的问题一直困扰着我,在ObjectArx2007+VS2005的环境下始终链接错误UeDlgDockControlBar.obj : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: int __thiscall CAdUiDockControlBar::Create(wchar_t const *,wchar_t const *,unsigned long,struct tagRECT const &,class CWnd *,unsigned int,struct CCreateContext *)" (__imp_?Create@CAdUiDockControlBar@@QAEHPB_W0KABUtagRECT@@PAVCWnd@@IPAUCCreateContext@@@Z),该符号在函数 "public: virtual int __thiscall UeDlgDockControlBar::Create(class CWnd *,wchar_t const *,int)" (?Create@UeDlgDockControlBar@@UAEHPAVCWnd@@PB_WH@Z) 中被引用,

在VC6.0下写的那段代码如下:

#if defined ARX2007 && !defined _UNICODE

BOOL UeDlgDockControlBar::Create (CWnd *pParent, LPCSTR lpszTitle)

{
CString strWndClass ;
strWndClass =AfxRegisterWndClass (CS_DBLCLKS, LoadCursor (NULL, IDC_ARROW)) ;
CRect rect (0, 0, 250, 200) ;
if ( FALSE == CAcUiDockControlBar::Create ( (LPCWSTR)(LPCTSTR)strWndClass,

                                                                         (LPCWSTR)(LPCTSTR)(lpszTitle),

                                                                        WS_VISIBLE | WS_CHILD |   WS_CLIPCHILDREN,
                                                                       rect, pParent, 0  ) )

{
         return (FALSE) ;

}

SetToolID (&clsMyControl) ;

// TODO: Add your code here

return (TRUE) ;
}*/


#if defined ARX2007 && !defined _UNICODE
int UeDlgDockControlBar::OnCreate(LPCREATESTRUCTW lpCreateStruct)
{
if ( CAcUiDockControlBar::OnCreate (lpCreateStruct) == -1 )
  return (-1) ;
//资源切换
CAcModuleResourceOverride resourceOverride;

//创建对话框
m_pDlgCurObject->Create( m_lDlgID, this );
m_pDlgCurObject->MoveWindow( 0,0,10,10,TRUE );
return (0) ;
}

工程中所要链接的库我都做了相应的升级.如acdb15.lib,都改成了acdb17.lib

使用的lib目录也改成了Object2007下的lib目录.如果我单独在VS2005下用ObjARXWiz生成以上代码却没有任何问题,看了arx07下CAdUiDockControlBar::Create()是和OnCreate()是做了条件编译的,我也就加了条件编.我不晓得上面的问题的怎么出现的.是没有增加链接文件吗?请求各位帮帮忙解决一下,本人很是感激!

[CODE]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2009-1-22 15:47:30 | 显示全部楼层
Autocad 2004 以上版本有新的停靠窗口接口了:CAdUiPaletteSet
下载新的ObjectArx工具包(以2008为例)
见ObjectArx2008\samples\editor\CustPalette实例
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2009-2-2 16:06:44 | 显示全部楼层
没连上动态链接库的问题
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-9-21 22:05 , Processed in 0.206644 second(s), 35 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表