Форум: "Основная";
Текущий архив: 2004.12.12;
Скачать: [xml.tar.bz2];
ВнизДинамическое создание объекта Найти похожие ветки
← →
Брат (2004-11-29 12:43) [0]Подскажите пожалуйста, как создать объект, к примеру кнопку, не объявляю при этом переменную TButton?
← →
Ega23 © (2004-11-29 12:46) [1]
function ShowMessagesString(const aMessage:String; aCaption:String="";
FormWidth:Integer=750; FormHeight:Integer=500):Boolean;
var
aForm:TForm;
begin
Result:=False;
try
Application.CreateForm(TForm, aForm);
try
With aForm do
begin
Caption:=aCaption;
BorderStyle:=bsDialog;
Height:=FormHeight;
Width:=FormWidth;
Position:=poScreenCenter;
end;
With TMemo.Create(aForm) do
begin
Parent:=aForm;
Font.Name:="Courier New";
Name:="memSQLLogMonitor";
Align:=alTop;
ScrollBars:=ssBoth;
WantReturns:=False;
Height:=aForm.ClientHeight-40;
Clear;
Lines.Text:=aMessage;
end;
With TButton.Create(aForm) do
begin
Parent:=aForm;
Cancel:=True;
Height:=25;
Width:=100;
Font.Size:=10;
Top:=aForm.ClientHeight-30;
Left:=aForm.ClientWidth-110;
Caption:="Закрыть";
ModalResult:=mrCancel;
end;
aForm.ShowModal;
finally
aForm.Free;
end;
except on E:Exception do
raise Exception.Create("ShowMessagesString "+E.Message);
end;
end;
← →
Брат (2004-11-29 13:35) [2]
> With TButton.Create(aForm) do
> begin
> Parent:=aForm;
> Cancel:=True;
> Height:=25;
> Width:=100;
> Font.Size:=10;
> Top:=aForm.ClientHeight-30;
> Left:=aForm.ClientWidth-110;
> Caption:="Закрыть";
> ModalResult:=mrCancel;
> end;
а как к этой кнопке в дальнейшем обратиться по имени?
← →
begin...end © (2004-11-29 13:42) [3]> [2] Брат (29.11.04 13:35)
> а как к этой кнопке в дальнейшем обратиться по имени?
Найти её c помощью aForm.FindComponent, только при создании нужно указать ей имя.
← →
Ega23 © (2004-11-29 13:48) [4]А что тебе мешает в var ещё и btn:TButton добавить??? Это же всего лишь указатель?
← →
Брат (2004-11-29 13:50) [5]Понял спасибо :)
← →
Брат (2004-11-29 13:55) [6]
> Ega23 © (29.11.04 13:48) [4]
> А что тебе мешает в var ещё и btn:TButton добавить??? Это
> же всего лишь указатель?
дело в том что я незнаю сколько у меня будет таких компонентов - может быть один а может быть и сто
не хочется объявлять сто переменных TButton :(
← →
Ega23 © (2004-11-29 14:02) [7]А, ну тогда давай кнопке имя. Или Tag свойство используй, по integer"у быстрее искать будет, чем по String
← →
KSergey © (2004-11-29 14:03) [8]> [6] Брат (29.11.04 13:55)
> дело в том что я незнаю сколько у меня будет таких компонентов
> - может быть один а может быть и сто
> не хочется объявлять сто переменных TButton :(
Оборжаться.
А грузить процессор FindComponent - это нормально??
Динамические массивы, к стати, именно для того и придумали чтобы неизвестно сколько (на этапе разработки) чего-то хранить.
А вообще - почитайте http://www.delphikingdom.com/helloworld/runtime_comp.htm
Ибо полезно оно.
← →
begin...end © (2004-11-29 14:12) [9]> [6] Брат (29.11.04 13:55)
Используйте динамические массивы или TObjectList.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.12.12;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.05 c