Клубове Дир.бг
powered by diri.bg
търси в Клубове diri.bg Разширено търсене

Вход
Име
Парола

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 20:08 03.06.24 
Компютри и Интернет
   >> Delphi
Всички теми Следваща тема *Кратък преглед

Тема Abstract errorнови  
Автор Kлoyнът (много уморен)
Публикувано18.10.05 10:01



Някой да има представа аджеба що е това Abstract error и има ли то почва у нас?
Имам един page control на който динамично (run time) му правя и махам Tab Sheet - ове, И когато махна някой понякога се появява това нещо - Abstract error.
Благодаря

ИГРАТА СВЪРШИ


Тема Re: Abstract errorнови [re: Kлoyнът]  
Авторeмил (Нерегистриран)
Публикувано18.10.05 10:40



Пример:


procedure TForm1.Button1Click(Sender: TObject);
var
sl:TStrings;
begin
sl:=TStrings.Create;
sl.Add('use TStringList instead.');
end;




на TStrings метода Add използва метод Insert, които
в TStrings е деклариран така:

procedure Insert(Index: Integer; const S: string); virtual; abstract;



abstract означава, че ... го няма - не е реализиран, но в
наследниците го има :) например в TStringList.

Та при теб се е случило нещо такова.



Тема Re: Abstract errorнови [re: eмил]  
Автор Kлoyнът (много уморен)
Публикувано18.10.05 10:48



Благодаря. Усетих го това - един бутон го е хванала липсата... Използвам TFrame за да направя съдържанието на TabSheet-a. Та в този фрейм има един бутон, който като се натисне трябва да скрие страницата. Ама нещо съм оцапал. И сега се чудя как да си оправя бакиите.

ИГРАТА СВЪРШИ


Тема Re: Abstract errorнови [re: Kлoyнът]  
Автор z_free (людоед)
Публикувано19.10.05 11:00



Емил искаше да каже, че абстрактна грешка се появява когато се опиташ да извикаш абстрактен метод. Т.е. метод без имплементация.

В Делфи можеш да правиш инстанции на абстрактни класове, така че внимавай. Ето пример:


TAbstract = class
public procedure DoStuff; virtual; abstract;
end;

TConcrete = class(TAbstract)
public procedure DoStuff; override; // and implemented
end;

после
with TAbstract.Create do begin
try
DoStuff; // abstract error! трябва да ползваш TConcrete.DoStuff();
finally
Free;
end;
end;


-------------
Special killer double trouble triple extra nicotine monster!

Редактирано от z_free на 19.10.05 11:02.



Тема Re: Abstract error [re: z_free]  
Автор Kлoyнът (много уморен)
Публикувано19.10.05 11:11



Благодаря. Това ми е известно и си го използвам при нишките. Ама не гърми там, а на OnMouseUp на един бутон.

ИГРАТА СВЪРШИ


Тема Re: Abstract errorнови [re: Kлoyнът]  
Автор z_free (людоед)
Публикувано19.10.05 14:49



debug :)

-------------
Special killer double trouble triple extra nicotine monster!



Всички темиСледваща тема*Кратък преглед
Клуб :  


Clubs.dir.bg е форум за дискусии. Dir.bg не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Dir.bg
За Забележки, коментари и предложения ползвайте формата за Обратна връзка | Мобилна версия | Потребителско споразумение
© 2006-2024 Dir.bg Всички права запазени.