Вниз
Скачать: CL | DM;

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

← →
=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 вся ветка

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.026 c
8-1151309796
RealGanj
2006-06-26 12:16
2007.02.18
Анимации в тексте


6-1147537557
scolopax
2006-05-13 20:25
2007.02.18
ClientSocket1.Open;


15-1169802163
Kyn66
2007-01-26 12:02
2007.02.18
Установка компонента Webbrowser


15-1169518575
Spider_NET
2007-01-23 05:16
2007.02.18
Конкурс


15-1169458745
optimizer
2007-01-22 12:39
2007.02.18
Оптимизация




   Наверх