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

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

Создание своей формы


подмастерье ©   (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;


Наверх

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