Поиск:

Ответ в темуСоздание новой темы Создание опроса
> изменить значение DBEdit из другой формы, изменить DBEdit из другой формы 
:(
    Опции темы
vinvin
Дата 11.7.2007, 18:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 35
Регистрация: 30.1.2007

Репутация: нет
Всего: 1



Есть форма с котролом типа TDBEdit. Таблица открыта, Stat=dsEdit. 
Проблема в том, что не могу изменить значение TDBEdit из другой формы.

Для эксперемента пробовал на ту же форму, где находиться TDBEdit, поместить кнопку с кодом по клику:
Код

  DBEditModemName.Field.AsString:='Проба' ;


Все идет замечательно. Но стоит мне выполнить код из другой формы
Код

 frmModemDetal.DBEditModemName.Field.AsString:='Проба' ;


Как выдается ошибка "Access violation". 

Скажу сразу вторую форму я вызываю из первой. Обе формы видимы. Так что, не о каком разделении доступа вроде бы речь не идет. База Access. Доступ по ADOTable.
DBEditModemName стоит в классе формы как обычно, без объявления видимости (где все объекты VCL), т.е. published. BDS2006 второй Update.

Я уже попробовал взять вместо ADOTable ADODataSet - результат тот же.

Неужели ни у кого не встречалась подобная задача? Люди SOS!!!

Это сообщение отредактировал(а) vinvin - 11.7.2007, 22:08
PM MAIL   Вверх
vinvin
Дата 12.7.2007, 07:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 35
Регистрация: 30.1.2007

Репутация: нет
Всего: 1



А теперь я сам себе отвечу.

Дело совсем не DBEdit, а в форме, точнее в указателе на форму. Я объявил в модуле формы переменую  frmModemDetal, а фому создал так
Код

 with TfrmDetal.Create(Self) do Show;


Т.е. форма была создана, а в переменную frmModemDetal ничего не записано. Вот если бы я сделал
Код

 Application.CreateForm(TfrmDetal, frmDetal);

то все встало бы на свои места. 
Однако в коде у меня я создаю форму по имени класса (ну в общем так задумано). Поэтому есть несколько выходов. Один из них - присваивать переменной frmDetal действительный указатель на объект (например frmDetal =Self в классе TfrmDetal) или передавать Self в перегруженный конструктор другой формы. 
Хотя, чего я туплю - ведь я же передаю Owner при создании формы... TfrmDetal.Create(Self).  В общем пошел работать дальше. Не попадайтесь на такие ошибки.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.0562 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.