Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.12.19;
Скачать: CL | DM;

Вниз

Заполнение данных формы из справочника   Найти похожие ветки 

 
TAN_K   (2004-11-18 11:31) [0]

Господа , здравствуйте !
Есть форма - например , личная карточка работника . Данные : место рождения , перемещения , место работы , профессия и т. д. эаполняем из соответствующих справочников .
1 форма - список работников .
Например , надо внести перемещения работника .
2 форма - перемещения . Данные ввожу , редактирую , удаляю с помощью модальной формы (диалога) - форма 3 .
В форме 3 есть поля :
- подразделение (поле 1)
- профессия и т.д. (поле2 , 3 , 4 ...)
Значения полей получаю из справочникка - форма 4 .
Форма 4 одна для нескольких справочников (динамическое описание Grida и Query).
Когда вызываю справочник в поле 1 , форма 4 закрывается успешно - Form4.Close .
Когда вызываю справочник в поле 2 , форма 4 не закрывается , возникает ошибка на операторе Form4.Close :
Acces violation at adress  0000....4 . Write of adres  00E7b410 .
В чем причина - не могу понять .
Может быть кто-то поможет  советом .
Всем спасибо .


 
ЮЮ ©   (2004-11-18 11:43) [1]

Тебе спасибо! У тебя проект и IDE, а у нас только строчка Form4.Close;
:)

Form4 открывается модально? В юните какой формы стоит этот чудо оператор? Покажи оператор создания Form4


 
YurikGL ©   (2004-11-18 11:49) [2]

>Покажи оператор создания Form4

Лучше уж Form4.onClose..


 
sniknik ©   (2004-11-18 12:04) [3]

> Тебе спасибо! У тебя проект и IDE, а у нас только строчка Form4.Close;
должен понять! инфы на ответ достаточно. ;о))

ошибка в 17й строке!

кстати с точным адресом практически > at adress  0000....4
осталось сделать Find Error и узнаеш причину, может быть.


 
TAN_K   (2004-11-18 12:06) [4]

Form3 - модальная форма диалога (OkBottomDialog) , вызывается из Form2 - список перемещений - стандартная форма .
Еdit1 (поле 1) - кликаю клавишей F4 - вызов справочника - Form4.ShowModal . Form4 - стандартная форма , создается проектом , в данном случае вызывается в модальном режиме.
Form3 - код в Edit1 - KeyPress :
if (Key = VK_F4) then begin
   PER  := 77;
   Form4.ShowModal;
   Edit1.Text := naimp;
end;

В Form4 - кнопка выбора или клик мышью на записи :
case PER of
....
77:NAIMP := IBQuery1["NAIM"];
...
 end;
 try
 finally
   IBQuery1.Close;
   IBQuery1.UnPrepare;
   IBTransaction1.Active := False;
   IBTransaction2.Active := false;
   OKBottomDlg3.Free; - форма редактирования записей справочника , создается при открытии (Create) Form4 - Application(...)
   Form4.Close;
end;


 
sniknik ©   (2004-11-18 12:14) [5]

> создается при открытии (Create)
владелец указан? ну там Create(self) или Create(nil) стоит? если поевое то освобождение не нужно.
и кстати Close тоже не нужно раз по ShowModal вызывается.


 
ЮЮ ©   (2004-11-18 12:15) [6]

вылетает на самом деле на
 OKBottomDlg3.Free;
т.к. создается один раз (при создании Form4), а пытается уничтожить много раз (при каждом закрытии Form4)


 
TAN_K   (2004-11-18 13:42) [7]

ЮЮ - спасибо большое , я уже думала (потеряла несколько дней), что-то с FREE , но хотела освободить память , т.к. приложение большое , форм много , а с фреймами работать еще не научилась .
Сделала , создание модальных диалоговых форм автоматически при создании проекта , удалила  OKBottomDlg3.Free; и все получилось .


 
ЮЮ ©   (2004-11-19 04:07) [8]

>Сделала , создание модальных диалоговых форм автоматически при создании проекта , удалила  OKBottomDlg3.Free; и все получилось .

Надо было наоборот, убрать Form4 из списка автоматически создаваемых, а создвать его перед показом.
OKBottomDlg3.Free, естественно, тоже должно стоять в месте вызова диалога, например:

dlgFrm := TDlgFrm.Create(nil);
try
 dlgFrm.ModalShow;
 Case dlgFrm.ModalResult of
 mrOk: ...
 else
   ...
 end;
finally
 dlgFrm.Free;
 dlgFrm := nil;
end;



Страницы: 1 вся ветка

Текущий архив: 2004.12.19;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.037 c
14-1101463912
MBo
2004-11-26 13:11
2004.12.19
Пятничные задачи. Очередные проблемы Васи Пупкина


11-1084189550
Yustas
2004-05-10 15:45
2004.12.19
Иконка приложения


3-1101059264
DuchmanSoft
2004-11-21 20:47
2004.12.19
Фильтр или выборка в DBGrid


14-1101897987
DelphiN!
2004-12-01 13:46
2004.12.19
Номера цветов в HTML и в Делфи


14-1101455719
Pentium133
2004-11-26 10:55
2004.12.19
Телевидение