Текущий архив: 2004.05.30;
Скачать: CL | DM;
ВнизMDI Найти похожие ветки
← →
Goida © (2004-05-17 15:41) [40]Эй, ребята, мою версию обсудите. Мне тут подумалось, что мне это тоже нужно.
> Goida © (17.05.04 14:49) [30]
> Влоб напрашивается такое решение.
> Мы создаем глобальную переменную-счетчик для каждого вида
> окно. При создании окна, мы увеличиваем этот счетчик на
> единицу. А перед этим можно проверять этот счетчик...
← →
NAlexey © (2004-05-17 15:44) [41]>Silver Alex © (17.05.04 15:37) [39]
He-he. Так я и зрю в корень. Если открыть 2 экземпляра класса TForm2 - Form2 и Form3, потом закрыть Form2, с помощью твоей ф-ции не узнаешь, запущена она или нет, т.к она(ф-ция) всегда будет зачемто выдвигать на передний план Form3(да и кстати, а если мне не надо выдвигать на передний план никакие формы, а просто проверить?). А с помощью моего подхода узнаешь...
Ну как? В корень?:)
← →
WebErr © (2004-05-17 15:53) [42]
> NAlexey © (17.05.04 14:31) [22]
Моя функция выдаст true.
← →
NAlexey © (2004-05-17 16:02) [43]>WebErr © (17.05.04 15:53) [42]
Ну так а что она по твоему должна выдавать?
function NeedsFormCreated: Boolean;
var
I: Integer;
begin
Result := false;
for i := 0 to MainForm.MDIChildCount-1 do
if (MainForm.MDIChildren[i] is TNeedsForm) then
begin
Result := true;
Exit;
end;
end;
Тебя наверное ввело в заблуждение несоответсвие между названием ф-ции, и выполняемыми ей действиями. Твоя ф-ция вернет "Истина" если уже есть экземпляр. А ф-ция называется "НадоСоздатьФорму". Т.е учитывать название твоей ф-ции вообще выходит, что если есть экземпляр, то надо еще. Такчто если создать Form2 и Form3 потом закрыть Form2 она всеравно будет считать что Form2 есть. Такчто твой клич про вообще понимает ли кто нибудь что нибудь справедлив.:)
← →
WebErr © (2004-05-17 16:11) [44]Нет она называется Created - "Создана ли" NeedsForm: TNeedsForm у автора это: Form2: ?;
← →
WebErr © (2004-05-17 16:17) [45]Смысл её таков: если создан хотя бы один экземпляр этого типа, то она вернёт значение истина, а вот если вы хотите узнать сколько их таких, то нужно переделать функцию в
function NeedsFormCount: Integer;
var
i: Integer;
begin
Result := 0;
for i := 0 to Form1.MDIChildCount-1 do
if (Form1.MDIChildren[i] is TForm2) then
Inc(Result);
end;
Все возгласы ни к чему. :))))
← →
NAlexey © (2004-05-17 16:17) [46]>WebErr © (17.05.04 16:11) [44]
>Нет она называется Created - "Создана ли" NeedsForm
Хм... Хорошо. Пусть будет так, согласен.
>у автора это: Form2: ?;
Да, у автора это Form2.
← →
WebErr © (2004-05-17 16:23) [47]Для "Переводчиков":
NeedsFormCount - количество нужных форм
NeedsFormIsCreated - так будет лучше для имени предыдущей функции.
← →
NAlexey © (2004-05-17 16:23) [48]>WebErr © (17.05.04 16:17) [45]
Я уже не знаю. Неужели это так непонятно? Автор спрашивал: как узнать АХТУНГ: запущена ли форма Form2? Не запущен ли экземпляр класса TForm2 или сколько экземпляров класса TForm2 запущено? Его интересовал конкретный экземпляр Form2:
var
Form2, Form3: TForm2;
begin
Application.CreateForm(TForm2, Form3);
Form3.Show;
if NeedsFormCreated then
ShowMessage("У меня запущена Form2");
if Form2 = nil then
ShowMessage("А на самом деле Form2 не запущена");
end;
Я уж и не знаю как прощето...
← →
WebErr © (2004-05-17 16:27) [49]
> Его интересовал конкретный экземпляр Form2
Tag = CONKRETNOE_ZNACHENIE; :))))
Всё я не могу - щас умру со смеху.... :)))))
← →
NAlexey © (2004-05-17 16:27) [50]>WebErr © (17.05.04 16:23) [47]
Если для переводчиков, то для Нужный(e) скорее всего надо было бы использовать Necessary. А Need говорит о необходимости сделать чтолибо. Такчто...
← →
WebErr © (2004-05-17 16:29) [51]Form2 по логике вещей должна быть ОДНА НА ВЕСЬ МОДУЛЬ!!! :))))
← →
Silver Alex © (2004-05-17 16:49) [52]
> WebErr © (17.05.04 16:29) [51]
мне кажется NAlexey просто над нами смеется или издевается.Ну не может человек признать что был не прав.Он тут петляет как заяц по полю, сам наверное уже не помнит с чего начал
← →
NAlexey © (2004-05-17 17:28) [53]>Silver Alex © (17.05.04 16:49) [52]
Задорнова помнишь?
Страницы: 1 2 вся ветка
Текущий архив: 2004.05.30;
Скачать: CL | DM;
Память: 0.54 MB
Время: 0.036 c