HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   Форум АНТИЧАТ > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Memo поле и открытие файла
  #1  
Старый 15.03.2009, 16:26
LAGOX
Познающий
Регистрация: 14.02.2009
Сообщений: 31
Провел на форуме:
73281

Репутация: 5
По умолчанию Memo поле и открытие файла

Всем доброго времени суток.
Пишу я значит текстовый редактор. В меню Файл у меня есть стандартные подменю(новый,открыть,сохр нить, сохранить как, закрыть, выход).
Я реализовал кнопку закрыть путем такого кода:
Код:
  vvod.Free;
где vvod-это имя memo поля.
Далее я реализовал кнопку новый вот таким путем:
Код:
  vvod:=tmemo.create(self);
  vvod.Parent:=form1;//родитель
  vvod.Show;//показываем поле
  vvod.Align:=alClient;//выравниваем
Это было предисловие, а теперь собственно вопрос. При закрытии мемо поля, и после нажатия кнопки "Открыть" вылетает ошибка и указывает вот сюда(на эту строчку кода):
Код:
vvod.Lines.LoadFromFile(OpenDialog1.FileName);
 
Ответить с цитированием

  #2  
Старый 15.03.2009, 16:32
eLWAux
Постоянный
Регистрация: 15.06.2008
Сообщений: 941
Провел на форуме:
5111568

Репутация: 2399


По умолчанию

Код:
if OpenDialog1.Execute then
vvod.Lines.LoadFromFile(OpenDialog1.FileName);
 
Ответить с цитированием

  #3  
Старый 15.03.2009, 16:33
LAGOX
Познающий
Регистрация: 14.02.2009
Сообщений: 31
Провел на форуме:
73281

Репутация: 5
По умолчанию

Цитата:
Сообщение от eLWAux  
Код:
if OpenDialog1.Execute then
vvod.Lines.LoadFromFile(OpenDialog1.FileName);
у меня так и написанно, я просто указал ту строчку куда именно падает ошибка
 
Ответить с цитированием

  #4  
Старый 15.03.2009, 17:11
Flame of Soul
Участник форума
Регистрация: 25.05.2007
Сообщений: 290
Провел на форуме:
1740746

Репутация: 435
Отправить сообщение для Flame of Soul с помощью MSN
По умолчанию

Цитата:
Это было предисловие, а теперь собственно вопрос. При закрытии мемо поля, и после нажатия кнопки "Открыть" вылетает ошибка и указывает вот сюда(на эту строчку кода):
а во что открывать если в тот момент поле vvod не существует?
я так поняла после закрытия вы освободили его, то собственно при открытии вы должны его снова создать.

И если у вас всего один объект класса TMemo- vvod, т.е. не надо переключатся между ними почему бы просто вместо закрытия не сделать:

PHP код:
vvod.lines.clear;
vvod.visible:=false
вместо создать:
PHP код:
vvod.lines.clear;
vvod.visible:=true
вместо открыть:

PHP код:
vvod.lines.clear;
vvod.visible:=true;
if 
Opendialog.execute then vvod.lines.LoadFromfile(OpenDialog.FileName); 

Последний раз редактировалось Flame of Soul; 15.03.2009 в 17:18..
 
Ответить с цитированием

  #5  
Старый 15.03.2009, 22:50
LAGOX
Познающий
Регистрация: 14.02.2009
Сообщений: 31
Провел на форуме:
73281

Репутация: 5
По умолчанию

спасибо, так и сделал=)
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Пароль в CPanel ufo44 Уязвимости 11 07.12.2006 00:33



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.