Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Создание объектов во время работы программы !!! [D6, Win95/98, WinME, Win2k, WinXP]


Mr ©   (2002-08-19 10:52:00) 

procedure TForm1.Button1Click(Sender: TObject);
var x:TEDit;
begin
x:=TEdit.create(self);
x.parent:=form1;
x.left:=10;
x.top:=10;
x.Width:=250;
x.Text:="Привет компонент появился сам!!!";
end;
- создает текстовое поле при нажатии на кнопку !!! Все ясно и понятно, а как теперь задать реакцию на событие(мне надо OnClick и OnMouseMove)для нового объекта, который не существовал до запуска программы!!!!

Заранее благодарю !!! И большое спасибо за помощь !!!


KSergey   (2002-08-19 13:00:00) [1]

http://delphi.vitpc.com/helloworld/index.htm
Статья "Жизнь и смерть в режиме run-time" - там есть ответы на все ваши вопросы


Mr   (2002-08-19 12:32:00) [2]

Огромное спасибо всем!!!!!!! Учту, исправлю, буду стараться !!! :)


Skier   (2002-08-19 12:23:00) [3]

>Mr


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 }
procedure OnEC(Sender : TObject);
public
{ Public declarations }
end;

var
Form1: TForm1;
x:TEdit;
implementation

{$R *.dfm}

procedure TForm1.OnEC(Sender : TObject);
begin
x.Text:="!!!!!!!!!!!!!";
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
x:=TEdit.create(self);
x.parent:=form1;
x.left:=10;
x.top:=10;
x.Width:=250;
x.Text:="Привет компонент появился сам!!!";
x.OnClick:=OnEC;
end;

end.


Mr   (2002-08-19 12:12:00) [4]

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;
x:TEdit;
implementation

{$R *.dfm}

procedure OnEC(Sender : TObject);
begin
x.Text:="!!!!!!!!!!!!!";
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
x:=TEdit.create(self);
x.parent:=form1;
x.left:=10;
x.top:=10;
x.Width:=250;
x.Text:="Привет компонент появился сам!!!";
x.OnClick:=OnEC;
end;

end.


Он очень громко ругается и пишет:
[Error] Unit1.pas(39): Incompatible types: "method pointer and regular procedure"


Anatoly Podgoretsky   (2002-08-19 11:26:00) [5]

Не пиши отдельную процедуру, все равно побругает, нужна процелура метод класса


Turalyon   (2002-08-19 10:59:00) [6]

Пишеше процедуру отдельную....
procedure OnMyEditClick (Sender : TObject);

.....

procedure TForm1.Button1Click(Sender: TObject);
var x:TEDit;
begin
x:=TEdit.create(self);
x.parent:=form1;
x.left:=10;
x.top:=10;
x.Width:=250;
x.Text:="Привет компонент появился сам!!!";
x.OnClick := OnMyEditClick;
end;


Наверх

Титульная страница Поиск, карта сайта Написать письмо