Текущий архив: 2002.06.17;
Скачать: CL | DM;
ВнизКак скомпоновать форму at runtime? Найти похожие ветки
← →
BPK (2002-06-04 03:20) [0]Есть описание класса формы (наследник от TForm). Все вложенные компоненты создаются и размещаются на форме в её конструкторе.
При выполнении программы ругается "Resource TMyForm not found". Как заставить его НЕ пользоваться ресурсами для формы?
Тем более, если я создаю объект от TForm, то всё проходит нормально.
← →
Игорь Шевченко (2002-06-04 09:55) [1]Код бы посмотреть...
← →
Mike_Goblin (2002-06-04 10:34) [2]У тебя в модуле формы присутствует строка
{$R *.DFM}
Если да, удали ее
← →
BPK (2002-06-04 13:17) [3]Строки {$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.
← →
Игорь Шевченко (2002-06-04 13:28) [4]>MyForm:=TMyForm.Create(nil);
TMyForm.CreateNew(nil) или TMyForm.CreateNew(Application)
Рекомендую посмотреть в forms.pas TCustomForm.Create
Страницы: 1 вся ветка
Текущий архив: 2002.06.17;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.006 c