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

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.53 MB
Время: 0.041 c
2-1161673857
D@Nger
2006-10-24 11:10
2006.11.05
DBLookUpComboBox и событие OnClick


15-1161179190
pasha_golub
2006-10-18 17:46
2006.11.05
Stunnel & mail clent


5-1142499037
Arm79
2006-03-16 11:50
2006.11.05
ошибка при обращении к Parameters наследника TADOStoredProc


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


2-1161281677
Нначинающий
2006-10-19 22:14
2006.11.05
Форма в середине десктопа





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