Главная страница
    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.06 c
2-1328618080
JohnKorsh
2012-02-07 16:34
2013.03.22
Работа с MediaPlayer.


2-1336394696
vasa777
2012-05-07 16:44
2013.03.22
длина лабела в символах


15-1343723640
alexdn
2012-07-31 12:34
2013.03.22
Ява скрипт


15-1329440732
AlekseyK
2012-02-17 05:05
2013.03.22
Cломалась среда IDE


15-1334164870
ФордзБоярд
2012-04-11 21:21
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский