Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Application.ProcessMessages - абстрактная ошибка [D7]


Juice ©   (2005-07-06 18:45:00) 

Очень странная ошибка вылезла. Вот такой код:


ProcThread.Resume();
 while (not ProcThread.PTerminated) do
      Application.ProcessMessages();


На вызове ProcessMessages вываливается ошибка : EAbstractError with message 'Abstract Error'. Я глянул реализацию ProcessMessages - никакая она не абстрактная. Может быть имеет значение то, что код этот содержится в методе класса, который в свою очередь описан в отдельно-добавленом мною юните, и чтобы Application стал известен я добавил в uses этого модуля Forms.


jack128   (2005-07-06 19:18:00) [1]

Чаще Warning'и читай - здоровее будешь..


Juice   (2005-07-06 19:09:00) [2]

Блин, страшная штука эти пробелы в знаниях. Все было в том что я обьявил procedure Execute() без директивы override   :)


Juice   (2005-07-06 19:05:00) [3]

Даже так:
ProcThread := TProcThread(TProcThread.Create(true));
 ProcThread.ProcFunc := Self.ProcessXLSFileCore;
 ProcThread.sql := sql;
 ProcThread.tr := tr;
 ProcThread.FileName := FileName;
 ProcThread.FreeOnTerminate := false;
 Application.ProcessMessages();  //Тут нет ошибки
 ProcThread.Resume();
 Application.ProcessMessages();  //Тут она уже есть !!!
 while (not ProcThread.PTerminated) do
       Application.ProcessMessages();
 Result := ProcThread.TResult;
 ProcThread.Free();


Наверх

Титульная страница Поиск, карта сайта Написать письмо