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

Вниз

Abstact error   Найти похожие ветки 

 
Andrew   (2004-06-10 19:05) [0]

Привет!
Подскажите кто сталкивался/боролся с сабжем?
ситуация:
Две формы, Первая создается при запуске, вторая по нажатию кнопочки( form1.Hide;
         form2 := tform2.create(form1);
         form2.show;
)
на второй три кнопки(button1,2,3)
onClick у каждой один и тот же:

procedure TForm2.Button1Click(Sender: TObject);
begin
form1.show;
free;
end;

А реакция программы:
- на первую кнопку такая как и предполагалась(форма два закрылась и первая появилась)
- а вот на второю и третью тоже то самое но еще плюс сообщение об ошибке "Abstract error" - ужасть какой то!!!!
причем эта ошибка появляется при увиличении на второй форме количества кнопок до 3-х, с двумя все нормально.
Я бы отказался от третей и забыл, но "непорядочек все же"(С)
Не сможет ли кто подсказать причину ошибки?


 
Гаврила ©   (2004-06-10 19:07) [1]

procedure TForm2.Button1Click(Sender: TObject);
begin
form1.show;
free;
end;

Не разрушай так в своем методе, это есь неправильно.
В данном случае можно попробовать заменить Free на Release


 
Ihor Osov'yak ©   (2004-06-10 19:24) [2]

2 [1] Гаврила ©   (10.06.04 19:07)

Чисто из религиозных убеждений я бы вместо Release в этом случае написал бы
PostMessage(Handle, WM_Close, 0, 0);
а в обработчике TForm2.FormClose
сказал-бы Action := caFree;

Да и от переменной form2 избавился бы - она здесь тысячу лет нужна (вспоминаем  о with), и от греха подальше..


 
Petr V. Abramov ©   (2004-06-10 19:41) [3]

> сообщение об ошибке "Abstract error"

 TMyClass = class(TSomeClass)
 ....
   procedure AbstractProc; virtual; abstract;
 end;

var
 A: TMyClass;
begin
 .....
 A.AbstractProc; // вот здесь будет ошибка
end;
ищите что-то похожее в коде


 
Гаврила ©   (2004-06-10 22:11) [4]

>>Ihor Osov"yak ©   (10.06.04 19:24) [2]
По сути, это то же самое

>>Petr V. Abramov ©   (10.06.04 19:41) [3]
Исходя из описания ситуации автором вопроса, можно предположить, что непереопределенные абстрактные методы отсутствуют. Скорее всего, такой результат является причиной порчи памяти при неправильном разрушении формы


 
Глеб ©   (2004-06-11 04:38) [5]


> Две формы, Первая создается при запуске, вторая по нажатию
> кнопочки( form1.Hide;
>          form2 := tform2.create(form1);
>          form2.show;)

Попробуй делать не create(form1), а create(application)


 
Andrew   (2004-06-11 10:15) [6]

Спасибо всем!
Не ожидал что когото это заинтересует.
2Глеб: Application не помог........
2Гаврила и Ihor Osov"yak: РАБОТАЕТ!!!!!!!!!!!! и то и другое;
Спасибо ОГРОМНОЕ всем отозвавшимся!!!!!!



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

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

Наверх





Память: 0.46 MB
Время: 0.054 c
1-1087255495
Алекс А
2004-06-15 03:24
2004.06.27
Существуют ли простые библиотеки для проверки русской орфографии?


3-1086073144
Valeri
2004-06-01 10:59
2004.06.27
Visual Foxpro


14-1086891993
Knight
2004-06-10 22:26
2004.06.27
Гы... :)


3-1085942542
Viktor
2004-05-30 22:42
2004.06.27
Перекодировка таблиц


1-1086708278
matt
2004-06-08 19:24
2004.06.27
StringGrid





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