Форум: "Начинающим";
Текущий архив: 2009.03.15;
Скачать: [xml.tar.bz2];
Внизsleep и динамическое создание объектов Найти похожие ветки
← →
Тимоха (2009-01-24 02:05) [0]Создаю форму, label, memo динамически и все работает нормально. Но если в конце процедуры вставить код sleep(), то форма и мемо создаются, лабел тоже но его не видно, почему? как исправить?
← →
Германн © (2009-01-24 02:37) [1]
> но его не видно, почему?
Значит не судьба.
:(
← →
Юрий Зотов © (2009-01-24 04:22) [2]> Тимоха (24.01.09 02:05)
Странно, так быть не должно. Похоже, в коде есть ошибка.
Исправить можно перерисовкой (Label.Invalidate), но лучше не исправлять, а попытаться найти ошибку.
← →
Leonid Troyanovsky © (2009-01-24 11:22) [3]
> Тимоха (24.01.09 02:05)
> Но если в конце процедуры вставить код sleep(),
И в чем сакральный смысл оного заклинания?
--
Regards, LVT.
← →
Медвежонок Пятачок © (2009-01-24 11:29) [4]отжохнуть после напряженного цикла
← →
Anatoly Podgoretsky © (2009-01-24 12:12) [5]> Медвежонок Пятачок (24.01.2009 11:29:04) [4]
В рабочее время то?
← →
Тимоха (2009-01-25 00:50) [6]использовал delay, все норм работает. спасибо!
мне вот еще один вопрос не дает покоя, как найти все динамически созданные формы например поменять caption label который находится на них?
← →
KilkennyCat © (2009-01-25 00:56) [7]
> как найти все динамически созданные формы например поменять
> caption label который находится на них?
Странный вопрос.
Вы их сами создаете, значит знаете, где они и как они называются.
При создании надо сразу продумывать дальнейшую работу.
Можно использовать FindComponent
Можно запихнуть в массив.
Примеров множество.
← →
Тимоха (2009-01-25 01:14) [8]хм. я их создаю. но потом например мне нужно через каждые 5 сек. менять во всех этих окнах значение caption двух label"ов
← →
Германн © (2009-01-25 01:19) [9]
> Тимоха (25.01.09 01:14) [8]
>
> хм. я их создаю. но потом например мне нужно через каждые
> 5 сек. менять во всех этих окнах значение caption двух label"ов
>
Ты их создал, тебе и карты в руки!
При создании у тебя есть туева хуча вариантов как сохранить ссылки на эти формы.
← →
Тимоха (2009-01-25 01:21) [10]например сохрянять hwnd в массиве?
← →
{RASkov} © (2009-01-25 01:25) [11]> Тимоха
Формы создаются от одного типа? На Предке создоваемых форм присутствуют эти самые метки или они тоже в рантайм создаются?
← →
Тимоха (2009-01-25 01:30) [12]Спасибо ответившим!
в рантайм создаются. а потом мне нужно пробежаться по всем формам которые создал. и получить возможность изменять свойства меток в том числе и caption.
← →
Германн © (2009-01-25 01:34) [13]
> Тимоха (25.01.09 01:21) [10]
>
> например сохрянять hwnd в массиве?
>
Зачем hwnd? Если ты создаёшь экземпляры TForm или его наследников, то и запоминай(сохраняй), например в массиве, ссылки на эти экземпляры.
Или, если не запомнил, или ещё что, используй список форм Application.Screen.Forms
← →
Тимоха (2009-01-25 01:46) [14]1. что представляют из себя ссылки?
2. screen.forms дает доступ к формам, но не к им компонентам.
← →
{RASkov} © (2009-01-25 01:48) [15]> [14] Тимоха (25.01.09 01:46)
1) var lb: TLabel; подчеркнутое - ссылка.
2) TMyForm(Screen.Forms[i]).Label1.Caption:="";
← →
KilkennyCat © (2009-01-25 01:54) [16]Мда. Вот и весь ООП.
← →
Тимоха (2009-01-25 01:55) [17]2. должен быть цикл походу по все формам. типо того?
procedure TForm1.Button6Click(Sender: TObject);
var
i: byte;
begin
for i := 0 to Screen.FormCount - 1 do
if Screen.Forms[i] <> Application.MainForm then
Form1(Screen.Forms[i]).Label1.Caption := "";
end;
что должно быть на месте form1 ? :))))
← →
KilkennyCat © (2009-01-25 01:58) [18]ничего.
← →
Тимоха (2009-01-25 02:00) [19]извините,обманул вас:(
форма уже созданна и объекты на ней тоже.
просто форма создается по нажатию на кнопку.var
S: string;
begin
S := list.Items[ItemIndex].Hint;
with TfrmQwerty.Create(self) do
begin
id := Copy(S, 4, Pos("#name", S) - 4);
Caption := list.Items[ItemIndex].Caption;
Show;
end;
← →
KilkennyCat © (2009-01-25 02:11) [20]странно как-то создаешь.
Краткий пример о динамическом создании форм:
http://delphi.about.com/od/adptips2005/qt/nilselfapp.htm
← →
Германн © (2009-01-25 02:19) [21]
> Тимоха (25.01.09 01:46) [14]
>
> 1. что представляют из себя ссылки?
> 2. screen.forms дает доступ к формам, но не к им компонентам.
>
>
Ох уж эти троешники! :)
> просто форма создается по нажатию на кнопку.
> var
Ну да. Просто что-то волшебное происходит при нажатии на кнопку.
И кто-то тут ещё вякает в защиту телеканала 2х2!
:)
← →
Тимоха (2009-01-25 05:21) [22]телевизора не имею и ни разу об этом не пожалел :)
← →
KilkennyCat © (2009-01-25 12:56) [23]
> Германн © (25.01.09 02:19) [21]
Хороший канал, мультик про крысу-убийцу - блеск.
← →
Тимоха (2009-01-25 16:24) [24]Еще вопрос про задержку. Пишу здесь чтобы не плодиться:))
Как сделать чтобы при наведении на image например, с задержкой в n сек менялся label.caption? Т.е. навели на image, прошло n сек. и поменялся текст в label. Обрабатываю onenter/onleave
← →
AndreyV © (2009-01-25 16:38) [25]> [24] Тимоха (25.01.09 16:24)
> Как сделать чтобы при наведении на image например, с задержкой
> в n сек менялся label.caption? Т.е. навели на image, прошло
> n сек. и поменялся текст в label. Обрабатываю onenter/onleave
TTimer.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2009.03.15;
Скачать: [xml.tar.bz2];
Память: 0.5 MB
Время: 0.039 c