Форум: "KOL";
Текущий архив: 2006.06.25;
Скачать: [xml.tar.bz2];
ВнизRuntime error на выходе KOL-приложения Найти похожие ветки
← →
Alextp © (2005-10-15 20:58) [0]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
← →
MTsv DN (2005-10-16 13:08) [1]Перекомпилировал на: Delphi 7 + KOLnMCK 2.15 + KOLadd(15.10.2005). Все нормально работает и закрывается...
Размер выходного ехе-шника на 2 кБ меньше, чем у Вас в архиве...
С Уважением MTsv DN
← →
ECM © (2005-10-16 13:54) [2]
> Перекомпилировал на: Delphi 7 + KOLnMCK 2.15 + KOLadd(15.
> 10.2005). Все нормально работает и закрывается...
> Размер выходного ехе-шника на 2 кБ меньше, чем у Вас в архиве.
> ..
То же самое на D6 + 2.15
← →
homm © (2005-10-16 20:27) [3]Я чесно сказать не разобрался из твоего вопроса где что, но для инициализации используются Config_3.inc, а для финализации Config_4.inc. Зачем тебе два аплета? Зачем ты управляеш созданием/уничтожением форм, первый раз MCK увидел чтоли, привык как в KOL все ручками?
2 ECM & MTsv DN
У меня вылетает с заменой в дебагер. (D6 + 2.15)
← →
Alextp © (2005-10-17 01:21) [4]Вроде разобрался, как поправить: надо не создавать Applet как
Applet:= NewApplet("IECache");
а присваивать Applet-у значение первой созданной формы:
Applet.Hide;
NewFormProgress(FormProgress, Applet);NewFormProgress(FormProgress, nil);
Тогда вроде ошибки не возникает. Почему - непонятно.
Applet:= FormProgress.Form;
Может быть, кому-то при написании dll пригодится.
Правда, у этого метода есть недостаток: форма FormProgress, как Applet,
будет видна в панели задач, что нежелательно. Вопрос, можно ли этого избежать?
← →
Alextp © (2005-10-17 01:24) [5]> Я чесно сказать не разобрался из твоего вопроса где что,
> но для инициализации используются Config_3.inc, а для финализации
> Config_4.inc. Зачем тебе два аплета?
Мне не нужны были два апплета, я уже понял, что если я создаю аплет в коде, то компонент KOLApplet на форму класть не нужно.
Вопрос: как избежать появления главной формы (которая аплет) на панели задач?
← →
homm © (2005-10-17 01:35) [6]> а присваивать Applet-у значение первой созданной формы:
А оно и так между прочем аплету присваивается.
> Вопрос: как избежать появления главной формы (которая аплет) на панели задач?
Applet.Visible := false;
Если Applet и первая форма - разные объекты, то форма не скроется. Аплет для того и существует (я имею ввиду TKOLApplet и NewApplet) чтоб кнопка к конкретной форме не привязывалась.
Вы наверное первый раз на MCK проект делаете? Что-то вы все ручками наравите ненужную работу сделать.
← →
Alextp © (2005-10-17 10:58) [7]> Вы наверное первый раз на MCK проект делаете? Что-то вы
> все ручками наравите ненужную работу сделать.
Первый раз. А ручками приходится - вот например вижу, что для формы нет стиля SizebleToolWindow, хотя просто ToolWindow есть. И для ToolWindow игнорируются пар-ры minimizeIcon, mazimizeIcon, closeIcon. Приходится ручками править .inc файл, выставлять Result.Form.Style.
← →
ECM © (2005-10-17 11:26) [8]
> Приходится ручками править .inc файл, выставлять Result.
> Form.Style.
А чем не устраивает традиционный способ - установить нужное значение Form.Style в FormCreate?
← →
ECM © (2005-10-17 11:41) [9]
> ручками приходится - вот например вижу, что для формы нет
> стиля SizebleToolWindow
Так доработайте MCK самостоятельно - это не так уж сложно...:)
И не надо будет руками править... он все будет генерировать автоматически.
Подправьте, протестируйте - и исправления в мыло Владимиру...
Остальные потом пасибо скажут. :)
Разобраться с MCK всегда полезно... если будут вопросы помогу
Страницы: 1 вся ветка
Форум: "KOL";
Текущий архив: 2006.06.25;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.01 c