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会自动声明类的方法定义
相关文档:
信号量是建立在互斥量的基础之上,同时加入重要特性:提供了资源计数功能,因此预定义数量的线程同时可以进入同步的代码块中。
信号量是维护0到指定最大值之间的计数器的同步对象,当线程完成一次信号量的等待时,计数器自减1,当线程释放信号量对象时,计数器自增1。
......
Event事件用法与Mutex差不多,但它可以使用:SetEvent(启动运行)ResetEvent(暂停运行)、PulseEvent(执行一次后立即暂停)。
先看一下创建函数:CreateEvent(
......
上文中,多线程同步主窗体的Label的Caption属性值,发现一个问题:使用Synchronize用于同步的时候,主窗体好像死掉一样;而直接用子程序为Label的引用赋值,则有时会出现“Canvas does not allow drawing”错误。书上说VCL同步一定要用Synchronize,而不能直接访问。
测试:
{主窗体} ......
============================================================================
Windows95是Microsoft公司的第一个真正的多任务操作系统。在每一时刻可以有多个进程同时工作,而每一个进程又包含有多个线程。但只有一个处理器的计算机不可能真正地“同时”执行多个线程,而是操作系统把时间分成若干个时间片, ......
虽然用盗版是件很不光彩的事情,但是这个软件目前实在是买不起.呵,折磨了数月,而今天却不经意间成功了. 实在是难掩心中快感.
这所谓的破解过程相当简单
百度搜索一下
Delphi.Distiller.v1.85
解压后运行,点到DELPHI2010页面,>Tweat>再勾上Remove Delphi 2010 Updata....,再点击Clear All Embarcadero...
接着就OK ......