Главная страница
    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.54 MB
Время: 0.036 c
3-1083821859
Mamed
2004-05-06 09:37
2004.05.30
get database name


4-1082117282
Сергей_И
2004-04-16 16:08
2004.05.30
Запись текста в интернет форму


11-1072555653
Юрий Ж.
2003-12-27 23:07
2004.05.30
Thread?


14-1084108731
ПЛОВ
2004-05-09 17:18
2004.05.30
Где б достать TRichEdit с картинками =)


14-1084047444
Thor
2004-05-09 00:17
2004.05.30
помогите вспомнить стихотворение!





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский