完了,一点戏都没有了。 我来总结哈哈: 一个unit可以分为几个部分: unit XXX; //这里是单元名称的说明部分; interface //这里是单元对外的接口部分,在这里声明的函数,变量,类等都可以被其它引用 uses //这个单元的其它单元使用。当然类中的变量有其它的保护措施。 type . . end; var . . implemention //这里是类和函数的完成部分,这里定义的变量其它单元是看不到的,哈哈。 uses type var ... end; end. 注意有两个uese 哦,是有一点区别的:在前一个uses中引用的单元对其它引用本单元的单元来说也是可见的,而在后一个uses中引用的单元对引用本单元的单元来说是不可见的。举例来说吧: 有unit A unit B unit C A在interface中引用B,C; B在interface中引用A,C这种引用的方法就会出错,因为进行了循环的引用。解决的方法是:把其中某一个引用放到implemention中去。
uses
Windows, Forms, SysUtils, Controls, DB, ADODB, Dialogs, Classes, ShellAPI,
WinSock, Registry, ShlObj, ActiveX, Sockets, ComObj, QuickRpt, Qrctrls;
var
FieldName:string;其中﹕filename就是一個全局變量了。
//私有的,本单元的变量定义
{ Private declarations }
public
//公用的变量定义的地方,也可以定义“过程”,函数等
sjk : String; {数据库名称}
{ Public declarations }
end;var
Form1: TForm1;
我来总结哈哈:
一个unit可以分为几个部分:
unit XXX; //这里是单元名称的说明部分;
interface //这里是单元对外的接口部分,在这里声明的函数,变量,类等都可以被其它引用
uses //这个单元的其它单元使用。当然类中的变量有其它的保护措施。
type
.
.
end;
var
.
.
implemention //这里是类和函数的完成部分,这里定义的变量其它单元是看不到的,哈哈。
uses
type
var
...
end;
end.
注意有两个uese 哦,是有一点区别的:在前一个uses中引用的单元对其它引用本单元的单元来说也是可见的,而在后一个uses中引用的单元对引用本单元的单元来说是不可见的。举例来说吧:
有unit A unit B unit C
A在interface中引用B,C; B在interface中引用A,C这种引用的方法就会出错,因为进行了循环的引用。解决的方法是:把其中某一个引用放到implemention中去。