Delphi 类的学习
一、类与对象
1、 类(Class)是用户定义的数据类型
2、 对象(Object)是类(Class)的一个实例,或由类定义数据类型的一个变量;
3、 类有一种状态(内部数据),操作(行为或方法),属性;
4、 对象是一个实体,程序运行时会为其内部表现分配一些内存;
5、 类与对象之间的关系和变量与类型之间一样的;
6、创建一个类 类型名(class name) =class
成员
方法
属性
7、对象用完之后应该释放内存;
二、创建一个类
1、一个类的变量不会为对象提供内存,只是在内存中提供一个引用或指针;
实例1
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
type
TMyClass = class //创建一个TMyClass类
name : String;
age : Integer;
end;
procedure TForm1.Button1Click(Sender: TObject);
Var
MyCls : TMyClass; //声明一个对象
begin
MyCls :=TMyClass.Create; //分配内存或初始化 构造一个实例,对象实质化;
MyCls.name :='测试';
MyCls.age :=2010;
ShowMessage(MyCls.name); //显示'测试 '
MyCls.Free; //释放类的占用的内存;
end;
end.
三、类的方法1、 类的方法也就是过程或函数
2、 在类的定义中,方法只能被声明,然后在本单元中定义
3、 Ctrl+Shit+C的运用,在类中当方法被声明后可以使用Ctrl+Shit+C组合键,delphi会自动声明类的方法定义
相关文档:
临界区是一段代码,一次只允许一个线程执行这段代码。当把一段代码放入一个临界区, 线程执行到临界区时就独占了, 其他线程如果要访问这段代码,一定要等前一个访问的线程结束才行。借用前面的比喻比作图书馆,临界区就像把图书馆设计成只有一个位置(现实中好像不太合理,不管了,反正这么个意思),当有一个人正在办 ......
VCL对象不是线程安全的,而且它们的属性和方法必须要从VCL主线程中进行访问或被执行,但有两种VCL对象是例外的情况,它们是线程安全的。一种是任何图形对象,另一种是TThreadList。
这意味着不必非得在主VCL线程中才能设置一个画布的画笔颜色,或画刷类型,可以在另一个线程的环境中完成一点。对 ......
============================================================================
Windows95是Microsoft公司的第一个真正的多任务操作系统。在每一时刻可以有多个进程同时工作,而每一个进程又包含有多个线程。但只有一个处理器的计算机不可能真正地“同时”执行多个线程,而是操作系统把时间分成若干个时间片, ......
Delphi的VCL框架在创建应用时TApplication是一个自动创建的隐藏窗口,其它创建的窗口是自动以该窗口为窗口,这就导致创始的主窗口在任务栏的系统菜单只有三项,只要在主窗口的Create事件中将系统菜单用Application的系统菜单替换,并将SysCommand消息转发到主窗口就正常了。
unit Unit1;
interface
uses
Windows ......
1、保证你传递的参数要正确:C++中的char *对应PASCAL中的pchar。
2:C++中导出的函数的参数调用方式要和你DELPHI中的导入的函数参数调用方式要一致!
例如: C++的参数调用方式 对应的DELPHI的参数调用方式
_declspec ......