不同unit之间的数据如何调用啊 不同unit之间的数据如何调用啊比如我unit1中求得一个值a在unit2中求得一个值b而在unit3中我想得到a+b的平均值如何调用啊多谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在 public 里面声明数据类型啊!unit1 type record a: integer;unit2type record b: integer; unit3implementation uses unit1, unit2;就可直接使用比如我unit1中求得一个值a在unit2中求得一个值b 补充一下:如果两个单元要循环引用的话那么两个单元的use语句要分别放在interface区和implementation,不然会出错。还有,如果你要在interface区用到所引用单元的数据,那么要放在interface区的use语句里,一般情况是放在implementation区。 如果两个单元要循环引用的话那么两个单元的use语句要分别放在interface区和implementation,不然会出错。好像循环引用只要implementation就可以了吧,不必interface区和implementation都放吧 在Unit1单元的在窗口类的public部份声明。Unit2同Unit1.这样,在Unit3中的Implementation部份加入语句Use Unit2,unit1;应该就可以了吧。你试试,我想是这样的。 在1。2的public分别声明变量,然后在3中user进来就可以了!当然你的1 2如果有相互user那样的话,把一个放在interface 中一个放在implementation中经避免循环 比如我unit1中求得一个值a在unit2中求得一个值b而在unit3中我想得到a+b的平均值====给你完整的吧,之前先说明,楼上的“星星球”解释的最为完整,希望楼主看看====1.unit unit1;...//...表示中间的东东不需理会,请找到下面的代码的开始处,继续private a : Integer;...//unit1到此ok,记住,最好不要用“全局变量”而是设为私有变量2.unit unit2;...private b : Integer;...3.unit unit3;...implementationuses unit1, unit2;//这就是你要的了,然后尽情使用吧,使用的语法如下:c := (Form1.a + Form2.b) / 2; 对creativepeter(头皮屑)所讲的有点错误,我想更正一下,就是a 和b不能定义在private里面,因为私有,对其他unit就不能访问了,要把a 和b定义在public才行.(关于这一点已经经过我验证过了). 我还有一种方法可以达到数据之间调用. 如果对于多个公共变量要共用,可以另外加以一个unit作为公共单元,如果其他单元要用,就uses 这个公共单元,就可以达到unit之间的数据调用了. uses就可以了...但要注意还有这种情况unit1,unit2相互需要引用不能同时在两个单元的interface部分uses To→lionlsl(林),谢谢指正,确实如此。 to juliens(星星球) 两个互相引用的单元的uses语句是可以同时放在implementation区的,我的就都放在implementation区,没有问题。 第一种方法:implementationuses Unit2;{$R *.dfm}implementation{$R *.dfm}uses unit1;第二种方法:interfaceuses Unit2;{$R *.dfm}implementation{$R *.dfm}uses unit1;供参考。 AdvStringGrid1 编辑设置 3322动态域名更新服务,net stop 不能停止服务 怎樣讓提示信息分行顯示? 免费邮件群发&群收系统,可下载(含 Delphi源代码). 苏州地区招聘熟悉delphi & Sqlserver的程序员,薪水面议。急需 强烈建议斑竹有时间的话,把那些争论语言优劣性,某某语言有没有前途的帖子整理成一个放在最前面,让提问题的人看就行了~ 帮帮忙一个注册的问题? 两个基础问题 在多层结构中启动事务.在线!!!! InetIsOffline这个API函数在哪个单元里? 怪事,label显示文字的问题。 如何将bmp图片转化到32k以下??
a: integer;unit2
type record
b: integer;
uses unit1, unit2;
就可直接使用
比如我unit1中求得一个值a
在unit2中求得一个值b
如果两个单元要循环引用的话那么两个单元的use语句要分别放在interface区和implementation,不然会出错。
还有,如果你要在interface区用到所引用单元的数据,那么要放在interface区的use语句里,一般情况是放在implementation区。
在窗口类的public部份声明。
Unit2同Unit1.这样,在Unit3中的Implementation部份加入语句Use Unit2,unit1;应该就可以了吧。你试试,我想是这样的。
在unit2中求得一个值b
而在unit3中我想得到a+b的平均值
====给你完整的吧,之前先说明,楼上的“星星球”解释的最为完整,希望楼主看看====
1.unit unit1;
...//...表示中间的东东不需理会,请找到下面的代码的开始处,继续
private
a : Integer;
...//unit1到此ok,记住,最好不要用“全局变量”而是设为私有变量
2.unit unit2;
...
private
b : Integer;
...
3.unit unit3;
...
implementation
uses unit1, unit2;//这就是你要的了,然后尽情使用吧,使用的语法如下:
c := (Form1.a + Form2.b) / 2;
我还有一种方法可以达到数据之间调用.
如果对于多个公共变量要共用,可以另外加以一个unit作为公共单元,如果其他单元要用,就uses 这个公共单元,就可以达到unit之间的数据调用了.
unit1,unit2相互需要引用
不能同时在两个单元的interface部分uses
两个互相引用的单元的uses语句是可以同时放在implementation区的,我的就都放在implementation区,没有问题。
implementationuses Unit2;{$R *.dfm}
implementation{$R *.dfm}
uses unit1;
第二种方法:
interface
uses Unit2;{$R *.dfm}
implementation{$R *.dfm}
uses unit1;
供参考。