Вы находитесь на странице: 1из 12

Delphi: ������� ������������.

����� 1

��������� � ������ www.delphi.h5.ru/files.rar

� ����� �������

���������� ������� ��������

��� ������ �� ������� �������� ����

������ ��������� �������

������� ������ ��������

������� �������� ������������ � ������ ����

� �������� ������� � ����� �����

������������ ����� ���������

�������� � ���������� ����


� ����� �������

��������, ��� Delphi ������� ��������� ������ � ����������� pas, dfm, dpr � �.�.
������ ������������ ��������� ����� ���� (pas) � ������� ���� (dfm), � ���������
������ ��� ��� ��� �����, � �� � ��� ����� ����� ���������, ������ ����� (� � ���
������� � �����) �������.

������ � ����� ������� (dpr). ���������� �� �������� ���������� ���������, � ��


���� ��� �������� � �������� �������������� ����� ���� � DLL ����������� �����
������������.

��������� ����� �������, ����������� ����������� �����, ������, ��� �������� �


�������� 1.
������� 1
program Project1;

uses
Forms,
Unit1 in 'Unit1.pas' {Form1};

{$R *.RES}

begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.

������ (���������) ��������� ���������� � ������ Initialize ����������� �������


Application � ������������ ����� ��������� ��� ������ Run. ���� ����� �
�����������: �� ������������� ������ ����� ��������� � ����������� ��������������
��������� Windows. �� ����, ���� ������ ��������� �������� ����, ��������������
����� ���������� � ����, ������ ���� �������� ���������, � ��� ������ �� �������
�������� ����.

����� Initialize ������������, ��� ��������, �� ����� ������ � �� �������� ������


�� �����������. ����� ��������� ��� ��������, ������� ��������� ��������� ��
������������� ��������� ��� ���������� � ��������� ��������� InitProc. ��� �����
������� � ������ ������������� ����� ����� (��� ���� ������ ������������� �� ������
������ �������� ���������) ��� ��������������� � ���� �������� ������� (������� 2):

������� 2
procedure Init;
begin
// �������� ����-�� ������;
end;

begin
InitProc := @Init;
Application.Initialize; // ��������� � Init
Application.CreateForm(TForm1, Form1);
Application.Run;
end.

���������, � ���� ��������� ������ ����� ����� � ������ ��������� ��������


��������� ���� ��������� � ��������� Init. ������ �����, � ���������� �����������
������� �������� Application.Initialize ����� ������� ��� �����-���� ����������� ��
���������.
���������� ������� ��������

� �������� ������� �� ���������� ���� ����� ���������� � Initialize � Run ������


����������� �������������� ������ ������ CreateForm, � ������ �������� �������
������������ � ������� �����. ������ ����� ����� ������ ����������� ���� ��������
���������. � ��������� ������ �� ������ ����� ����� ������ ���� ���� ������� �����
��������� (��� �������� ������ ���������� � CreateForm), � ��������� �������-����
����� ��������� � ���� ������ ��������� ����� ������������� ��������������� ����.

�� �������� � ������������ Auto create forms (��������� � ������ ����� Project|


Options ����� Delphi) �� �������� Preference ���� Tools|Environment ����������
������, ��� ��������� Delphi �������� ��� ���� ����� � ������ Auto-create forms �
����������� �������������� �������� �������� � CreateForm � ����� �������. ����
�������� ���� ������������ ����� ������� ������ ��� �������� ��� ��������� ��������
����� � ������ Available forms ���� Project|Options, ����� ����������� (������ � �
������ ���) ��������� ���� �������� ���������.
��� ������ �� ������� �������� ����

� ���������� ���� �������� 3 (������ ����������� �� ���������� ������� Delphi) �


��������� �������� 5 ����. � ����� Form5 ������ ��������� ProgressBar1, � ������
�������� �������������� ������� �������� ���������, ������ � ������� ���������
����.
������� 3

begin
with TForm5.Create(nil) do
try
ProgressBar1.Max := 100;
Show; // ���������� ����� Form5 � ����������� ProgressBar1
Update; // ������������� ����� Form5
Application.CreateForm(TForm1, Form1);
ProgressBar1.StepBy(25);
Application.CreateForm(TForm2, Form2);
ProgressBar1.StepBy(25);
Application.CreateForm(TForm3, Form3);
ProgressBar1.StepBy(25);
Application.CreateForm(TForm4, Form4);
ProgressBar1.StepBy(25);
finally
Free; // ��������� ������� ����� Form5
end;
Application.Run;
end.

������ ��������� �������

��� ����� �� �������, ����������� ����� ��������� ���� ��� �� �������� � ������
Application.Run. � ���������, �� ����� �������� ���������� ���� � �������� ����� �
����������� ����� Application.Run, ���� ��������� ������������� ������ �������. �
�������� ������� (������� 4 � Password.dpr) � ������� ���������� ��� �����:
���������� ����� InputQuery � ������ ����� MainForm. ����� InputQuery �������� ���
��������� � ����������� �������, ������������ � ������ Dialogs. ��� �����������
����� ��������� ���������� ���� � ������������ ���������� TEdit � ���� �������� �
�� � Cancel. � ���� ������������ ������ ������ ������ (Delphi) � ������ Enter.
������� 4
program Password;

uses
Forms,
Dialogs, // � ���� ������ ���������� ������ InputQuery
Unit1 in 'Unit1.pas' {MainForm};

{$R *.RES}
var
Passwrd: String;
begin
// ����������� ������:
if InputQuery('���� ����� �����','������� ������:',Passwrd) then
// �������� ���:
if Passwrd = 'Delphi' then
begin // ��� � ������, ������ �����
Application.CreateForm(TMainForm, MainForm);
Application.Run;
end else
ShowMessage('������ �� �����!');
end.

������� ������ ��������

������������� �������� ����� ��������� ������� ������ ��������, ������� �����


��������������� ������ �� ������������ ���� ��� �� ��������� ��������� ����������
��������. � �������� 5 ����������� ���� ������� (Trial.dpr), � ������� ������ �����
��������� ����� ���������� �� ����� 5 ���. �� ���������� ������ ���������� �������
����������� ��������� ������.
������� 5
program Trial;

uses
Forms,
Unit1 in 'Unit1.pas' {Form1},
Registry, Dialogs; // �� TRegistry � ShowMessage

{$R *.RES}
var
Reg: TRegistry;
N: Integer;
begin
Reg := TRegistry.Create;
with Reg do
begin
OpenKey('software', True);
OpenKey('TrialProg', True);
if ValueExists('MaxRun') then // ������ ������?
begin // - ���
N := ReadInteger('MaxRun')-1;
if N>=0 then
WriteInteger('MaxRun', N)
end else begin // -��, ������ ������
N := 5;
WriteInteger('MaxRun', N)
end;
Free
end;
if N>0 then
begin
Application.CreateForm(TForm1, Form1);
Application.Run;
end else
ShowMessage('��������� ������������ ���������� ��������'+
' ������� ������ ���������')
end.

����� ������� ���� ��������� �����������. ������ Registry ����������� �����


TRegistry, ������� ����������� ������������ ������ � ���������� ������� Windows. �
������ ���� ��������� � ������� TRegistry.OpenKey �������� �/��� ���������� ���
HKEY_CURRENT_USERSoftwareTrialProg ���������� �������. ������ TRegistry.ValueExists
���������� True, ���� ���� ��� �������� �������� � ������ MaxRun � �� ����
���������� ��������. ��� ������ ������� ��������� ��� �� ���, ������� ����������
WriteInteger �������� �������� � �� ���� ���������� ��������� �������� 5
(������������ ���������� �������� ���������). ��� ������ �������� ������� ����
�������� ���������� �� 1 � � ������, ����� �� ��������� ����� 0, ����������
��������� �������� � ����������� �������� ����.
������� �������� ������������ � ������ ����

�������� �������� �� ����������� uses � ������ �������. ��� ������������


�������������� ����� Uni1 � ������ ������������������ ����� in ���������� �� �����
� ������� ����� ('Unit1.pas'), � �������� �� ������ ����������� {Form1} �������
������-����, ����������� ������� Unit1. ������ ���� �������� Delphi �������������
������� �� ������� ���������� � ������ �����. Delphi ������� �������� � ������
������ ������������� � ���� ����������� ������, � �� ���������� ������ ������� ���
������ ����� View | Units; � ��� ������ View | Forms ����������� ������ ����
������������� � ����������� ��������.

��������� ������������� ����� ������������ �� ������� �������� ����������,


����������� ���������� �����: ��� ���������� �������� ������� � ���� ������
�������� ����� �������, � ������ � ����� ����, � ������� ����������� ����� ��������
������ �� ������.
� �������� ������� � ����� �����

������, ������ ������� ����������� ��������� ������� ����� ������ � ���� �����: �
���� �������, ������� ����������� �������, ������ ������ ������ �� ���������
������, � ���������� Delphi ��������� ������� �������� ������� � ��������������
������. ���� ����� ������ ����������� �� �������, �� ��� �������� �������� ���
�������� � ��������� �� ������ ����� ������ �����. ��� ����, ���� �����������
������ � ����� ����� �� ��� �� ������� �����. � ���� ������ ������� �����������: ��
������ ���-�� ������� � ����� �������, �� ���������� �� ��� ����� �� �����������, �
���� �� ���������� ���������� ����� �������� � �����-���� �� �������, �� ���
������� ����������������� � ��������� ����� ��-�������� ������������ ������������
�����, � �� �����.

���� �� �������� ��������� ������ � ����� ����� � ��� ���� ��������� ���
�����������������, ��� ����� ������� � ������ ����� File|Save Project As
����������� � ��� ����� ���� �������, � ����� � ������ ����� File|Save As ���������
���� ��� �������� � �������� ������: ������ ����� Delphi ������ ������ �����������
��������� � ���� �������. �� ���� ��� ����� ������ � ������������ �����, �� �
����������� uses �� ��������� �������� �������, � ������� �� ������� �������������
����������� ����� ��� ����� � ����� �����.

����������� ���� .dsk, � ������� ����� �������� ��������� � �������� ������ �


������ ������ �� Delphi, ����� �������� ������ �������� ������� � �������� ������.
��� �������� ������� ���� ���� ���������� �� �������.
������������ ����� ���������

��� ��������� ��������������� ������������ Windows ����� �� ������������ �������


������� � ������� ������ TCanvas: ���� ����� ������������� ���� �������� ���������
������ ������ � ���������� �������������. � ����. 1 ����������� ��������� �������
Windows, ������� �� ������������� ����� TCanvas � �������� �����������
������������� ��������� ����� (������ �� �������� ������� ������ ������� TCanvas).

������� 1. ��������� ��������� ������� Windows API type TLogFont = record

lfHeight: Integer; lfWidth: Integer; lfEscapment: Integer; lfOrientation:


Integer; lfWeight: Integer; lfItalic: Byte; lfUnderline: Byte; lfStrikeOut: Byte;
lfCharSet: Byte; lfOutPrecision: Byte; lfClipPrecision: Byte; lfQuality: Byte;
lfPitchAndFamily: Byte; lfFaceName: PChar;

end;

function CreateFont(Font: TLogFont): hFont; ������� ����� ����� �� ������


������ � ��������� Font (���������� ����� ��������� TLogFont ��. � ������ �����
�������)
function DrawText(DC: hDC; pText: PChar; var Rect: TRect; Format: Wodr): Integer;
� ������������� Rect ������� ������������� �����, �� ������� ��������� pText.
�������� Format ����������� �� ������������� (��. ����)
function ExtTextOut(DC: hDC; X, Y: Integer; Options: Integer; Rect: TRect; pText:
PChar; Count: Integer; PX: PInteger): Bool; ������� ����� � ��������������
�������������� ����������: X, Y � ������ ���� ����� ������; Options � ��������,
���������� ������� (��. ����); Rect � ������������� ������������; pText � ���������
�� ������ ������; Count � ���������� ��������� ��������; PX � ��������� �� ������
������������� ��������, ����������� ������������� ��������: 1-� �������� �
��������� �� 1-�� �� 2-�� �������; 2-� �������� � ��������� �� 2-�� �� 3-�� �������
� �.�.; ���� �����-�� �������� ����� 0, ����������� ������������ �������������
���������
function GetBkColor(DC: hDC): TColor; ���������� ���� ����
function GetBkMode(DC: hDC): Integer; ���������� ����� ���������� ����: Opaque
� ��� �������������� ������ ��� ������ ������; Transparent � ��� �� ��������������.

function GetTextAlign(DC: hDC): Integer; ���������� ������������ ������


function GetTextCharacterExtra(DC: hDC): Integer; ���������� �������������
���������
function SetBkColor(DC: hDC; Color: TColor): TColor; ������������� ����� ���� ����
� ���������� ������, ���� ��������� �������
function SetBkMode(DC: hDC; Mode: Integer): Integer; ������������� ����� �����
���������� ���� � ���������� ������, ���� ������� �������
function SetTextAlign(DC: hDC; Flags: Integer): Integer; ������������� �����
������������ ������ � ���������� ������, ���� ����� �������
function SetTextCharacterExtra(DC: hDC; CharExtra: Integer): Integer;
������������� ����� ������������� ��������� � ���������� ������, ���� �����
�������

��������� ��� ��������� TLogFont �� ������� CreateFontIndirect ���� �������� �����:

lfHeight � ������ ������ � ������� (1 ����� = 1/72 ����); ���� ������ 0 � ���������
������ ����������� (� ������ ���������� ��� ��������� �������� ��������� � ������
�, �); ���� ������ 0 � ��������� ������ �������� �������, ���� ����� 0 � ������
�������� Windows;

lfWidth � ������ ������ �������; ���� ����� 0 � ������ ������������� Windows;

lfEscapment � ���� ������� ������� ����� ������ � ������ ���� ������� ������������
��������������� ����������; ������������� ������� � ������� �� ������� �������; �
Windows 95/98 ��������� � lfOrientation;

lfOrientation � ���� ������� �������� �� �������� � ������� �����; � Windows NT ��


������� True Type ����� ��������� �� lfEscapment; �� ����� ������� ���������� �����
���������� ���������� ������ gm_Advanced (�� �������� ��������������
gm_Compatible);

lfWeight � ��������� ������ (fm_DontCare=0 � ��������� �������� Windows;


fm_Thin=100 � ����� ������ �����; fm_ExtraLight=200 � ����� �������; fm_Light=300 �
�������; fm_Normal=400 � ����������; fm_Medium=500 � ����������; fm_SemiBold=600 �
����������; fm_Bold=700 � ������; fm_ExtraBold=800 � ���������; fm_Heavy=900 �
������);

lfItalic, lfUnderline, lfStrikeOut � ��������� �������� �������� ��������������


���������, ������������� � ������������ �����;

lfCharSet � ����� �������� (ANSI_CharSet=0; Default_CharSet=1; Symbol_CharSet=2;


ShiftJis_CharSet=128; OEM_CharSet=255);

lfOutPrecision � �������� ������������ ������; ������������ Out_TT_Prec (��������


True Type � ��������� ������, ���� ���� ��������� �������������� �����������
�������) ��� Out_TT_Only_Prec (������ True Type);

lfClipPrecision � ��������� �������� �������� ������� ��������� ������� ����������


(Clip_Character_Precis, Clip_Embedded, Clip_Mask, Clip_TT_Always,
Clip_Default_Precis � ������������, Clip_LH_Angles, Clip_Stroke_Precis);

lfQuality � ��������� �������� ���������� (Default_Quality, Draft_Quality,


Proof_Quality);

lfPitchAndFamily � � ������� ������� ������� ���������� ��� ������, � �������


������� � ��� ���������;

lfFaceName � �� ��������� ������.


��� ���������� ���� ������, �������� � �������� 6.
������� 6
procedure TForm1.FormPaint(Sender: TObject);
var
X: Integer;
LF: TLogFont;
Fnt: HFont;
const
Text = '����� � ���� ������� ���������������';
begin
// ��������� ��������� ������ ������
FillChar(LF, SizeOf(LF), 0);
with LF do
begin
lfHeight := 20;
lfWeight := fw_Normal;
lfUnderline := 1;
lfEscapement := 450;
StrPCopy(lfFaceName, 'Courier New Cyr');
end;
with Form1.Canvas do
begin
// ������� �����
Fnt := CreateFontIndirect(LF);
// ����������� ��� ���������� ������ �����
Font.Handle := Fnt;
// ������� ����� ��� ����� +45 ��������
TextOut(0, 300, Text);
X := TextWidth(Text);
DeleteObject(Fnt); // ������ �������� �����
// ������� ��������� ������
with LF do
begin
lfHeight := 90;
lfEscapement := -900;
lfWeight := fw_Heavy;
StrPCopy(LF.lfFaceName, 'Arial Cyr');
end;
Fnt := CreateFontIndirect(LF); // ������� ����� �����
Font.Handle := Fnt;
Font.Color := clRed;
// ������� � �������� -90 ��������
TextOut(X-10, 10, 'Delphi 5');
DeleteObject(Fnt); // ������ �������� �����
end;
end;

�������� Format ������� DrawText ����� ��������� ���� ��� ��������� ������ (����.
2).

������� 2. ��������� ������� ��������� Format ������� DrawText ���� ����������


dt_Bottom ����� ���������� � ������ ����� ������� Rect
dt_CalcRect ��������� ����������� ������� ������� ������� Rect
dt_Center ����� ����������� �� �����������
dt_EditControl ������ ��������� �������� ���������� �������������� ���������
���������. � ���������, ����� �� �������� ��������� ������ ������ ������� � ��
����������� �������� ������ �������� ������
dt_ExpandTabs ������� �������� �������� ���������
dt_ExternalLeading � ������ ������ �������� ������ ������������ ���������
dt_Left ����� ���������� � ����� ����� ������� Rect
dt_NoClip ����� �� ��������� ��������� Rect
dt_NoPrefix ������� & �� �������� ��������������
dt_Right ����� ���������� � ������ ����� ������� Rect
dt_SingleLine ���� ����� �������� ������������ �������, ������� EOLN ����������

dt_TabsStop ������� �������� �� �������� ���������


dt_Top ����� ���������� � ������� ����� ������� Rect
dt_VCenter ����� ����������� �� ���������
dt_WordBreak ��������� ������� �� ���� ������ ��� ���������� ������ �������
Rect; ������ ������ � �� ������� �����; ������� EOLN ����� �������� ����� ��
������� ������

���� ���������� ���� dt_CalcRect, ������ ������� ������ � ������ �������������


����� �������, ����� ������� ���� �����. ���� �������� ��������� �����, ������
������ �� ������. ������ ���������� ������� ������ ������������� ������.

�������� Options ������� ExtTextOut ����� ���� ����������� �������� ��������:

eto_Clipped � ����� ����� ��������� ��������� Rect;

eto_Gliph_Index � ��������� ��������� �������� ���������;

eto_Opaque � ��� ��������������� ������;

eto_RTLReading � ����� �� ����� ������ ������.

��� ������ ������ ������������ �������� TCanvas ������ ������ �������������� ���
�������� (���� ���� ���������� ������ GetBkColor). ���� ���� ���� ��������
��������� �� ���� �����, ����� ������������� ���������� ��������� ���������.

�������, � ������ ������� SetBkColor ����� ����������, ����� ���� ����� �������� �
������ �����, ������ ��� �� ������ ��������. ��� �� ����� ������ �� �������
���������, � ������ ��������� �� ������������ ������ � �������. ����, ���
���������� ���������� ���� �������� SetBkColor ����������. ����� ����, ���������
������� �������� Setup.exe ����� ����������� ������� ���������� ��������� �������
Times New Roman ������ ������� � ������ ����. ����������� �������� ������
���������� ������. ���, ����� ������ ��������� �� ���������� ����, ��������� �
������ ������� SetBkMode ����� Transparent, � ������� ������� ������: ������ ���
������ ������, � ������ � �����, ������� ����� ������� ������� ����� � �����
������������ ������. ������� 7 ����������� ��������� (Setup.dpr):
������� 7
procedure TForm1.FormPaint(Sender: TObject);
var
Y: Integer;
Blue: Byte;
const
Text = '��� �� ��������� Setup.exe';
begin
with Form1.Canvas do
begin
// ������� ���:
for Y := 0 to Form1.Height-1 do
begin
// ��������� ������������� ����� � ������ �������� Y
Blue := Round($FF*(Form1.Height-Y)/Form1.Height);
// ��������� ����
Pen.Color := RGB(0, 0, Blue);
// ������ ����
MoveTo(0, Y);
LineTo(Form1.Width-1, Y);
end; // for Y := 0 to Form1.Height-1 do
Font.Size := 32;
Font.Style := [fsBold, fsItalic, fsUnderline];
Font.Name := 'Times New Roman Cyr';
// ��� ��������� ����������� ����� �� ���:
SetBkMode(Handle, Transparent);
// ������� ������� ���� �������
Font.Color := clBlack;
TextOut(40, 30, Text);
// ������ ���� �������
Font.Color := clWhite;
TextOut(36, 26, Text)
end; // with Form1.Canvas do
end;

�������� � ���������� ����

������� �� �� ��� DLL �� ����� ����������� �����, � �� ������ ����� �������� �����
�� �������� � ����������� �������. �� ����� � ���������� ����������� ������ uses ��
�������� ������-����� � �������� �������������� �� DLL ������������, � �������
���������� ����� �������������� ����.

� �������� �������� (TestDLLForm.dpr) ������������ ������� ������� � DLL ����� �


������������ �� � ��������� ��������� (�������� 8, 9 � 10).
������� 8. ����� DLL
library DLLWithForm;

uses
SysUtils,
Classes,
DLLFormU in 'DLLFormU.pas' {DLLForm};

{$R *.RES}

exports
ShowModalForm, ShowForm, FreeForm;

begin
end.
������� 9. ����� ����� � DLL
unit DLLFormU;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Buttons;

type
TDLLForm = class(TForm)
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
CallForm: THandle; //���������� ��������� �����
public
{ Public declarations }
end;

// ��������� �������������� �����������


function ShowModalForm: Integer;
procedure ShowForm(Appl, Form: THandle);
procedure FreeForm;

var
DLLForm: TDLLForm;

implementation

{$R *.DFM}

function ShowModalForm: Integer;


// ��������� �����
begin
DllForm := TDllForm.Create(Application);
Result := DLLForm.ShowModal;
DLLForm.Free;
end;

procedure ShowForm(Appl, Form: THandle);


// ����������� �����
begin
Application.Handle := Appl; // ������ ������� Application
DllForm := TDllForm.Create(Application);
// ���������� ���������� ���������� ���� �� �������
// ��� �������� � ��������
CallForm := Form;
DLLForm.Show
end;

procedure FreeForm;
// ����������� �����
begin
DLLForm.Free
end;

procedure TDLLForm.FormClose(Sender: TObject;


var Action: TCloseAction);
begin
if CallForm<>0 then
SendMessage(CallForm, wm_User, 0, 0)
end;

end.
������� 10. ����� ��������� ���������
unit TestMainU;

interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;

type
TTestMain = class(TForm)
Button1: TButton;
Button2: TButton;
Button3: TButton;
Label1: TLabel;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
// ������� ��������� ������������ ��������� WM_USER,
// ������� �������� ����� �� DLL � ������ ������ �������
procedure WMUser(var Msg: TMessage); message WM_USER;
end;

var
TestMain: TTestMain;

implementation

{$R *.DFM}

function ShowModalForm: Integer; External 'DLLWithForm';


procedure ShowForm(Appl, Form: THandle); External 'DLLWithForm';
procedure FreeForm; External 'DLLWithForm';

procedure TTestMain.Button1Click(Sender: TObject);


// ��������� �����
begin
Button2.Enabled := False;
label1.Caption := 'ModalResult = '+IntToStr(ShowModalForm);
label1.Show; // ���������� ��������� ������
Button2.Enabled := True
end;

procedure TTestMain.Button2Click(Sender: TObject);


// ����������� �����
begin
Button1.Enabled := False;
Button2.Enabled := False;
Button3.Enabled := True;
label1.Hide;
ShowForm(Application.Handle, Self.Handle);
end;

procedure TTestMain.Button3Click(Sender: TObject);


// ������� �����
begin
FreeForm;
Button1.Enabled := True;
Button2.Enabled := True;
Button3.Enabled := False;
end;

procedure TTestMain.WMUser(var Msg: TMessage);


// ��������� �� ����� DLL � �� ��������
begin
Button3.Click
end;

end.

������ ����� DLLForm, ���������� � DLL, �������� �� ����������� ������ Forms �,


����� �������, �������� ���� ���������� ������ Application, ������� ������ ���
����� � ���������� ������� ��������� ���������. � ������ ���������� ������ ��� ��
����� ������� �������, ��������� ��������� ���� ��������� ������ ���������
���������. � ������ ������������ ������ ������� �������������� ������� ��������, �
��������� ������ ���������� �������� ����, ��������, �� �������� � ����������� ����
DLL. ������������ ���������� ���, ��� ���������� ������� Application DLL ��������
�������������� ������������ ��������� ���������.

��� ������ ����� � ����������� ������ ��� ����� ���� ������� ���� ��������� ��
����������, ���� ������� �� ����������� ��������� ������ �������. � ���������
������ ��� ������ �����-�� ������� ��������� �������� ��������� �� ���� �������. ��
����� ����������� ����������� �������� ������� Windows-��������. ��������� ������
����� ����� � ���������� ����, �� �������� ��� �������������. ��� ������ ������
���������� �������� � ������� ShowForm � DLL ��������� � � ���� CallForm
����������� ���������� ���� ��������� ���������. ���������� ������ OnClose �����
�������� ��� ���� �, ���� ��� ����������, �������� ���������� ���� ��������� �
�������� WM_USER. � ��������� ��������� ������������ ���������� ����� ��������, �
������� ��������� ����������� �������.