Вниз
Скачать: CL | DM;

формы в dll   Найти похожие ветки 

 
Sw   (2008-10-27 13:11) [0]

из чужого приложения запускаю dll
создается форма с ComboBox и на CloseUp в зависимости от выбранного значения создается другая форма:
case Id of
    1: with TfmEnerg.Create(Application) do
       try ShowModal; finally Free; end;
   35:with TfmEnergsb.Create(Application) do
       try ShowModal; finally Free; end;
..................

допустим на  выбранной форме заполнили все реквизиты и нужно закрыть обе формы. Делаю так:
ModalResult:=mrOk; fmMain.Close;
выдает "access violation"
Помогите, пожалуйста, разобраться


 
Сергей М. ©   (2008-10-27 13:14) [1]

var
 mr: Integer;
....
case Id of
   1: with TfmEnerg.Create(Application) do
      try
         mr := ShowModal;
      finally
         Free;
         if mr = mrOk then Close;
      end;
..................


 
Palladin ©   (2008-10-27 13:16) [2]

присвоение значениня ModalResult"у автоматически закрывает форму, вызванную ShowModal


 
Palladin ©   (2008-10-27 13:27) [3]

но не сразу после присвоения, а после того как событие отработает полностью


 
Sw   (2008-10-27 13:33) [4]


> Сергей М. ©   (27.10.08 13:14) [1]

все равно выдает "access violation"


> Palladin ©   (27.10.08 13:16) [2]

выбранная форма закрывается, а вот главная нет (из которой ее вызвали) - нет (обе модальные)


 
Palladin ©   (2008-10-27 13:35) [5]

хм... а зачем ты главную закрываешь из обработчика вызываемой? в ней самой (главной) то не судьба?


 
Сергей М. ©   (2008-10-27 13:37) [6]


> все равно выдает "access violation"


Какая конкретно строчка моего кода вызывает AV ?


 
Sw   (2008-10-27 13:47) [7]


> Сергей М. ©   (27.10.08 13:37) [6]

if mr = mrOk then Close;  простите, только fmMain.Close;// мне бы главную закрыть


 
Сергей М. ©   (2008-10-27 13:56) [8]


> мне бы главную закрыть


По вызову Close Главная как раз и закроется, если текущим исполняемым методом является метод этой самой главной формы.



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.007 c
15-1222946328
Буум
2008-10-02 15:18
2008.12.07
Открытие методов класса внутри другого класса


15-1222843840
vajo
2008-10-01 10:50
2008.12.07
Где находится почта в Vista Home?


15-1223278720
tubik
2008-10-06 11:38
2008.12.07
поделитесь книгой, пожалуйста


2-1225311444
deras
2008-10-29 23:17
2008.12.07
Как "остановить" цикл?


2-1225277295
garik_
2008-10-29 13:48
2008.12.07
Наследование




   Наверх