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

Вниз

Как удалить предок компонента из его же события   Найти похожие ветки 

 
Sco ©   (2006-10-18 16:10) [0]

Мне надо так но выдаётся ошибка, шо делать?

procedure TAlarmClockF.AlarmDelIconClick(Sender: TObject);
begin
// smth code
AlarmDelIcon.parent.destroy
// smth code
end;

Всё идёт гладно до end; потом ошибка памяти, шо можно сдесь сделать?


 
Плохиш ©   (2006-10-18 16:14) [1]


> AlarmDelIcon.parent.destroy

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

Попробуй применить Release, как в справке и написано.


 
Sco ©   (2006-10-18 16:23) [2]

теорию глюка я понял, а вот как испольщовать release я незнаю...


 
Плохиш ©   (2006-10-18 16:28) [3]


> Sco ©   (18.10.06 16:23) [2]
> теорию глюка я понял, а вот как испольщовать release я незнаю

Ну.. можно слово "destroy" в своём коде заменить на слово "release". А можно и в справке что-нибуть почитать.


 
Sco ©   (2006-10-18 16:35) [4]

2[b]Плохиш[/b] я уюзаю TPanel, а у неё нету release


 
Сергей М. ©   (2006-10-18 16:36) [5]


> шо делать?


С какого перепугу чадо может потребовать у родителя убиения самого себя, при этом контролируя процесс своего убиения ?)


 
Плохиш ©   (2006-10-18 16:37) [6]


> Sco ©   (18.10.06 16:35) [4]
> 2[b]Плохиш[/b] я уюзаю TPanel, а у неё нету release

Ну и негиК удалять то, что не создавал.


 
Sco ©   (2006-10-18 16:44) [7]

не понял... чо за маразм. Мне надо сносить панель, на панели есть иконка - жму на неё - и панель должна исчезнуть с формы и из памяти. так что не "нефиг" - а как её удалить?
Я делаю обработку события OnClick, но прямо оттуда нормально снести не могу, глюки, а снести НАДО! как ето сделать? У TPanel нету release


 
Плохиш ©   (2006-10-18 16:54) [8]


> Sco ©   (18.10.06 16:44) [7]
> не понял... чо за маразм. Мне надо сносить панель, на панели
> есть иконка - жму на неё - и панель должна исчезнуть с формы
> и из памяти.

Закажи панель форме, она уничтожит и даже денег не возьмёт.


 
Германн ©   (2006-10-18 16:56) [9]

PostMessage поможет ОРД


 
Sco ©   (2006-10-18 17:00) [10]

2Плохиш а ето как? даже не представляю
2Германн ваще ничо не понял, чо такое Орд, PostMessage/

можна для меня попроще... а то нифига не понимаю


 
Amoeba ©   (2006-10-18 17:04) [11]


> чо такое Орд

Отец русской демократии


 
Sco ©   (2006-10-18 17:06) [12]

2Amoeba издеваешься? лучше бы написал код который мне надо ввести...


 
Германн ©   (2006-10-18 17:09) [13]

procedure TAlarmClockF.AlarmDelIconClick(Sender: TObject);
begin
// smth code
 PostMessage(Handle,WM_AlarmDelIcon_parent_destroy,0,0);
// smth code
end;
procedure TAlarmClockF.WMAlarmDelIcon_parent_destroy(var Mes: TMessage);
begin
 AlarmDelIcon.parent.free;
end;


 
Игорь Шевченко ©   (2006-10-18 17:21) [14]


> лучше бы написал код который мне надо ввести...


Ему ничего не надо вводить. Это тебе надо ввести. Вот и мучайся.


 
Sco ©   (2006-10-18 17:36) [15]

2Германн не прокатило, пишет "[Ошибка] AlarmClock.pas(512): Not enough actual parameters"
2Игорь Шевченко можно смеятся?


 
Игорь Шевченко ©   (2006-10-18 17:45) [16]

Sco ©   (18.10.06 17:36) [15]

Лучше не смеяться. Лучше книжки читать. Или за метлой бежать в ближайший магазин.


 
Sco ©   (2006-10-18 19:39) [17]

2Игорь Шевченко какой метлой? чо проблемы с головой? книжки я итак читай, ДелфиВорлд изучаю и т.д. А как решить ету траблу не знаю.

2Германн так как ето сделать, уже чотока не пробовал - пишет разные ошибки а кампилится не хочет.


 
Ketmar ©   (2006-10-18 19:54) [18]

>[17] Sco(c) 18-Oct-2006, 19:39
>какой метлой?
обычной. в стране дефицит хороших дворников.


 
Sco ©   (2006-10-18 20:18) [19]

Флудеры... чо незя ответиь нормально??? ну незнаю я етого, разобраться не смог... уровень не тот, мона же обьяснить, а вы флудите...


 
Sco ©   (2006-10-18 20:45) [20]

Ау народ! Как ето сделать - у меня в ^ коде выводит ошибку:
AlarmClock.pas(512): Not enough actual parameters, на параметр WMAlarmDelIcon_parent_destroy, если я пишу:
procedure TAlarmClockF.AlarmDelIconClick(Sender: TObject);
var
mes: TMessage;
begin
// smth code
PostMessage(Handle,WM_AlarmDelIcon_parent_destroy(mes),0,0);
// smth code
end;
то она ругается [Ошибка] AlarmClock.pas(512): Incompatible types: "Cardinal" and "procedure, untyped pointer or untyped parameter".
В чём проблема?


 
Virgo_Style ©   (2006-10-18 20:58) [21]

Sco ©   (18.10.06 20:45) [20]
В чём проблема?


В незнании.
Посмотри, какие параметры у PostMessage и сравни с тем, что ты ей дал.


 
Sco ©   (2006-10-18 21:13) [22]

прочитал статью про сообщения, посмотрел функцию PostMessage...
вторым параметром надо передавать переменную Cardinal, а в примере ^ передаётся процедура... так не я же придумал етот пример. Надо както "оформить" процедуру через cardinal? если да то как? если нет то что нужно передать в качестве второго параметра?

Вы что меня игнорируете... если да, и если из за [19], то Ketmar, Игорь Шевченко, Amoeba реально ничо не сделали для етого топика, тока нафлудили, так что моё замечание вполне справедливо. А если все считают что мой вопрос слишком лёгок... то смею напомнить что раздел называется "начинающим", а всякие системные сообщения далеко не азы в Делфи...
2Игорь Шевченко в дворники я не собираюсь... если я чего то не знаю ето не значит что я ничего не умею и мне надо идти в дворники... и ваще ето борзо вместо ответа писать такое...


 
Virgo_Style ©   (2006-10-18 21:21) [23]

Sco ©   (18.10.06 21:13) [22]
то смею напомнить что раздел называется "начинающим", а всякие системные сообщения далеко не азы в Делфи...


Ну так и незачем начинаюшим туда лезть


 
Пользователь   (2006-10-18 21:24) [24]

то смею напомнить что раздел называется "начинающим", а всякие системные сообщения далеко не азы в Делфи...

Если ты в "начинающим" нормально вопрос сформулировать не можешь, сделай вывод: тебе еще рано этим заниматься... а то и вовсе не судьба... смирись...

в дворники я не собираюсь...

А придется...

если я чего то не знаю ето не значит что я ничего не умею и мне надо идти в дворники...

При таком подходе к решению задач - придется... (извини, что повторяюсь)...

и ваще ето борзо вместо ответа писать такое...

Тебе уже ответили... работа на свежем воздухе метлой способствует усилению мозговой деятельности... типа, лучший отдых - смена деятельности... я не сомневаюсь, что метлой махать у тебя получится... правда, в отношении решения тобою программных задач у меня очень сильные сомнения... (ну вот, я опять повторился)...

P.S. Замечательная у тебя анкета: "Увлечения / хобби: Delphi рисую лыжи"... ну, раз удается рисовать в Delphi лыжи, то метла получится и подавно...


 
Sco ©   (2006-10-18 21:49) [25]

"Если ты в "начинающим" нормально вопрос сформулировать не можешь, сделай вывод: тебе еще рано этим заниматься... а то и вовсе не судьба... смирись... А придется..."
Я щас учусь в политехе, на программиста, в потоке я лучший, 1 курс... так что не пиши придётся или нет... А чтобы ты знал - ты просто флудер, хороший ты программист или нет, но флудер ты стабильно - я ето хуже дворника причём намного.
Тебе уже ответили... работа на свежем воздухе метлой способствует усилению мозговой деятельности... типа, лучший отдых - смена деятельности... я не сомневаюсь, что метлой махать у тебя получится... правда, в отношении решения тобою программных задач у меня очень сильные сомнения... (ну вот, я опять повторился)...
Я конечно нарушаю правил а форума- но у меня к тебе вопрос - ты чо ахренел? ты чо бля думаешь что все программеры с нуля сразу становятся крутыми? я тут такие топики видел, где такие елементарные вопросы обсуждались, и знаешь никто про дворников ничо не говорил.
P.S. Замечательная у тебя анкета: "Увлечения / хобби: Delphi рисую лыжи"... ну, раз удается рисовать в Delphi лыжи, то метла получится и подавно... я вижу ты на форуме не зарегистрен, ты ваще хоть какоенибудь отношение к Делфи имеешь? или ты просто нашёл в яндексе страничку, и твоя никчёмная душонка решила испананить мне настроение?
Ты претваряешься кретином или ето давно уже твой диагноз?


 
Sco ©   (2006-10-18 21:52) [26]

2Virgo_Style чтото я тебя недопонял, ты предлагаешь перенести тему в "основные"? я думаю ей там не место, просто я имел ввиду что ето вопрос не из лёгких, однако ине и продвинутых. Ты ответ на мой вопрос знаешь?


 
Германн ©   (2006-10-18 22:34) [27]


> вторым параметром надо передавать переменную Cardinal, а
> в примере ^ передаётся процедура... так не я же придумал
> етот пример.

Но ты же мой пример "тупо" скопировал, да ещё и с ошибкой.
У меня PostMessage(Handle,WM_AlarmDelIcon_parent_destroy,0,0);

procedure TAlarmClockF.WMAlarmDelIcon_parent_destroy(var Mes: TMessage);
Наиди разницу.


 
sniknik ©   (2006-10-18 22:39) [28]

Германн ©   (18.10.06 22:34) [27]
человек не знает про события, а ты ему чтобы по куску догадался свое сделать, и вызов исправить... к тому же это лишнее, должно сработать системное

procedure TAlarmClockF.AlarmDelIconClick(Sender: TObject);
begin
 PostMessage(AlarmDelIcon.Parent.Handle, WM_CLOSE, 0, 0);
end;


 
Германн ©   (2006-10-18 22:42) [29]


> sniknik ©   (18.10.06 22:39) [28]
>
> Германн ©   (18.10.06 22:34) [27]
> человек не знает про события, а ты ему чтобы по куску догадался
> свое сделать, и вызов исправить...

Так вот пусть и узнаёт, а не глотает уже разжеванное. :-)


 
Schamane   (2006-10-18 22:45) [30]

Если не гнаться за красотой, поставить таймер на 50 мс, и в его обработчике замочить экземпляр и выключить таймер. Согласен, кривовато.
И ещё. Я писал такое:
procedure someproc(Sender: TObject);
begin
//
Sender.Free;
//
end;

И у меня всё работало. Мож я чё не понимаю?


 
Schamane   (2006-10-18 23:06) [31]

Эх, надо мне названия внимательнее читать...


 
MikePetrichenko ©   (2006-10-19 06:50) [32]

procedure TfmMain.Button1Click(Sender: TObject);
var
 Obj: TOBject;
begin
 Obj := TButton(Sender).Parent;
 TButton(Sender).Parent := TButton(Sender).Parent.Parent;
 Obj.Free;
end;



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

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

Наверх




Память: 0.55 MB
Время: 0.051 c
11-1137864238
Boguslaw
2006-01-21 20:23
2006.11.05
KOL Unicode


2-1161617796
mahab
2006-10-23 19:36
2006.11.05
jpeg


2-1161598700
id
2006-10-23 14:18
2006.11.05
Вычисления значения функции.


3-1157687718
Slym(RO)
2006-09-08 07:55
2006.11.05
Advantage и кривые blobы как пофиксить?


15-1161243592
Плохиш
2006-10-19 11:39
2006.11.05
Растаможить новую машину в Украине стоит больше 6000 Евро?