Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];

Вниз

Как написать условие   Найти похожие ветки 

 
alexdn ©   (2012-08-25 14:33) [0]

Если form4 существует, то.. if form4.visible не подходит, т.к. форма может быть закрыта.


 
turbouser ©   (2012-08-25 14:51) [1]

findcomponent etc


 
alexdn ©   (2012-08-25 15:01) [2]

> turbouser ©   (25.08.12 14:51) [1]
как это синтаксически написать? if findcomponent(form4)=true не подходит..


 
turbouser ©   (2012-08-25 15:06) [3]


> alexdn ©   (25.08.12 15:01) [2]


>  findcomponent(form4)=true

nil


 
turbouser ©   (2012-08-25 15:06) [4]


> alexdn ©   (25.08.12 15:01) [2]


>  findcomponent(form4)=true

nil


 
turbouser ©   (2012-08-25 15:07) [5]

о как


 
turbouser ©   (2012-08-25 15:09) [6]


> alexdn ©

странно, что такое спрашиваешь. хм


 
alexdn ©   (2012-08-25 15:23) [7]

> turbouser ©   (25.08.12 15:09) [6]
я обычно спрашиваю о том, чего не знаю или с чем первый раз сталкиваюсь) что логично)..


 
alexdn ©   (2012-08-25 15:35) [8]

вот - if Application.findcomponent("form4")=Nil


 
Inovet ©   (2012-08-25 15:50) [9]

А если у тебя две таких формы?


 
brother ©   (2012-08-25 16:04) [10]

имхо if form4 <> nil then ...


 
Amir   (2012-08-25 16:12) [11]

Поместить после создания формы ссылку на нее в TList
Проверять по условию
if TForm(List.items[i])  is TForm4 then ...


 
turbouser ©   (2012-08-25 16:27) [12]


> Inovet ©   (25.08.12 15:50) [9]

ССЗБ


 
turbouser ©   (2012-08-25 16:29) [13]


>  Inovet ©   (25.08.12 15:50) [9]

Хотя, кое где у меня есть и убийство и пересоздание. Да.


 
Inovet ©   (2012-08-25 17:11) [14]

> [12] turbouser ©   (25.08.12 16:27)
> > Inovet ©   (25.08.12 15:50) [9]
>
> ССЗБ

Да ну, почему бы не открыть несколько одниаковых форм с разными данными одновременно.


 
turbouser ©   (2012-08-25 17:21) [15]


> Inovet ©   (25.08.12 17:11) [14]


> Да ну, почему бы не открыть несколько одниаковых форм с
> разными данными одновременно.

угу. и потом искать form4. а их там несколько.
если бы автор мог себе позволить иметь несколько одинаковых форм - вопроса бы не возникло. в прочем, неизвестно, как всегда, что там у тс..


 
alexdn ©   (2012-08-25 17:29) [16]

> turbouser ©   (25.08.12 16:29) [13]
> Хотя, кое где у меня есть и убийство и пересоздание. Да.
Вот, убийство и пересоздание и было -
if Application.findcomponent("form4")<>Nil then begin
 form4.Close;
Application.CreateForm(TForm4, Form4);
end;


 
turbouser ©   (2012-08-25 17:56) [17]


> alexdn ©   (25.08.12 17:29) [16]

православное Free ^))


 
turbouser ©   (2012-08-25 18:01) [18]

var C:tcomponent;
c:=Application.findcomponent("form4");
if Assigned(c) then
form4.free else
Application.CreateForm(TForm4, Form4);
end;
как-то так.


 
turbouser ©   (2012-08-25 18:02) [19]

form4.free = c.free


 
turbouser ©   (2012-08-25 18:03) [20]

да и CreateForm - эт чета новенькое?


 
Медвежонок Пятачок ©   (2012-08-25 18:22) [21]

Новенькое, ага.
Примерно с первой версии дельфы.


 
Dimka Maslov ©   (2012-08-25 18:38) [22]

for i := 0 to Screen.FormCount do if Screen.Forms[i] is TForm4 then Screen.Forms[i].Close;


 
turbouser ©   (2012-08-25 19:01) [23]


> Медвежонок Пятачок ©   (25.08.12 18:22) [21]

хз. сырцов дама нет, дельфей нет :) каааааайф


 
Dennis I. Komarov ©   (2012-08-25 19:32) [24]

Зачем нужна Form4 и как ты ее потерял?
Да, еще что значит "существует", потому как:
Если form4 существует, то.. if form4.visible не подходит, т.к. форма может быть закрыта.?


 
turbouser ©   (2012-08-25 21:27) [25]


> Dennis I. Komarov ©   (25.08.12 19:32) [24]

кури MDI.


 
Dennis I. Komarov ©   (2012-08-26 11:34) [26]


> кури MDI.

а) У ТС нет ни слова о MDI.
б) Это лишь объясняет, как он ее "потерял".
в) В этом случае, вообще не вижу смысла хранить указатель.


 
turbouser ©   (2012-08-26 13:06) [27]


> Dennis I. Komarov ©   (26.08.12 11:34) [26]


a) это объясняет проблему. в прочем, ты прав.
б ) не совсем
в) +1


 
AV ©   (2012-08-28 01:29) [28]

конкретно form4 - указатель, указатель хватит просто проверить на nil

> if form4 <> nil then



> А если у тебя две таких формы?

указатель все равно ссылается на один экземпляр.

А если стоит задача найти все формы класса TForm4, то я бы выбрал

> for i := 0 to Screen.FormCount do if Screen.Forms[i] is
> TForm4 then


 
Inovet ©   (2012-08-28 08:48) [29]

> [28] AV ©   (28.08.12 01:29)
> > А если у тебя две таких формы?
>
> указатель все равно ссылается на один экземпляр.

Ну так там же куда-то "терятются" формы.



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.5 MB
Время: 0.065 c
2-1339753385
Сергей
2012-06-15 13:43
2013.03.22
Как сделать чтобы MessageDlg был поверх всех окон?


15-1337866798
Cobalt
2012-05-24 17:39
2013.03.22
Разноцветный многострочный хинт


15-1328042693
Димка На
2012-02-01 00:44
2013.03.22
Максимальная версия программы (продукта)


2-1333239798
toropoff
2012-04-01 04:23
2013.03.22
чтение WMI


15-1351849926
Dmitry87
2012-11-02 13:52
2013.03.22
редактор контролов





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский