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

Вниз

А это что за глюк???   Найти похожие ветки 

 
axs   (2003-03-06 18:44) [0]

Кто знает что эта ошибка означает???

Появляется окно с заголовком "Debugger Exception Notification"
и текст в окне....

Project myprogram.exe raised exception class EAbstractError with message "Abstract Error". Process stopped

Что это за такая абстрактная ошибка и что она означает???


 
Palladin   (2003-03-06 18:46) [1]

обратился к абстрактному методу класса...
Abstract + F1


 
axs   (2003-03-06 18:54) [2]

хе-хе :) НЕСМЕШНО, блин!!!
А если серьезно!!! У меня прога все правильно работает а через
промежуток времени после того как я раз 7-15 нажимаю на кнопку вылетает такая воть фигня!!!


 
Mike_Goblin   (2003-03-06 18:57) [3]

Ты вызываешь абстрактный метод


 
Palladin   (2003-03-06 19:01) [4]


> axs (06.03.03 18:54)

Интересно, а что смешного я сказал?


 
axs   (2003-03-06 19:03) [5]

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

for c:= Form1.ComponentCount -1 downto 0 do
if (Form1.Components[c] is TNSimg) then
if (Form1.Components[c] as TNSimg).Name = "But"+IntToStr(i) then
Form1.Components[c].Free;

я так думаю что ошибка появляется именно из за этого участка кода когда я "убиваю" компоненты...


 
Anatoly Podgoretsky   (2003-03-06 19:09) [6]

axs (06.03.03 18:54)
Нет у теня "прога" не правильно работает, есть ошибка.



 
axs   (2003-03-06 19:13) [7]

Anatoly Podgoretsky © (06.03.03 19:09)

А где, если не секрет??? Плиззз я уже пол дня над этим глюком страдаю... :((((


 
Anatoly Podgoretsky   (2003-03-06 19:16) [8]

Не секрет конечно, если будет достен код программы, но если он большой или запутанный, то лучше не трать время, но обязательно надо посмотрет 17 строку, там ошибка.


 
axs   (2003-03-06 19:26) [9]

Ага, смешно.
А впринципе ты прав... зря я тут трачу время(всмысле на форуме), тем более что только что выдали зарплату и я носом чую что буду седня пьяным.............................................
Если что то мыль ответ на мыло axs@stsland.ru
А это типо весь код процедуры данной правда она ещё там кое какую процедурку вызывает...
procedure min;
var i: byte;
t,c: integer;
begin
if not flag then
begin
t:= 0;
for i := 8 downto 1 do
begin
t := 50*i ;
for c:= Form1.ComponentCount -1 downto 0 do
if (Form1.Components[c] is TNSimg) then
if (Form1.Components[c] as TNSimg).Name = "But"+IntToStr(i) then
Form1.Components[c].Free;
Form1.RedLine(i,t,2);
end;
Form1.RedLine(0,0,3);
end;
flag := true;
end;
а данные компоненты создаются таким методом из процедуры RedLine
if flag then
begin
But := TNSimg.Create(Form1);
But.Left := 54;
But.Top := 22 + (T-50);
But.Width := 50;
But.Height := 50;
But.name := "But" + IntToStr(L);
But.Parent := Form1;
But.OnClick := Click;
But.OnMouseEnter := Enter;
But.OnMouseLeave := Leave;
But.OnMouseDown := Up;
end;

Ну вот вроде и все... надеюсь тут все доступно написано


 
Anatoly Podgoretsky   (2003-03-06 19:33) [10]

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


 
axs   (2003-03-06 19:39) [11]

Мдя... Все с вами ясно... будем эту проблЭму решать "Научным Методом Тыка"... ладно всеравно спасибо...
А программа действительно оочень большая, но такую ошибку я увидел впервые и незнаю что она означает...
а принцип очень прост, жму на обьект и он уничнтожает все, в том числе и себя, обьекты данного типа... и ошибка возникает тогда когда удаляються эти обьекты... :(


 
axs   (2003-03-06 19:41) [12]

Но правда ошибка появляется не сразу а так с 7-15 раза!!! :)))


 
Anatoly Podgoretsky   (2003-03-06 20:04) [13]

axs (06.03.03 19:39)
Используй трассировку, может удастся уточнить в каком месте у тебя затык. Не повторяемость может говорить или о неправильной инициализации, об ошибках использования глобадьных переменных (лучше что бы их не было), о неверной работе с указателями, затираением памяти за пределами и подобных небрежностях.
Найти будет нелегко, такие ошибки трудно обнаруживаемые, проще и дешевле писать без ошибок, не давать им места для простора, тогда и отладка требуется по минимуму.

Вот в этом куске вызывет сомнение необходимость применения переменной But, а если она к тому же и глобальная, то совсем плохо.


if flag then
begin
But := TNSimg.Create(Form1);


Надеюсь, что у тебя хотя бы включены рантайм проверки в проекте или расчитываешь на удачу.



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

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

Наверх




Память: 0.47 MB
Время: 0.007 c
3-53924
phantom2040
2003-02-26 09:13
2003.03.17
CGI + базы данных


14-54195
maxtaran
2003-03-03 05:56
2003.03.17
HELP SOS HELP помогите разобраться с системным треем


1-53992
Демонов Е.В.
2003-03-06 13:07
2003.03.17
VBA


14-54203
Fredericco
2003-03-03 10:55
2003.03.17
Что можно сделать на Java.


14-54264
Юров Владимир
2003-02-28 12:59
2003.03.17
Поля... кругом одни поля!!!





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