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

Вниз

не могу закрыть форму   Найти похожие ветки 

 
=Teddy=   (2007-01-29 14:30) [0]

Помогите!Как из одного модуля закрыть форму в другом модуле?


 
Сергей М. ©   (2007-01-29 14:34) [1]

Прямо так и закрыть:

ИмяМодуля.ИмяПеременнойХрянящейСсылкуНаОбъектСуществующейФормы.Close;


 
novill ©   (2007-01-29 14:36) [2]

Если модуль - это Дельфи unit, то
1. включить "другой" модуль в uses этого
2. написать имя_другой_формы.close


 
Сергей М. ©   (2007-01-29 14:38) [3]

Боже, какую ахинею ты несешь


 
novill ©   (2007-01-29 14:56) [4]

> [3] Сергей М. ©   (29.01.07 14:38)

поясни


 
Сергей М. ©   (2007-01-29 15:02) [5]


> поясни


Сачала ты поясни, что значит "как" ..


 
tesseract ©   (2007-01-29 15:14) [6]


> novill ©   (29.01.07 14:36) [2]


Гм, а если переменная формы не в интерфейсной части объявлена?


 
Плохиш ©   (2007-01-29 15:19) [7]

А мне интересно, что это за модули-такие, в которых находяться какие-то формы, которые кто-то почему-то закрыть хочет?


 
Piroxyline ©   (2007-01-29 15:19) [8]

А никак. Тут тогда два пути: объявить ее в интерфейсной части или объявить там же процедуру, которая бы закрыла эту форму :)


 
Сергей М. ©   (2007-01-29 15:28) [9]


> Piroxyline ©   (29.01.07 15:19) [8]


Всегда найдется как минимум один - третий  - путь, не требующий ни того ни другого


 
novill ©   (2007-01-29 15:39) [10]

> [9] Сергей М. ©   (29.01.07 15:28)

И найдется ситуация, когда ни один из предложенных вариантов не подходит.


 
Сергей М. ©   (2007-01-29 15:40) [11]


> novill ©   (29.01.07 15:39) [10]


Обязательно найдется.


 
RASkov   (2007-01-30 00:26) [12]

> [0] =Teddy=   (29.01.07 14:30)
> Помогите!Как из одного модуля закрыть форму в другом модуле?

В первую очередь нужно сделать так, чтобы ИмяПеременнойХрянящейСсылкуНаОбъектСуществующейФормы было "видимо" в том модуле из которого хочешь ее(форму) закрыть. А далее при таком объявлении переменной формы

interfase
...
var Frm: TForm;

implimentation


справедливы варианты [1] и [2]

> [6] tesseract ©   (29.01.07 15:14)


при таком (не стандартном:)
interfase
...

implimentation

var Frm: TForm;


не прокатит ни [1] ни [2] :( Тут и создать ее будет проблема не только закрыть(это если она не объявлена в интерфейсной части);
можно и так SendMessage(FindWindow(nil,"FormCaption"), WM_CLOSE, 0, 0);


 
RASkov   (2007-01-30 00:36) [13]

> Тут и создать ее будет проблема не только закрыть

Хотя проблемы может и не быть, если сделать как в [8] объявить там же процедуру, которая бы закрыла эту форму.
Объявить в "другом модуле", где переменная формы не обявлена в интерфесной части, две процедуры создания и закрытия....


 
GrayFace ©   (2007-01-30 15:23) [14]

Сергей М. ©   (29.01.07 14:38) [3]
Боже, какую ахинею ты несешь

Все там правильно.


 
GrayFace ©   (2007-01-30 15:24) [15]

RASkov   (30.01.07 0:26) [12]
можно и так SendMessage(FindWindow(nil,"FormCaption"), WM_CLOSE, 0, 0);

См. [3] :)


 
RASkov   (2007-01-30 18:38) [16]

> См. [3] :)

Каждый программер (и не только) несет ахинею по своему, у некоторых получается у некоторых нет :)
Я, в данном случае(да и в общем), не заставляю так делать а просто предлогаю вариант, пусть не удачный, но если есть голова то разберется, а если ее нет, то сдесь что хочешь предлогай.... человек еще раз(не раз) спросит....
А по вопросу: Помогите!Как из одного модуля закрыть форму в другом модуле?, вообще думаю - развод.



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

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

Наверх




Память: 0.48 MB
Время: 0.036 c
2-1170070143
Квэнди
2007-01-29 14:29
2007.02.18
Регистрация нового протокола


2-1170329011
Garacio
2007-02-01 14:23
2007.02.18
адрес переменной в реестре


2-1170319304
Itonix
2007-02-01 11:41
2007.02.18
DisplayFormat


9-1143825829
Yegorchic
2006-03-31 21:23
2007.02.18
Поворот FreeForm


15-1169582407
SkySpeed
2007-01-23 23:00
2007.02.18
Эт чё, каждому пользователю MAIL.RU - ящик по 5 гиг? %)





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