关于组件编译之后提示找不到的问题

树上猪 2009-02-09 05:11:51
作一个界面,notebook编译一下之后,在PAS文件TYPe下面没有了,同时在object treeview和object inspecter中都分别提示<components[4])和<Unnamed> Tnotebook,但是在PAS的TYPE下加Notebook1: TNotebook;也加不进去,DFM文件中有这个组件的明细,不知还要在那里改和加,编译没有问题,一运行就提示“class Tnotebook not found”,不知怎样才能解决,省的我重新作这个界面,
...全文
91 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
金卯刀 2009-02-10
  • 打赏
  • 举报
回复
這樣錯誤應該是pas與dfm不匹配造成的。如果是路徑問題,編譯期會提示提示找不到XX.dcu or pas。
而你所描述的是運行期報 找不到類型
1、確認dfm文件是否有不完整的地方;
2、對比dfm和pas中 ,TNoteBook的名稱是否一致;

程序運行時,會從exe中載入dfm資源文件,notebook是被作為資源包含在dfm里面。所以根據錯誤可以推斷:dfm與pas不匹配
starluck 2009-02-10
  • 打赏
  • 举报
回复

首先你這個窗體是不是繼承的?

打開DFM文件後看是前面是:object 還是 inherited??

PAS中有沒有這個控件的聲明??? 如果在PAS中沒有這個聲明,直接打開DFM把這個控件的類描述干掉,不要了,然後再重新放一個這個控件上去。

應該這樣是可翠的
树上猪 2009-02-10
  • 打赏
  • 举报
回复
一加NoteBook1:TNoteBook;在TYPE下就一编译就提示NoteBook1 does not have corresponding component,remove the declaration; 一按'yes'这把加的删除了,按‘NO’倒是可以过,也可以运行程序,但是只要一编译还是提示这个错误
树上猪 2009-02-10
  • 打赏
  • 举报
回复
他没有要求删除控件,只是把它当作了一个不能识别的控件而不能运行,应是在那个单元中路径或没申明之原因,但是就不知在那里添加,pas中加不进去(也没有申明),DFM中有相关这个控件的详细资料,
starluck 2009-02-10
  • 打赏
  • 举报
回复


tools->options->libary
树上猪 2009-02-10
  • 打赏
  • 举报
回复
有打勾,不是这个的问题,可能如starluck讲的是路径问题,但不知在那里设置,他讲的libary我也不知在那个文件里,现在能打开的文件就只有dpr pas和dfm三个文件了,但是这三个文件中好像都没有看到libary这个单元
starluck 2009-02-10
  • 打赏
  • 举报
回复
暈,看錯題了,你退出下程序試下。DELPHI檢查到DFM與PAS對應不上,會要求刪除這個控件的,你確定後然後重新放上去。

還有你是不是對LIB庫做了什麼刪除??
金卯刀 2009-02-10
  • 打赏
  • 举报
回复
確認package頁面中delphi 1.0 compatibilitiy components是否有勾選。若沒有勾選,則打勾。關閉delphi,再重開delphi,看有情況如何。
金卯刀 2009-02-10
  • 打赏
  • 举报
回复
查看一下Tnotebook 的設計期包是否還注冊在delphi中,project--options--packages,注意沒有打勾的包
starluck 2009-02-10
  • 打赏
  • 举报
回复
在LIBARY裏要加上這個控件的路徑進去才行。
树上猪 2009-02-10
  • 打赏
  • 举报
回复
这个也没有人知道吗,自已顶一下,免的沉了,

5,388

社区成员

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

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