Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.07.25;
Скачать: CL | DM;

Вниз

Подскажите, как код разнести по разным файлам (Unit ам)?   Найти похожие ветки 

 
Michael5   (2005-07-09 20:31) [0]

Будьте добры, объясните на пальцах, как разнести код по разным файлам? Это нужно для удобства чтения этого кода.

Покажите, если не трудно, на примере нижеследующей программы, как правильно вынести процедуру TForm1.Button1Click в Unit2.pas (основной код находится в Unit1.pas), как подключить потом Unit2.pas в Unit1.pas?

Буду очень признателен!!!

unit Unit1;

interface

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

type
TForm1 = class(TForm)
  Button1: TButton;
  procedure Button1Click(Sender: TObject);
private
  { Private declarations }
public
  { Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
Close;
end;

end.


 
Anton_K ©   (2005-07-09 20:38) [1]

Никак. TForm1.Button1Click это не процедура.


 
Michael5   (2005-07-09 20:43) [2]

Да? Пишется procedure, а читается ливерпуль?... Оч.интересно... :)

То есть без вариантов? Потому что хотелось бы выкинуть в отдельный файл в том числе и эти явления, происходящие при нажатии кнопок и т.д.


 
Гаврила ©   (2005-07-09 20:48) [3]


> Да? Пишется procedure, а читается ливерпуль?... Оч.интересно...
> :)


Читается "Метод"
это метод класса TForm1.
Существует ограничение, согласно которому весь класс должен находиться в одном юните, так что в чистом виде никак. (Вариант {$I} рассматривать не будем).
Вот будет 2 класса - тогда пожалуйста. один в одном, другой в другом


 
Anton_K ©   (2005-07-09 20:50) [4]

Да? Пишется procedure, а читается ливерпуль?
Button1Click это метод.

То есть без вариантов?
Ну, в принципе можно примерно так сделать:

unit Unit1;

interface

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

type
TForm1 = class(TForm)
 Button1: TButton;
 procedure Button1Click(Sender: TObject);
private
 { Private declarations }
public
 { Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

uses Unit2;

procedure TForm1.Button1Click(Sender: TObject);
begin
Btn1Click(Sender);
end;

end.

unit Unit2;

interface

procedure Btn1Click(Sender:TObject);

implementation

procedure Btn1Click(Sender:TObject);
begin
...
end;

end.


 
Michael5   (2005-07-09 21:04) [5]

Ну что ж, спасибо всем! Теперь понятно...



Страницы: 1 вся ветка

Текущий архив: 2005.07.25;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.04 c
14-1119556021
Ломброзо
2005-06-23 23:47
2005.07.25
И снова DMJS Client


1-1120823676
Still Swamp
2005-07-08 15:54
2005.07.25
Конвертировать строку в varian


14-1120151136
Michael5
2005-06-30 21:05
2005.07.25
Можно ли прочитать таблицу данных,которую создает некая программа


4-1117486048
ali_tash
2005-05-31 00:47
2005.07.25
Flashka на компьютере


1-1120543864
sergg
2005-07-05 10:11
2005.07.25
При запуске на другой ЭВМ приложению не хватает qtintf70.dll