![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Создание своей формы
подмастерье © (2010-08-20 16:09:00)Здравствуйте, уважаемые Мастера!
Когда я пытаюсь создать форму класса TconvForm=class(TForm), то в строке Application.CreateForm(TconvWindow, convWindow); у меня при запуске возникает следующая ошибка:
---------------------------
Debugger Exception Notification
---------------------------
Project glContest10.exe raised exception class EResNotFound with message 'Resource TAveWindow not found'.
---------------------------
Break Continue Help
---------------------------
При этом, если я изменяю эту строку на Application.CreateForm(TForm, convWindow); то происходит нормальный запуск, однако события, которые должны происходить OnCreate и OnClose не выполняются. Никакого визуального программирования нет, все пишу runtime.
Код project.dpr:
program glContest10;
uses
Windows,
uConvForms in 'uConvForms.pas',
begin
InitWindow;
end.
Содержимое юнита uConvForms.pas:
unit uConvForms;
interface
uses
Forms, Dialogs;
procedure InitWindow;
type
TConvWindow = class(TForm)
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
public
end;
var
convWindow: TconvWindow;
implementation
procedure TAveWindow.FormClose(Sender: TObject; var Action: TCloseAction);
begin
ShowMessage('start');
end;
procedure TAveWindow.FormCreate(Sender: TObject);
begin
ShowMessage('byebye');
end;
procedure InitWindow;
begin
Application.Initialize;
Application.CreateForm(TconvWindow, convWindow);
with convWindow do begin
ClientWidth := 800;
ClientHeight:= 600;
Left := Screen.Width div 2 - Width div 2;
Top := Screen.Height div 2 - Height div 2;
end;
Application.Run;
end;
end.
Есть подозрение, что я совершаю где-то ну очень глупую ошибку. Заранее благодарю за помощь.
подмастерье (2010-08-20 16:41:00) [1]Спасибо большое, Ega23, все помогло.
Ega23 (2010-08-20 16:17:00) [2]
Left := Screen.Width div 2 - Width div 2;
Top := Screen.Height div 2 - Height div 2;
Вот это тоже замени на
convWindow.Position := poScreenCenter;
Ega23 (2010-08-20 16:15:00) [3]
> Есть подозрение, что я совершаю где-то ну очень глупую ошибку.
> Заранее благодарю за помощь.
А события назначать Пушкин будет?with convWindow do begin
ClientWidth := 800;
ClientHeight:= 600;
Left := Screen.Width div 2 - Width div 2;
Top := Screen.Height div 2 - Height div 2;
OnCreate := FormCreate;
OnClose := FormClose;
end;