Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.05.03;
Скачать: CL | DM;

Вниз

Закрытие формы.   Найти похожие ветки 

 
Cep   (2009-02-10 14:18) [40]

Да, коллеги, это нетленка :)))


 
Dennis I. Komarov ©   (2009-02-10 15:09) [41]

А тут ничего не изменилось :)


 
MsGuns ©   (2009-02-10 15:50) [42]

Так седому ветерану и не объяснили зачем точить шашку :)


 
AlexDan ©   (2009-02-10 18:42) [43]

Господа, вы меня поражаете своей наивностью,  код:
procedure FormClose(Sender: TObject; var Action: TCloseAction);

procedure TForm2.Button1Click(Sender: TObject);
begin
form2.Close;
OnClose := FormClose;
end;

procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action:=caFree;
end;
end.
написанный полностью от руки, т.е. без применения инспектора обьектов и клавишь Ctrl+Shift+C (при создании процедур, если это делается вручную) в делфи 7 игнорируется (не выполняется).


 
{RASkov} ©   (2009-02-10 18:48) [44]

> [43] AlexDan ©   (10.02.09 18:42)

Что ты хотел этим сказать?
Показать как не нужно делать и свою тупость? Это и так было ясно :) сорри...


 
{RASkov} ©   (2009-02-10 18:56) [45]

Разжую:
при старте программы у формы2 нет обработчика OnClose.
Далее при нажатии кнопки форма2 закрывается, (по умолчанию в делфи формы не закрываются, а прячутся при Close(это не касается MDI)) и потом ей назначается обработчик OnClose. Но при первом нажатии метод FormClose не вызывается(не выполняется)....
При втором нажатии форма опять закрывается, но уже выполняется метод FormClose.... где она и убивается совсем.
А вот при третьем нажатии уже АВ....

> AlexDan

Хоть чего-нибудь понял?
:о)


 
{RASkov} ©   (2009-02-10 19:02) [46]

> А вот при третьем нажатии уже АВ....

Я говорил про нажатия кнопки, это - метод TForm2.Button1Click...
но последней строчкой в [45] - ошибся.... ибо до нее(а точнее до метода TForm2.Button1Click) дело не дойдет...
АВ будет при очередном Form2.Show; Или при любом обращении к Form2....


 
AlexDan ©   (2009-02-10 19:31) [47]

> {RASkov} ©   (10.02.09 18:56) [45]
> При втором нажатии форма опять закрывается, но уже выполняется
> метод FormClose....
Вот этого наверное я не был в курсе..ссори.


 
Servy ©   (2009-02-10 19:32) [48]

> [45], [46] {RASkov} ©


Есть мнение, что если автор написал все "полностью" (как он выразился) от руки, и инспектор объектов не трогал, то при нажатии кнопки не будет ничего. Ну прям совсем ничего :).


> AlexDan

Видимо, для вас открытием будет тот факт, что можно целой горе кнопок, форм, лабелей назначить один обработчик OnClick, и назвать его можно как угодно, а не только Button1Click. Связь между событием и обработчиком события должен установить программист, либо в Design Time в инспекторе объектов, либо в Run Time, упомянутым в [38] способом.


 
AlexDan ©   (2009-02-10 22:25) [49]

> Servy ©   (10.02.09 19:32) [48]
> Есть мнение, что если автор написал все "полностью" (как
> он выразился) от руки, и инспектор объектов не трогал, то
> при нажатии кнопки не будет ничего. Ну прям совсем ничего
> :).
Если проект(юнит) написать в "блокноте", потом перекинуть его(через буфер обмена, например) в юнит созданной формы с уже готовым "лицом" (кнопки и т.п.) и не трогать инспектор обьектов то не будет ничего, совсем ничего.. Именно это я и пытался всю ветку обьяснить..


 
Сергей М. ©   (2009-02-10 22:32) [50]


> Именно это я и пытался всю ветку обьяснить


Кому ? Самому себе ?
Чьей "дикости" в таком случае ты поражался ?
И в чем все-таки виноват компилятор ?)


 
AlexDan ©   (2009-02-10 22:40) [51]

> Сергей М. ©   (10.02.09 22:32) [50]
> И в чем все-таки виноват компилятор ?)
В том, что я перебросил код (процедуру onClose) из одного проекта в другой, и пока я не прописал её в инспекторе обьектов она не инициализировалась, даже после указания FormClose из другой процедуры (ButtonClick)..


 
AlexDan ©   (2009-02-10 22:43) [52]

Ну да ладно, мать его так).


 
Сергей М. ©   (2009-02-10 22:47) [53]

Мда ..
Тяжелый случай)


 
TAX   (2009-02-10 23:03) [54]

чем-то напоминает
http://www.delphikingdom.com/asp/answer.asp?IDAnswer=60356


 
Anatoly Podgoretsky ©   (2009-02-10 23:05) [55]

> AlexDan  (10.02.2009 22:40:51)  [51]

onClose не процедура, а свойство


 
AlexDan ©   (2009-02-10 23:20) [56]

> TAX   (10.02.09 23:03) [54]
Вот, спасибо, помоему да.


 
AlexDan ©   (2009-02-10 23:26) [57]

> TAX   (10.02.09 23:03) [54]
И я видимо замечаю такие нестыковки, т.к. перешёл на делфи с турбопаскаля..).


 
AlexDan ©   (2009-02-10 23:42) [58]

Замечательная ветка, это оттуда:
"И совершенно правильно делаете. Боясь показаться скучной, могу попытаться пояснить, откуда взялась такая постановка вопроса. До вчерашнего дня я была уверена, что файл с расширением .pas -- это таки старый добрый честный Pascal, а все остальные файлы относятся к графической надстройке. К визуальной среде. Отсюда вывод: это от лукавого, а pas просто по-любому обязан компилиться. Но мир всегда сложнее нашего представления о нём."


 
sniknik ©   (2009-02-10 23:44) [59]

> И я видимо замечаю такие нестыковки
нестыковки????

-----------
купил колеса, положил в гараж, утром на работу ехать и не могу, колес на автомобиле нет...
ну их в общем то и не было, но почему новые, купленные на автомобиль не "наделись"? нестыковка однако. плохие автомобили еще делают...


 
AlexDan ©   (2009-02-10 23:47) [60]

> sniknik ©   (10.02.09 23:44) [59]
Вот именно, я ставил колёса какие надо, а кампиллятор сказал что их нет..


 
AlexDan ©   (2009-02-10 23:49) [61]

Прочтите внимательно ветку
> http://www.delphikingdom.com/asp/answer.asp?IDAnswer=60356
но и она лишь отчасти затрагивает тот вопрос, который я ставил.


 
sniknik ©   (2009-02-10 23:55) [62]

> Вот именно
не надо перевирать, другое написано.

ты их не ставил, ты их в гараж положил, а после сделал удивленное лицо - "а оказывается колеса принесенные в гараж вручную, а не привезенные своим ходом прикрученные к автомобилю, на автомобиль сами не надеваются!!! ааааа да что это делается на белом свете, ведь всем должно быть понятно купленные колеса должны там оказаться иначе зачем я их покупал?"

ты придуриваешься, или на самом деле ...?


 
sniknik ©   (2009-02-10 23:58) [63]

> Прочтите внимательно ветку
видишь там ягодки рядом с датой? знаешь что значат? это вопрос над которым все ржут... в разделе чтобы поржать, т.к. он настолько ламерский, что ни для чего другого годен.


 
sniknik ©   (2009-02-10 23:59) [64]

не годен.


 
Сергей М. ©   (2009-02-10 23:59) [65]


> перешёл на делфи с турбопаскаля


Со времен ТрубоПаскаля многое, конечно, изменилось, но по-прежнему неизменно одно - для того чтобы подпрограмма получила управление, ее надо вызвать.
Дельфийский Инспектор Объектов всего лишь вуалирует вызовы.


 
AlexDan ©   (2009-02-11 00:14) [66]

Пример: Проект

unit Unit1;
interface
uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, StdCtrls;

type
 TForm1 = class(TForm)
   Button1: TButton;
   procedure Button1Click(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;

implementation

uses Unit2;

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
Form2.show;
end;

end.

Копируем в буфер, закрываем проект без сохранения. Делаем новый точно такой-же проект (т.е. кнопка на первой форме открывает вторую). Стираем юнит один полностью. Вставляем на его место вышепреведенный кусок (из буфера). Компилируем - кнопка 1 не работает, форма 2 не вызывается.


 
sniknik ©   (2009-02-11 00:16) [67]

> Копируем в буфер
а dfm? почему копируем половину модуля?


 
Сергей М. ©   (2009-02-11 00:17) [68]


> Компилируем - кнопка 1 не работает, форма 2 не вызывается


И что ?
Отсутствует вызов метода Button1Click, потому "не работает..не вызывается"


 
AlexDan ©   (2009-02-11 00:18) [69]

> sniknik ©   (11.02.09 00:16) [67]
Вот именно, об этом как говориться и бодались..).


 
AlexDan ©   (2009-02-11 00:31) [70]

до одури.).


 
sniknik ©   (2009-02-11 00:31) [71]

> Вот именно, об этом как говориться и бодались..).
бодались не с этим, бодались с ТОБОЙ, с твоим "умением" ставить вопросы (вот прочитай [0] и сравни с [66]), и понимать ответы (вот почему опять "вот именно"? у меня не подтверждение твоему посту, а указание о твоем упущении. и если ты даеш понять что понял должен был бы написать "да, был дурак, не понимал что копировал половинку от целого и все коверкал, а восстановить исковерканное не догадался, теперь исправлюсь, больше не буду.").


 
sniknik ©   (2009-02-11 00:32) [72]

> до одури.).
ну так веди себя адекватнее, и все наладится...


 
{RASkov} ©   (2009-02-11 00:38) [73]

> [66] AlexDan ©   (11.02.09 00:14)
> Копируем в буфер, закрываем проект без сохранения.

Причем тут буфер, при чем тут блокнот, при чем тут ИО и т.д......?
Ты так и не понял ничего :( Завязывай с программированием, это не твое :)


 
AlexDan ©   (2009-02-11 00:41) [74]

> sniknik ©   (11.02.09 00:31) [71]
Вообщем то да, просто перейдя с турбо паскаля, я не учитывал (точнее не обращал внимание) на такие вещи.


 
AlexDan ©   (2009-02-11 00:43) [75]

> {RASkov} ©   (11.02.09 00:38) [73]
Что же тут непонятного?)


 
{RASkov} ©   (2009-02-11 00:49) [76]

> [75] AlexDan ©   (11.02.09 00:43)

Судя по [66](!) посту(не малое кол-во :)) ты так и не понял "кухню" Делфи)


 
AlexDan ©   (2009-02-11 00:51) [77]

> {RASkov} ©   (11.02.09 00:49) [76]
То я привёл именно для примера, а понимаю всё прекрасно.).


 
sniknik ©   (2009-02-11 00:59) [78]

> а понимаю всё прекрасно.).
ну тогда ты это тщательно скрываешь... ну а так как это ты задал вопрос, и это тебе все пытаются объяснить, а ты все не показываешь, что хоть что то понял, вот и получается что "упирашся", с чем все и бодаются.
пока не надоело... а после будут тебя игнорировать.


 
sniknik ©   (2009-02-11 01:00) [79]

упирашся - упираешься


 
Германн ©   (2009-02-11 01:00) [80]


> {RASkov} ©   (11.02.09 00:49) [76]
>
> > [75] AlexDan ©   (11.02.09 00:43)
>
> Судя по [66](!) посту(не малое кол-во :)) ты так и не понял
> "кухню" Делфи)
> AlexDan ©   (11.02.09 00:51) [77]
>
> > {RASkov} ©   (11.02.09 00:49) [76]
> То я привёл именно для примера, а понимаю всё прекрасно.
> ).

Вот мои любимые собачки тоже "понимают всё прекрасно". Но ...
:)



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

Текущий архив: 2009.05.03;
Скачать: CL | DM;

Наверх




Память: 0.63 MB
Время: 0.022 c
15-1236093100
boa_kaa
2009-03-03 18:11
2009.05.03
Те, кто ждал - дождались...


8-1193906616
fff
2007-11-01 11:43
2009.05.03
playlist


6-1202811616
Doomer
2008-02-12 13:20
2009.05.03
NetBios


15-1235971946
TELOvek
2009-03-02 08:32
2009.05.03
Получить картинку из Word


8-1193561865
kas86
2007-10-28 11:57
2009.05.03
Вопрос по JPEG из DLL