起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 316|回复: 11

【搞定】警告循环引用不让编译。**

[复制链接]
发表于 2007-8-14 10:43:14 | 显示全部楼层 |阅读模式
我在信息(A)中的表单文档(Ab)表单中,调用功能(B)中的窗体(Bc),我先在信息(A)中引用功能(B),然后在用如下写法,它就报循环引用。 版本2603

procedure TAb.DataGridDblClick(Sender: TObject);
  var Form1:Bc;
begin
  Form1 := Bc.Create(context);
  try
    Form1.showmadal;
  finally
    Form1.Free;
  end;

end;
回复

使用道具 举报

发表于 2007-8-14 10:56:28 | 显示全部楼层
首先你的设计有误。最好改一下程序结构,把公共部分提出来。
还有可能就是你功能或者信息代理没有设置成default
参看下这个文档。
http://bbs.justep.com/forum.php? ... D%BB%B7%D2%FD%D3%C3
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-8-14 10:58:45 | 显示全部楼层
“功能或者信息代理没设置成default”东西在那看在那改?
回复 支持 反对

使用道具 举报

发表于 2007-8-14 11:01:46 | 显示全部楼层
引用的属性。在stdio向导产生的带docview的窗体的功能代理上能看到。
信息上是信息代理引用属性是default
回复 支持 反对

使用道具 举报

发表于 2007-8-14 11:14:03 | 显示全部楼层
信息上引用窗体,应该是设计问题。跟4楼的情况不一样
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-8-14 11:17:18 | 显示全部楼层
我的功能和信息没有用default,用的都是unit
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-8-14 11:23:22 | 显示全部楼层
怎么设计才不出问题?告诉我几个必须。
回复 支持 反对

使用道具 举报

发表于 2007-8-14 11:24:11 | 显示全部楼层
那你把其中一个unit的引用放实现(implementation)里
implementation
  uses  单元名;
回复 支持 反对

使用道具 举报

发表于 2007-8-14 13:45:04 | 显示全部楼层
楼主请回馈
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-8-15 16:51:48 | 显示全部楼层
不好意思,忘了这个帖子了。 不过我还是不太明白。
我的功能(A)中的主窗体(Aa),用到了信息(B)中的表单文档(Ba)。现在我要实现在信息(B)中的表单文档(Bb)双击打开功能(A)中的窗体(Ab),那就需要信息(B)的配置属性引用了功能(A),然后才能调用功能(A)中的窗体(Ab),这样写完编译就出现循环引用问题了。
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-1-14 19:42 , Processed in 0.039728 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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