|
Тема
|
Прости въпроси,
|
|
Автор |
Яceн *;o) (луд за черпене) |
Публикувано | 21.04.02 18:04 |
|
като от от един прост начинаещ :) :
type
TForm1 = class(TForm)
HTTPGet1: THTTPGet;
procedure HTTPGet1DoneString(Sender: TObject; Result: String);
procedure HTTPGet1Error(Sender: TObject);
private
1. Как Делфито 'знае', че HTTPGet1 при error ще използва точно HTTPGet1Error процедурата?
Явно някак си се става ясно, че на евента OnError се отива на HTTPGet1Error.
Ама как - да не би .dfm да държи тая информация?
2. Как мога аз да дефинирам такава процедура, ако използвам динамично създаване на визуалния компонент?
В смисъл когато не е част от Form1, a така:
HTTPGet1 := ТHTTPGet1.Create;
3. И когато извиквам по второия начин процедурата, какво трябва да пратя като параметер за Sender?
Редактирано от Яceн *;o) на 21.04.02 18:10.
| |
|
Awe vzemi procheti nqkoq knijka. Ne e hubavo da pitash za takiva raboti.
Kakto vikash ako si go pravish desgntime, vsik4o ti e v DFM-to. Ako iskash run-time, togava v programata si definirash edna procedurka:
type
TForm1 = class(TForm)
private
HTTPGet1: THTTPGet;
procedure HTTPGet1Error(Sender: TObject); // !!! toq put vuv private, zashtoto tova sam si go pravish
nqkude iz implementation trqbva da slojish:
procedure Form1.HTTPGet1Error(Sender: TObject);
begin
//razni bozi
end;
sled tova kudeto shte create-vash pishesh:
HTTPGet1 := ТHTTPGet1.Create;
HTTPGet1.OnError := Form1.HTTPGet1Error; //nikakvi prarametri zashtoto ne izvikvash ,a samo associirash subitieto
pomisli si malko za chetene
ae
by Wise Guy
Редактирано от Wise Guy на 21.04.02 23:04.
| |
|
Ще се отправя към книгите, че с тоя подход на проби и грешки бавничко става...
Благодаря ти още веднъж.
Ясен *<;о)
Never mistake motion with action. A. Einstein
| |
|
|
|
|