Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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.56 MB
Время: 0.036 c
14-1084335870
WondeRu
2004-05-12 08:24
2004.05.30
Анекдот вспомнил


7-1082599978
LazyFox
2004-04-22 06:12
2004.05.30
Чтение текста из консоли


1-1084964951
SMT
2004-05-19 15:09
2004.05.30
Очистка свободного пространства экрана вокруг формы


6-1081184602
Kirill
2004-04-05 21:03
2004.05.30
IdHTTP и сессия


7-1082702338
random
2004-04-23 10:38
2004.05.30
Как отключить Autorun