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

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

Как скомпоновать форму at runtime? [D6]


BPK ©   (2002-06-04 03:20:00) 

Есть описание класса формы (наследник от TForm). Все вложенные компоненты создаются и размещаются на форме в её конструкторе.
При выполнении программы ругается "Resource TMyForm not found". Как заставить его НЕ пользоваться ресурсами для формы?
Тем более, если я создаю объект от TForm, то всё проходит нормально.


Игорь Шевченко   (2002-06-04 13:28:00) [1]

>MyForm:=TMyForm.Create(nil);

TMyForm.CreateNew(nil) или TMyForm.CreateNew(Application)

Рекомендую посмотреть в forms.pas TCustomForm.Create


BPK   (2002-06-04 13:17:00) [2]

Строки {$R *.DFM} нет.
А код простой (к содержанию не придирайтесь, это всего лишь проба пера):

unit CForm;

interface

uses Windows,Forms,StdCtrls,SysUtils,ComCtrls,Classes;

type
TMyForm=class(TForm)
private
L:array[1..10]of TLabel;
E:array[1..10]of TEdit;
T:array[1..10]of TTrackBar;
public
constructor Create(AOwner:TComponent); override;
end;

procedure DisplayForm;

implementation

var MyForm:TMyForm;

procedure DisplayForm;
begin
MyForm:=TMyForm.Create(nil);
MyForm.ShowModal;
MyForm.Release;
end;

constructor TMyForm.Create(AOwner:TComponent);
const LH=20;
var i:integer;
begin
inherited;
Caption:="Sample runtime form assembly";
for i:=1 to 10 do begin
L[i]:=TLabel.Create(Self);
with L[i] do begin
Parent:=Self;
SetBounds(0,(i-1)*LH,30,LH);
Caption:=IntToStr(i);
end;
E[i]:=TEdit.Create(Self);
with E[i] do begin
Parent:=Self;
SetBounds(30,(i-1)*LH,30,LH);
Text:=IntToStr(i);
end;
T[i]:=TTrackBar.Create(Self);
with T[i] do begin
Parent:=Self;
SetBounds(60,(i-1)*LH,200,LH);
Min:=0;
Max:=255;
end;
end;
end;

end.


Mike_Goblin   (2002-06-04 10:34:00) [3]

У тебя в модуле формы присутствует строка
{$R *.DFM}
Если да, удали ее


Игорь Шевченко   (2002-06-04 09:55:00) [4]

Код бы посмотреть...


Наверх

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