关于在DLL中创建窗体的问题(着急...在线等)

zhangyanxxxx 2007-01-20 09:12:40
小弟最近在做程序时遇见这样一个问题:

主窗体在应用程序中,一个子窗体放在DLL中,子窗体上有个DBGRID,在DLL中创建这个窗体,然后设置这个窗体的parent等于主窗体上的TTabsheet,但是程序运行的时候,点击窗体上的DBGRID时,提示错误,错误信息是"control dbgrid has no parent window",说我的DBGRID没有父窗体,其实这个时候DBGRID有父窗体,就是那个窗体,这个问题捆饶了几天也没能解决,请各位高手帮小弟想想,着急,在线等
...全文
346 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
hotdog911 2007-01-22
  • 打赏
  • 举报
回复
PARENT := SELF
ABLE__323 2007-01-21
  • 打赏
  • 举报
回复
仙侣步惊云 2007-01-21
  • 打赏
  • 举报
回复
dll中使用窗体问题比较多,除你讲的这种情况外,还有焦点转移、退出dll时内存访问出错等,主要原因是dll和主控程序都有其application和screen对象,虽然使用替代法将主控程序的application和screen传入dll问题可以有所改善(参见cantu 的delphi从入门到精通),但有些问题还是很不好解决。
如何你设计dll仅限于delphi内部使用,建议使用bpl代替dll
Louis_WH 2007-01-21
  • 打赏
  • 举报
回复
这样生成的窗体好像聚焦有点问题
zhangyanxxxx 2007-01-20
  • 打赏
  • 举报
回复
dbgrid不是动态创建的
日总是我哥 2007-01-20
  • 打赏
  • 举报
回复
test

小弟最近在做程序时遇见这样一个问题:

主窗体在应用程序中,一个子窗体放在DLL中,子窗体上有个DBGRID,在DLL中创建这个窗体,然后设置这个窗体的parent等于主窗体上的TTabsheet,但是程序运行的[qqface10]
newfang 2007-01-20
  • 打赏
  • 举报
回复
dbgrid动态创建的吗?
你把它PARENT := SELF 试试!

5,392

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧