Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.08.2010, 19:24   #1
tonatas
Пользователь
 
Регистрация: 12.08.2010
Сообщений: 20
Печаль обработчик события onClose для формы созданной в Run-Time

у меня в программе создаётся форма в Run-Time. Ноя я никак немогу навесить на эту форму обработчик события onClose. Вот код:
{Принцип работы программы:
Появляется главная форма. Она предлагает выбор режима работы(Обычный текст, Поэтический текст, Web-страница)
Пользователь выбирает. Главная форма становится невидемой. А форма режима создаётся. Если он закрывает форму режима,
то её ячейка освобождается, а главная форма становится видимой.}
unit Unit1;
interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls,
Forms, Dialogs, StdCtrls, Buttons, ExtCtrls, Menus;
type
TMainForm = class(TForm)
ComboBox1: TComboBox;
BitBtn1: TBitBtn;
procedure BitBtn1Click(Sender: TObject);
private
{ Private declarations }
procedure TextFormCloses();
public
{ Public declarations }
end;

var
MainForm: TMainForm;//Главная форма
TextForm:TForm;//Форма для режима "Обычный текст"
PoemForm:TForm;//Форма для режима "Поэтический текст"
WebForm:TForm;//Форма для режима "Web-страница"
implementation

{$R *.dfm}

procedure TMainForm.BitBtn1Click(Sender: TObject);
begin
case ComboBox1.ItemIndex of
0:begin
TextForm:=TForm.Create(self);//Создаём форму
TextForm.Name:='TextForm';//Присваивания имени для формы
TextForm.Caption:='Обычный текст';//Присваивание заголовка для формы
TextForm.Top:=150;//Отступ сверху 150 пикселей
TextForm.Left:=150;//Отступ слева 150 пикселей
TextForm.Width:=1024;//Ширина 1024 писеля
TextForm.Height:=768;//Высота 768 пикселей
TextForm.BringToFront;//Выдвинуть на передний план
TextForm.Show;//Показать форму
TextForm.OnClose:=TextFormCloses;//Задаю процедуру, которая обрабатывает закрытие формы
MainForm.Visible:=False;//Делаем главную форму невидимой
end;
end;
end;

procedure TMainForm.TextFormCloses(Sender: TObject);
begin
TextForm.Free;
MainForm.Visible:=True;
end;

end.

А вот ошибка, которую мне выдаёт:
[Error] Unit1.pas(45): Incompatible types: 'Parameter lists differ'
[Error] Unit1.pas(51): Declaration of 'TextFormCloses' differs from previous declaration
tonatas вне форума Ответить с цитированием
Старый 12.08.2010, 19:42   #2
GunSmoker
Старожил
 
Регистрация: 13.08.2009
Сообщений: 2,581
По умолчанию

Сообщения об ошибках читать не пробовали? Чёрным по белому написано, что не так.
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
GunSmoker вне форума Ответить с цитированием
Старый 12.08.2010, 19:47   #3
Ins
Форумчанин
 
Регистрация: 29.12.2007
Сообщений: 137
По умолчанию

Да и вообще у OnClose формы другой прототип:
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
Ins вне форума Ответить с цитированием
Старый 13.08.2010, 21:46   #4
tonatas
Пользователь
 
Регистрация: 12.08.2010
Сообщений: 20
Радость СПАСИБО

СПАСИБО
tonatas вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обработчик события для смещения указателя мыши по окну программы... vedro-compota Мультимедиа в Delphi 8 15.06.2010 06:08
Run-time error 1004 для метода Unprotect при общем доступе Chelentano Microsoft Office Excel 2 11.08.2009 16:57
Эффективная утилитка для обнаружения утечек памяти и run-time ошибок Zen2007 Общие вопросы C/C++ 2 19.07.2009 22:54
Создание события формы, доступного в Disign-time Fausto Компоненты Delphi 4 06.06.2008 16:12
События, выполняемые во время работы созданной компоненты Denager Общие вопросы Delphi 13 22.04.2008 16:48