![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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();