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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.06.2013, 09:34   #1
Vanta11a
Lawful Evil
Участник клуба
 
Аватар для Vanta11a
 
Регистрация: 13.05.2008
Сообщений: 1,208
По умолчанию Не обновляется текст в Edit

Код, подобный этому:
Код:
Form2.Edit1.Text := 'ErrorString';
меняет содержимое поля Text, но на форме это не отображается (визуально остается старое содержимое).
Аналогично для поля "Caption" Label`a, что бы я не присваивал - визуально остается тот текст, что был при инициализации формы.

Гугль молчит про такую багу. ЧЯДНТ?
Алгоритм - бесплатен. Поиск багов - бесплатен. Реализация алгоритма - за отдельную плату.
На форуме помогают советами и объясняют, а не пишут на халяву программы, лабы, курсачи и т.д. (c)
Vanta11a вне форума Ответить с цитированием
Старый 02.06.2013, 09:59   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Скорее всего до этой команды дело не доходит. В отладчике посмотрите. Да и код показать не мешало бы
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 02.06.2013, 10:07   #3
Vanta11a
Lawful Evil
Участник клуба
 
Аватар для Vanta11a
 
Регистрация: 13.05.2008
Сообщений: 1,208
По умолчанию

В том-то и проблема, что отладчик изменение свойства показывает (breakpoint после выполнения команды срабатывает). А в GUI нет ничего.
Может я с созданием формы косячу?
Объявление глобально в var + при нажатии кнопки следующий код:
Код:
Form2 := TForm2.Create(Application);
Form2.ShowModal;
Алгоритм - бесплатен. Поиск багов - бесплатен. Реализация алгоритма - за отдельную плату.
На форуме помогают советами и объясняют, а не пишут на халяву программы, лабы, курсачи и т.д. (c)
Vanta11a вне форума Ответить с цитированием
Старый 02.06.2013, 10:10   #4
Lardes
Форумчанин
 
Аватар для Lardes
 
Регистрация: 19.08.2011
Сообщений: 329
По умолчанию

Убери
Код:
Form2 := TForm2.Create(Application);
если у тебя форма не создается динамически.

Попробуй таким образом:
Код:
Form2.Edit1.Text := 'ErrorString';
Form2.ShowModal;
Lardes вне форума Ответить с цитированием
Старый 02.06.2013, 10:11   #5
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

мало кода .
eval вне форума Ответить с цитированием
Старый 02.06.2013, 10:16   #6
Vanta11a
Lawful Evil
Участник клуба
 
Аватар для Vanta11a
 
Регистрация: 13.05.2008
Сообщений: 1,208
По умолчанию

В свойствах проекта
Код:
Application.CreateForm(TForm2, Form2);
В глобальном var
Код:
Form2 : TForm2
В обработчике кнопки:
Код:
procedure TForm1.ButtonClick(Sender: TObject);
begin
Form2 := TForm2.Create(Application);
Form2.ShowModal;
end;
Дальше работа в Form2, обработчик кнопки:
Код:
procedure TForm2.ButtonClick(Sender: TObject);
begin
Form2.Edit1.Text := 'ErrorString';
Form2.Edit1.Text := 'ErrorString'; //тут стоит breakpoint
end;
Я что-то упустил?

Цитата:
Убери
Падает с ошибкой чтения.
Алгоритм - бесплатен. Поиск багов - бесплатен. Реализация алгоритма - за отдельную плату.
На форуме помогают советами и объясняют, а не пишут на халяву программы, лабы, курсачи и т.д. (c)
Vanta11a вне форума Ответить с цитированием
Старый 02.06.2013, 10:29   #7
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
Падает с ошибкой чтения.
Не должно, если ранее не было Form2.Free
Проект пересобрать не пробовали? Возможно баг в проекте
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 02.06.2013, 10:29   #8
Lardes
Форумчанин
 
Аватар для Lardes
 
Регистрация: 19.08.2011
Сообщений: 329
По умолчанию

В свойствах проекта оставляешь все как есть, в остальном случае:
Код:
procedure TForm1.ButtonClick(Sender: TObject);
begin
  Form2.Edit1.Text := 'ErrorString';
  Form2.ShowModal;
end;
Lardes вне форума Ответить с цитированием
Старый 02.06.2013, 10:38   #9
Vanta11a
Lawful Evil
Участник клуба
 
Аватар для Vanta11a
 
Регистрация: 13.05.2008
Сообщений: 1,208
По умолчанию

Цитата:
Не должно, если ранее не было Form2.Free
Не было.
Цитата:
Проект пересобрать не пробовали? Возможно баг в проекте
Пробовал. Может есть что-то в духе Clean (c++ builder)?
Lardes
Проблема в том, что данные не обновляются из второй формы (первая её только вызывает). Процедура срабатывает, поле меняется, а в GUI обновления нет.
Алгоритм - бесплатен. Поиск багов - бесплатен. Реализация алгоритма - за отдельную плату.
На форуме помогают советами и объясняют, а не пишут на халяву программы, лабы, курсачи и т.д. (c)
Vanta11a вне форума Ответить с цитированием
Старый 02.06.2013, 10:41   #10
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

Код:
procedure TForm2.ButtonClick(Sender: TObject);
begin
Edit1.Text := 'ErrorString';
Edit1.Text := 'ErrorString';
end;
eval вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сохранить в текстовый файл текст из Memo и текст из нескольких Edit misher Общие вопросы Delphi 5 02.01.2011 15:37
Не отображается текст в Edit kta87 Помощь студентам 3 02.03.2010 00:56
Проверить текст в Edit Nikone Общие вопросы Delphi 5 15.12.2009 18:46
Текст в Edit Simon..14 Общие вопросы C/C++ 7 18.01.2009 17:28
Edit и текст M@rsel Компоненты Delphi 2 23.03.2007 09:33