Abstract error

5 отговора 169 прегледа
#1

Abstract error

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

ИГРАТА СВЪРШИ
Отговор
в отговор на Kлoyнът #2

Re: Abstract error

Пример:

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.

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

Отговор
в отговор на eмил #3

Re: Abstract error

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

ИГРАТА СВЪРШИ
Отговор
в отговор на Kлoyнът #4

Re: Abstract error

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

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


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 на

Отговор
в отговор на z_free #5

Re: Abstract error

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

ИГРАТА СВЪРШИ
Отговор
в отговор на Kлoyнът #6

Re: Abstract error

debug :)

-------------
Special killer double trouble triple extra nicotine monster!
Отговор