![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Runtime error на выходе KOL-приложения [Delphi, Windows]
Alextp © (2005-10-15 20:58:00)Hello All,
Мой проект при закрытии дает Runtime error 216.
В чем тут может быть дело? Где-то в KOL или MCK ошибка (KOL 2.10, Delphi 4). Проект - это dll, и runtime error появляется при закрытии основного приложения.
Попытался повторить ошибку в .exe, выкинул из форм все
лишнее, выложил сюда: http://alextpp.narod.ru/files/bug_KOLTest1.rar
(распаковать в каталог C:\KOLTest1).
Закрываем первую форму по Alt-F4, затем вторую и вылезает ошибка.
В dll я вызываю формы так:
1) FormProgress.Form.Show;
(создается форма - в initialization модуля)
2) NewFormOptions(FormOptions, Applet);
with FormOptions^ do
begin
Form.ShowModalEx;
if Form.ModalResult=1 then
begin
end;
Form.Free;
end;
Может быть, я как-то неправильно создаю форму или Applet в
initialization модуля? Или нельзя создавать Applet два раза?
Закомментировал его создание в Config_0.inc, все равно ошибка.
Помогите разобраться, please.
--
Alexey
ECM (2005-10-17 11:41:00) [1]
> ручками приходится - вот например вижу, что для формы нет
> стиля SizebleToolWindow
Так доработайте MCK самостоятельно - это не так уж сложно...:)
И не надо будет руками править... он все будет генерировать автоматически.
Подправьте, протестируйте - и исправления в мыло Владимиру...
Остальные потом пасибо скажут. :)
Разобраться с MCK всегда полезно... если будут вопросы помогу
ECM (2005-10-17 11:26:00) [2]
> Приходится ручками править .inc файл, выставлять Result.
> Form.Style.
А чем не устраивает традиционный способ - установить нужное значение Form.Style в FormCreate?
Alextp (2005-10-17 10:58:00) [3]> Вы наверное первый раз на MCK проект делаете? Что-то вы
> все ручками наравите ненужную работу сделать.
Первый раз. А ручками приходится - вот например вижу, что для формы нет стиля SizebleToolWindow, хотя просто ToolWindow есть. И для ToolWindow игнорируются пар-ры minimizeIcon, mazimizeIcon, closeIcon. Приходится ручками править .inc файл, выставлять Result.Form.Style.
homm (2005-10-17 01:35:00) [4]> а присваивать Applet-у значение первой созданной формы:
А оно и так между прочем аплету присваивается.
> Вопрос: как избежать появления главной формы (которая аплет) на панели задач?
Applet.Visible := false;
Если Applet и первая форма - разные объекты, то форма не скроется. Аплет для того и существует (я имею ввиду TKOLApplet и NewApplet) чтоб кнопка к конкретной форме не привязывалась.
Вы наверное первый раз на MCK проект делаете? Что-то вы все ручками наравите ненужную работу сделать.
Alextp (2005-10-17 01:24:00) [5]> Я чесно сказать не разобрался из твоего вопроса где что,
> но для инициализации используются Config_3.inc, а для финализации
> Config_4.inc. Зачем тебе два аплета?
Мне не нужны были два апплета, я уже понял, что если я создаю аплет в коде, то компонент KOLApplet на форму класть не нужно.
Вопрос: как избежать появления главной формы (которая аплет) на панели задач?
Alextp (2005-10-17 01:21:00) [6]Вроде разобрался, как поправить: надо не создавать Applet как
Applet:= NewApplet('IECache');а присваивать Applet-у значение первой созданной формы:
Applet.Hide;
NewFormProgress(FormProgress, Applet);
NewFormProgress(FormProgress, nil);Тогда вроде ошибки не возникает. Почему - непонятно.
Applet:= FormProgress.Form;
Может быть, кому-то при написании dll пригодится.
Правда, у этого метода есть недостаток: форма FormProgress, как Applet,
будет видна в панели задач, что нежелательно. Вопрос, можно ли этого избежать?
homm (2005-10-16 20:27:00) [7]Я чесно сказать не разобрался из твоего вопроса где что, но для инициализации используются Config_3.inc, а для финализации Config_4.inc. Зачем тебе два аплета? Зачем ты управляеш созданием/уничтожением форм, первый раз MCK увидел чтоли, привык как в KOL все ручками?
2 ECM & MTsv DN
У меня вылетает с заменой в дебагер. (D6 + 2.15)
ECM (2005-10-16 13:54:00) [8]
> Перекомпилировал на: Delphi 7 + KOLnMCK 2.15 + KOLadd(15.
> 10.2005). Все нормально работает и закрывается...
> Размер выходного ехе-шника на 2 кБ меньше, чем у Вас в архиве.
> ..
То же самое на D6 + 2.15
MTsv DN (2005-10-16 13:08:00) [9]Перекомпилировал на: Delphi 7 + KOLnMCK 2.15 + KOLadd(15.10.2005). Все нормально работает и закрывается...
Размер выходного ехе-шника на 2 кБ меньше, чем у Вас в архиве...
С Уважением MTsv DN