Главная страница
    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.042 c
4-1108364979
Kobik
2005-02-14 10:09
2005.03.27
Цвет под мышкой


3-1109324020
malefik
2005-02-25 12:33
2005.03.27
Параметры в fibdataset...


4-1108073150
GanibalLector
2005-02-11 01:05
2005.03.27
WM_KILLFOCUS


1-1110951712
ser35
2005-03-16 08:41
2005.03.27
Диапазон печати в QuickReport


1-1110536680
Ag.Smit
2005-03-11 13:24
2005.03.27
Как сделать, чтобы с помощью моей программы открывать файлы?





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