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

Вниз

ошибка при удалении из Tstringlist   Найти похожие ветки 

 
redlord   (2005-03-12 15:23) [0]

всем привет народ подскажите в чём ошибка
при попытке удаления объекта происходит ошиька ( абстракт еррор)

procedure TForm1.Button1Click(Sender: TObject);
var cl:tbutton; n:integer;
begin
if   activclient= nil then
activclient:=Tstringlist.Create; //activclient:Tstrings;
for n:=0 to 10 do
begin
cl:= tbutton.Create(nil);
cl.Top:=n*30;cl.Left:=10;
cl.Caption:=inttostr(n);
cl.OnClick:=destrou;
cl.Parent:=form1;
activclient.AddObject(inttostr(n),cl);
end;
end;

procedure tform1.destrou(Sender: TObject);
var n:integer;
begin
n:=activclient.IndexOfObject(sender);
tbutton(activclient.Objects[n]).Free;
end;


 
kukuikar ©   (2005-03-12 15:29) [1]


> procedure tform1.destrou(Sender: TObject);
> var n:integer;
> begin
> n:=activclient.IndexOfObject(sender);
> tbutton(activclient.Objects[n]).Hide;
> end;


 
KSergey ©   (2005-03-12 15:41) [2]

> [1] kukuikar ©   (12.03.05 15:29)
> > tbutton(activclient.Objects[n]).Hide;

Почему??

redlord   (12.03.05 15:23)
> n:=activclient.IndexOfObject(sender);  что в n получаем? проверить бы надо


 
kukuikar ©   (2005-03-12 15:46) [3]


> > [1] kukuikar ©   (12.03.05 15:29)
> > > tbutton(activclient.Objects[n]).Hide;
>
> Почему??


не знаю......
:)


 
Юрий Зотов ©   (2005-03-12 16:07) [4]

type
 TForm1 = class(TForm)
   Button1: TButton;
   procedure Button1Click(Sender: TObject);
 private
   procedure BtnClick(Sender: TObject);
   procedure WMUserPlus100(var Message: TMessage); message WM_USER + 100;
 end;

procedure TForm1.Button1Click(Sender: TObject);
var
 i: integer;
begin
 for i := 0 to 10 do
   with TButton.Create(Self) do
   try
     Parent := Self;
     SetBounds(10, i * 30, Width, Height);
     Caption := IntToStr(i);
     OnClick := BtnClick
   except
     Free;
     raise
   end;
end;

procedure Tform1.BtnClick(Sender: TObject);
begin
 PostMessage(Handle, WM_USER + 100, Integer(Sender), 0)
end;

procedure TForm1.WMUserPlus100(var Message: TMessage);
begin
 TObject(Message.WParam).Free;
 inherited
end;


 
redlord   (2005-03-13 00:31) [5]

To Юрий Зотов and ALL
а как быть в случае если
type
Tform1 = class
...
...
end;

тобиш не является окном и мессагу кидать некому


 
Palladin ©   (2005-03-13 01:10) [6]

у любого класса есть конструктор... и, кстати, деструктор тоже...


 
redlord   (2005-03-13 02:32) [7]

TO Palladin
а поподробней .......???

то что они есть я знаю тока воспользоватся ими
в данном случае у меня не  невыходит :((


 
Юрий Зотов ©   (2005-03-13 06:57) [8]

> redlord   (13.03.05 00:31) [5]

Сообщение можно послать Application"у (см. OnMessage), или главной форме (Application.MainForm). Главное не в том, кому его посылать, а в том, что это надо делать через PostMessage.


 
redlord   (2005-03-14 18:45) [9]

ето пошется отдельный класс поэтому крайне нежелатьльно задействовать ворму и ей подобные вещи
я это зделал по другому
обявил сой клас как наследник от нити обвешал его тем чем надо.
нить создается но не запускается в ето время идет  работа с моим классом ,а когда нодо клас похоронить я запускаю нить на исполнение где стоит код sleep(10);
после чего нить помирает и тащит за собой в могилу все что на ней висит



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

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

Наверх




Память: 0.46 MB
Время: 0.038 c
14-1110139250
Серега
2005-03-06 23:00
2005.03.27
Подскажите компонент...


3-1109151523
Nur_Ali
2005-02-23 12:38
2005.03.27
регистрация базы данных на IBЕxpert


8-1102814820
Black
2004-12-12 04:27
2005.03.27
как вывести звук с микрофона на прямую к колонкам?


1-1110457330
Okey
2005-03-10 15:22
2005.03.27
Помогите! Хто знает где можно получить инфу о написание видео про


4-1107888763
ali_tash
2005-02-08 21:52
2005.03.27
есть ли фанкция аналог sleep для своего потока ?





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