[решено]Почему происходит автоматический запуск формы?

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Ответить
Аватара пользователя
Лекс Айрин
долгожитель
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград
Контактная информация:

[решено]Почему происходит автоматический запуск формы?

Сообщение Лекс Айрин »

Внезапно стало запускаться окно "О программе" при запуске программы. Проверка по тексту показала, что никаких проблем быть не должно. Попытка заменить процедуру и поставить в прежней запуск окна сообщения (для теста на паразитный запуск) ничего не дала.

Последним, что я делал было добавление картинки и назначение ее как кнопку запуска этой формы. Но потом я это убрал.

Проблема вылезла после переноса программы между разными компами, на которых стоят разные версии Lazarus

На Убунте(13.04) стоит стандартная реповская сборка (вечером добавлю какая).

На винде (XP SP2) версия 1.3 FPC 2.6.2 SVN:42995.

Очищал каталог, пересобирал проект с очисткой. Но ничего не меняется.
Весь проект во вложении.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось Лекс Айрин 10.10.2013 17:15:07, всего редактировалось 1 раз.
Аватара пользователя
qivi
энтузиаст
Сообщения: 703
Зарегистрирован: 19.01.2009 12:45:54
Откуда: Россия

Сообщение qivi »

У TForm2 свойство Visible поставь в false
Аватара пользователя
Лекс Айрин
долгожитель
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград
Контактная информация:

Сообщение Лекс Айрин »

qivi, спасибо, так и думал, что все дело в какой-нибудь мелочи :oops:
Аватара пользователя
DYUMON
постоялец
Сообщения: 234
Зарегистрирован: 11.03.2009 12:32:54
Контактная информация:

Сообщение DYUMON »

а как у лазаруса с модальными формами? просто в делфи модальная форма появляется сразу после создания
Аватара пользователя
Лекс Айрин
долгожитель
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград
Контактная информация:

Сообщение Лекс Айрин »

DYUMON, не заморачивался. Но, как можно было понять, в Lazarus любая форма появляется сразу, если у нее атрибут Visible=true; Что я и проверил установив атрибут fsSystemStayOnTop.

Или ВЫ подразумеваете под словом "модальный" что-то иное?
SeZuka
постоялец
Сообщения: 209
Зарегистрирован: 05.09.2012 14:58:05

Сообщение SeZuka »

DYUMON писал(а):а как у лазаруса с модальными формами? просто в делфи модальная форма появляется сразу после создания

Сразу это как? Насколько мне помнится, там не было отдельного атрибута указывающего на модальность формы, показывалась она по вызову ShowModal, в лазарусе также.
Frolik
постоялец
Сообщения: 275
Зарегистрирован: 18.08.2011 11:52:32

Сообщение Frolik »

Я удаляю из проекта создание всех форм, кроме главной. И потом создаю их по мере необходимости. И опять прибиваю, как только они стали не нужны. Так удобней и практичней. И экономно.
Аватара пользователя
Лекс Айрин
долгожитель
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград
Контактная информация:

Сообщение Лекс Айрин »

Frolik, если честно, то не разбирался в динамическом создании форм. Да и, в моем случае, не так уж и велика необходимость.
Frolik
постоялец
Сообщения: 275
Зарегистрирован: 18.08.2011 11:52:32

Сообщение Frolik »

Да там и разбираться нечего.
В простейшем виде. Подразумевается, что формы уже созданы в дизайнтайм.
var CustomForm: TForm1;

CustomForm:=TForm1.create(self);
CustomForm.Show или ShowModal;

бла-бла-бла

CustomForm.Free;

Ну и естественно в обработчик onCloseQuery вписать CloseAction:=caFree
Аватара пользователя
Лекс Айрин
долгожитель
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград
Контактная информация:

Сообщение Лекс Айрин »

Frolik, спасибо, принцип понял. Будем пробовать...
Ответить