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

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

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.05.2011, 17:44   #11
Прик
Форумчанин
 
Регистрация: 08.09.2010
Сообщений: 880
По умолчанию

Цитата:
loginParams.Values['USER_NAME'] реально смотрит на адрес памяти, куда указывал объект dlg.edit1.text.
Предположение ложно.
Если посмотреть что такое Values[Index], то это всего лишь строка, а при присвоении значения строка не "смотрит на адрес", а копирует это значение.

Ошибка на методе Free из-за того, что вызов этого метода происходит в самой форме, которую хотят освободить.
Код:
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  Free; //ошибка
end;

Последний раз редактировалось Прик; 05.05.2011 в 18:43.
Прик вне форума Ответить с цитированием
Старый 05.05.2011, 23:50   #12
raf999
 
Регистрация: 01.05.2011
Сообщений: 6
По умолчанию

Ситуация на самом деле с точностью наоборот. Я вызываю free из form2 для form1:
procedure Tmen.IBDatabase2AfterConnect(Sender : TObject);
begin
con.free; //сon - это форма которую надо закрыть
end;

А вот тут как раз ошибки и нет, что close что free
procedure Tcon.BitBtn3Click(Sender: TObject);
begin
con.free; // кнопка закрытия формы
end;

freeandnil тоже не помог, а вот такая схема ошибок не выдает:
procedure Tmen.IBDatabase2AfterConnect(Sender : TObject);
begin
con:=nil;
con.free;
end;

Последний раз редактировалось raf999; 06.05.2011 в 01:39.
raf999 вне форума Ответить с цитированием
Старый 06.05.2011, 06:25   #13
Прик
Форумчанин
 
Регистрация: 08.09.2010
Сообщений: 880
По умолчанию

А проблема тогда в чем? Если ни в одной, ни во второй "схеме" ошибок нет.

Последний раз редактировалось Прик; 06.05.2011 в 06:49.
Прик вне форума Ответить с цитированием
Старый 06.05.2011, 09:26   #14
raf999
 
Регистрация: 01.05.2011
Сообщений: 6
По умолчанию

Проблема в том, что при закрытии формы con из формы men методом free появляется ошибка.
procedure Tmen.IBDatabase2AfterConnect(Sender : TObject);
begin
con.free; //сon - это форма которую надо закрыть
end;

Tcon.BitBtn3Click - это просто кнопка закрытия окна, без каких-либо доп. функций. Тут что free что close срабатывают нормально.


Вроде схема аналогично примеру, и если ошибка тут, то она должна быть и в приведенном выше примере.
Вот и хочу понять из-за чего такое происходит.

Последний раз редактировалось raf999; 06.05.2011 в 09:28.
raf999 вне форума Ответить с цитированием
Старый 06.05.2011, 09:43   #15
Прик
Форумчанин
 
Регистрация: 08.09.2010
Сообщений: 880
По умолчанию

Видимо надо посмотреть чего в ваших исходниках твориться. Потому как у меня никаких ошибок при закрытии диалога нет. Да и откуда им взяться, если делается как в примере. Т.е. пример при закрытии формы не дает ошибок.
Прик вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запуск программы от имени другого пользователя... EraM Общие вопросы Delphi 3 12.05.2011 11:07
Запрашивание имени пользователя и сохранение конфигурации Viresta Общие вопросы Delphi 1 27.12.2010 01:05
При установке ловушки на клавиатуру зависают приложения, запущенные от имени другого пользователя. _Lamer Visual C++ 2 22.11.2010 10:01
Определение имени пользователя из сервиса Garacio_cain Общие вопросы Delphi 2 10.12.2009 17:17
Прочесс без имени пользователя delphin100 Общие вопросы Delphi 0 29.10.2008 06:45