|
Платные хостинги
Раскрутка сайта
Книги по программированию
TForm, Где обработчик событий у TForm?
- Начало в топике form&thread.Так вот: если в цикле потока вызывать refresh формы, то отображается все, вроде как надо. Но сама форма не реагирует на внешние раздражители.Вопрос: где у формы искать процедуру - обработчик событий?
- Что-то я не понял вопроса. Можно пример кода?
- Да поток у тебя не правильно написан скорее всего. Такая элементарная операция, вообще может обойтись и без синхронизации. Сделай проще, в TThread.Execute напишиi:=0;FreeOnTerminate;While not Terminate dobegin form^.memo1.Add(Inttostr(i)); inc(i); Sleep(100);if i=100 then Terminate; end;Вроде так должно работать.
- Спасибо - буду пробовать.Мда.Вчера сделал по-другому: в OnClick создаются два потока: один показывает форму, другой - делает работу и передает то, что сделал в эту форму. Общаются они через указатели. Чуствую излишнюю сложность этого решения, но "самый быстрый путь в отсутствие умных советов - это как умеешь".А насчет обработчика событий - когда создается окно в Windows, ему назначается процедура, которая будет обрабатывать события. А в Дельфи доступны предопределенные события. То есть процедуры и функции, которые, по идее, вызываются из функции-обработчика событий окна. Я спрашивал про эту оконную функцию.
- Да скорее всего так и надо. Если только никто из другого потока не будет менять Memo.Lines. кварк: Такая форма использовани: form^.memo1 очень редка, потому как переменные классов в Delphi и есть указатели. То есть обычно это выглядит так:Код var Form1:TForm1;...procedure DoAction(form:TForm1) //Никакого копирования здесть нет - принимается указательbegin form.memo1.Add(1);end;procedure click;begin DoAction(Form1)end;highlightSyntax('delphiA2ZTI0','delphi');
- Извини, конечно, но если ты имеешь в виду процедуру окна, тогда это WNDPROC. Но я не понимаю на какой болт она тебе нужна?
Интернет казино
Онлайн игры
Увеличение члена
Купить DVD
|