Модуль USERERR для Turbo Pascal
Copiright (c) by SoftWeyr,1993
При работе с Turbo Pascal часто возникают такие ситуации,
когда причиной ошибки времени выполнения служит некорректное
обращение к уже отлаженному модулю. Если этот модуль был
откомпилирован без отладочной информации, то сообщение об
ошибке выскакивает в абстрактном окошке и найти место ее
возникновения ох как непросто. Не лучше и ситуация, когда
исходный текст модуля доступен - Call Stack после останова по
ошибке сделать нельзя, а попробуй все это оттрассируй.
Особенно достали меня сообщения типа Abstract Method Call,
Collection Index out of Range и т.п. в паскале 6.0.
Модуль UserErr позволяет решить эту проблему. Подцепипив его
к отлаженному модулю и поместив в начале каждой интерфейсной
процедуры/метода вызов PushErrFar, а в конце PopError, то в
случае возниконвения ошибки в процедуре, курсор в
интегрированной среде будет установлен в точку, откуда ее
вызвали.
Процедура PopErrNear предназначена для случая, когда вы уже
отладили какую-нибудь локальную процедуру ($F- или near) и
хогтите отследить, где она некорректно вызывается в том же
модуле.
Модуль UserErr переназначает процедуру завершения (ExitProc)
Поэтому если вы хотите, чтобы он работал, работайте с ExitProc
корректно.
--
Phone: 230-80-61 Victor B.Wagner
E-Mail:vitus@agropc.msk.su Dokuchaev Soil Institute
7, Pyzhevsky lane,
Moscow, Russia
|