Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.10.2008, 18:42   #1
Johnson
кривокодер ;)
Форумчанин
 
Аватар для Johnson
 
Регистрация: 20.06.2008
Сообщений: 707
По умолчанию "Глюки" интерфейса...

Здрасте, уважаемые! Я к Вам с очередной проблеммой)
История такая: на форме вкладка (при инициализации открыта не она). На вкладке компонент JvRichEdit.
Проблемма такая: Если первая запись строки в этот рич произошла до того, как я открываю эту вкладку - рич не прорисовывается и на его месте видны следы предыдущей открытой вкладки. При этом тормозить начинает всё приложение.
Если я сначала открываю вкладку с ричем и только потом добавляется строка - то всё нормально работает, даже если после перехода на другую вкладку было добавлено сообщение....
Подскажите в чем может быть дело? (подозреваю что в потоках)

Код:
    EnterCriticalSection(_cs);
  with L2PacketHackMain.Chat_Log_Edit do begin
      x:=L2PacketHackMain.Chat_Log_Edit.SelStart;
      y:=L2PacketHackMain.Chat_Log_Edit.SelLength;
      i:=Length(Text)-Lines.Count;
      lines.Add(text2);
      SelStart:=i;
      SelLength:=8;
      SelAttributes.Color:=clGrayText;
      SelStart:=i+9;
      SelLength:=Length(cname);
      SelAttributes.Bold:=true;
      SelStart:=i+9;
      SelLength:=Length(cname)+2+Length(ctext);
      SelAttributes.Color:=Clr;
      SelStart:=x;
      SelLength:=y;
      if (y=0) then
      begin
      L2PacketHackMain.Chat_Log_Edit.CaretPos:=Point(0,Lines.Count-1);
      end;
    //L2PacketHackMain.Chat_Log_Edit.SetFocus;
  end;
    LeaveCriticalSection(_cs);
Вот кусок кода с добавлением строки из массива... пробовал и без входа в крит часть - то же самое происходит...

пожалста ткните носом в ошибку)

Заранее благодарен за ответ.
"А как написать праграму?, "ришыти задачьку очинь нада" ©с форума. Жить становится интереснее, жить становится веселее...
{Быть или не быть} {Неуспешный суицид}
Johnson вне форума Ответить с цитированием
Старый 10.10.2008, 19:10   #2
Johnson
кривокодер ;)
Форумчанин
 
Аватар для Johnson
 
Регистрация: 20.06.2008
Сообщений: 707
По умолчанию

Вопрос снимается, тему можно удалить (на усмотрение модератора)

Как говорится, "дело было не в бабине, раздолбай сидел в кабине" %)
Конфликт потоков был в другом месте, происходили одновременно несколько записей в массив сложный
"А как написать праграму?, "ришыти задачьку очинь нада" ©с форума. Жить становится интереснее, жить становится веселее...
{Быть или не быть} {Неуспешный суицид}
Johnson вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка при использовании OlePropertyGet("Documents").OleProcedure("Add") в C++ Builder AleksP C++ Builder 7 11.04.2009 13:06
если пользователь наберет какой-то другой символ не "y" или "n" и нажмет enter, программа проигнорирует skobets Общие вопросы C/C++ 2 03.06.2008 06:51
Excel файл открывается не "до конца" (странички "не показываются" только серое поле) Dorvir Microsoft Office Excel 2 28.03.2008 10:03
Создаю диаграмму "Bar". Подскажите как убрать растояние между "столбами" MAcK Компоненты Delphi 11 24.10.2007 10:49