很简单:单元应用的问题 现有3个单元,u1,u2,u3u3中有一public变量v1u2 uses u3u1 uses u2u1为什么就不能使用v1?我就是不想让u1 uses u3请问有什么办法? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你还是u1 uses u3, 不要u1 uses u2 了,这样不好? 在u2中定义两个方法分别获取和设置v1:Get_v1Set_v1 如果象你说的那样:u2 uses u3u1 uses u2就允许u1就不能使用u3.v1,那么至少会给编译器带来比较大的负担,不展开说了。“我就是不想让u1 uses u3”,你这个想法没多大意思。将uses u3写在u1的实现部分。 我就是不想让u1 uses u3哈哈,有性格!u3:var vl:integer;u2:uses u3function getvl:integer; beginresult:=u3.vl;end; u1:uses u2;var i:integer;i:=u2.getvl; 为什么“我就是不想让u1 uses u3”?你的问题太怪 delphi不行吗?c里面好像可以哟能不能讲讲为什么不行? 结不了贴,就再问一下:lxpbuaa(桂枝香在故国晚秋) :如果像我说的那样,的确会给编译器带来很大的负担,的确不能那样,但应该有一种办法吧,c语言中好像是使用exteral "C" (c语言不熟,记不太清)可以将变量v1从u3中引入u2供其它引用u2的单元使用,这样u1不需引用u3就可以使用v1了 楼主:你这种想法就是sysu(死树)的做法;在u2中定义两个方法分别获取和设置v1:Get_v1Set_v1或者把它写成一个属性,如在u2的public下public ...... property u3_v1: T read Get_v1 write Set_v1;然后通过u3_v1属性操作u3的v1变量。 fancier(OP&&C/C++) :多谢,多谢 fancier(OP&&C/C++) :贴都结了还这么关心,下次问问题一定多给你一些,不要也得要,哈哈~~~~~~~~~ 调用VB Dll 文件时出错,没有注册类别. 用Delphi怎么调用Web Service上的接口啊? 有關dbgrid的一個問題 我是杭州的程序员,失业了,CSDN的朋友帮我找个工作吧。 这个部门树如何初始化?在线等待~~ 需要Delphi版本的winapi手册 报表的打印预览我不会做,谁来帮帮我 救救我.....为什么我在Delphi 中调用我在SQL Server 中的存储过程时总是传回空值; 请问如何在DELPHI中生成和使特殊符号(如数学符号) Delphi 10.3 idhttp SSL证书问题 进度条如何用(小问题)? 一个让我疑惑的问题!相信对大家有帮助!
Get_v1
Set_v1
u2 uses u3
u1 uses u2
就允许u1就不能使用u3.v1,那么至少会给编译器带来比较大的负担,不展开说了。
“我就是不想让u1 uses u3”,你这个想法没多大意思。将uses u3写在u1的实现部分。
哈哈,有性格!u3:var vl:integer;u2:uses u3function getvl:integer;
begin
result:=u3.vl;
end; u1:uses u2;var i:integer;i:=u2.getvl;
能不能讲讲为什么不行?
lxpbuaa(桂枝香在故国晚秋) :如果像我说的那样,的确会给编译器带来很大的负担,的确不能那样,但应该有一种办法吧,c语言中好像是使用exteral "C" (c语言不熟,记不太清)可以将变量v1从u3中引入u2供其它引用u2的单元使用,这样u1不需引用u3就可以使用v1了
在u2中定义两个方法分别获取和设置v1:
Get_v1
Set_v1或者把它写成一个属性,如在u2的public下
public
......
property u3_v1: T read Get_v1 write Set_v1;
然后通过u3_v1属性操作u3的v1变量。