Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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.044 c
15-1231603006
{RASkov}
2009-01-10 18:56
2009.03.15
Спутниковое ТВ на несколько телевизоров


15-1231177309
nonamez11
2009-01-05 20:41
2009.03.15
смена картинки при наведении


4-1206457103
Informer
2008-03-25 17:58
2009.03.15
Кнопка закрытия формы


15-1231485931
Оксана
2009-01-09 10:25
2009.03.15
Создание отчетности в Delphi


6-1199884451
werb
2008-01-09 16:14
2009.03.15
Как простучать сетевую директорию





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский