C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
TLabel->Caption, Не обновляются значения
Jojobets
Отправлено: 14.05.2005, 21:46


Ученик-кочегар

Группа: Участник
Сообщений: 16



На форме порядка 20 лейблов (TLabel), созданных динамически (массив элементов типа TLabel). Функция обновляет Caption всех лейблов определенными значениями. Но на самой форме прорисовыввется в лучшем случае 5 лейблов, остальные — нет. Если свернуть и развернуть форму, то можно увидеть новые значения, обновленные. Принудительное обновление Update() не помогает.
Код следующий:
...
TLabel *mylabels[20][20];


void __fastcall Tmyform::FormCreate(TObject *Sender)
{const int wdt=60;
const int hgt=20;
for(int i=0;i<10;i++)
{ for(int j=0;j<10;j++)
{mylabels[i][j]=new TLabel(myform);
mylabels[i][j]->Parent=myform;
mylabels[i][j]->Width=wdt;
mylabels[i][j]->Height=hgt;
mylabels[i][j]->Left=10+wdt*i;
mylabels[i][j]->Top=13+hgt*j;
mylabels[i][j]->AutoSize=false;
mylabels[i][j]->Alignment=taCenter;
mylabels[i][j]->Caption="#####";
}
}
}

После тоже все обычно — пытаемся изменить значение Caption:
mylabels[1][2]->Caption=всякая_всячина;
Причем подряд несколько таких строк, изменяющая каждая свой элемент.
Daan
Отправлено: 15.05.2005, 01:12


Дежурный стрелочник

Группа: Участник
Сообщений: 62



Методом ctrl+c и ctrl +v проверил и пришел к вывады что код работает, никаки замечаний не имеется...
GIZMO
Отправлено: 15.05.2005, 07:49


Машинист паровоза

Группа: Участник
Сообщений: 174



QUOTE (Daan @ 15/05/2005, 01:12)
Методом ctrl+c и ctrl +v проверил и пришел к вывады что код работает, никаки замечаний не имеется...

TApplication::ProcessMessages()
Jojobets
Отправлено: 16.05.2005, 15:17


Ученик-кочегар

Группа: Участник
Сообщений: 16



приведенный код не единственный в программе. Там еще куча всего, чего я не могу засветить по понятным причинам.
Программа отдельным потоком получает данные с СОМ-порта, на котором висит контроллер. Эти данные и помещаются в caption соответствующих labels. На основе функции обновления caption'ов формируется поток.
Проблема решилась следующим образом. Я отключил в BIOSе HyperThreading и переустановил винду. Все стало работать нормально.
Сейчас пытаюсь разобраться, в чем же конкретно было дело. wink.gif
olegenty
Отправлено: 16.05.2005, 15:31


Ветеран

Группа: Модератор
Сообщений: 2412



для справки: сертифицирована на работу с гипер-трйдином только линейка XP (2003 server в том числе). остальные ОС от Microsoft — нет.
** daan
Отправлено: 18.05.2005, 15:41


Не зарегистрирован







>olegenty
А можно поподробнее про то что вы скаазали???? или где про это можно посмотреть....

Вернуться в Вопросы программирования в C++Builder