|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
12.08.2010, 19:24 | #1 |
Пользователь
Регистрация: 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 |
12.08.2010, 19:42 | #2 |
Старожил
Регистрация: 13.08.2009
Сообщений: 2,581
|
Сообщения об ошибках читать не пробовали? Чёрным по белому написано, что не так.
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
|
12.08.2010, 19:47 | #3 |
Форумчанин
Регистрация: 29.12.2007
Сообщений: 137
|
Да и вообще у OnClose формы другой прототип:
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); |
13.08.2010, 21:46 | #4 |
Пользователь
Регистрация: 12.08.2010
Сообщений: 20
|
СПАСИБО
СПАСИБО
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Обработчик события для смещения указателя мыши по окну программы... | 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 |