16.06.2002, 18:02
АлакО, я прогу не смотрел, так как ПЗ у мя щас нету , но ИМХО, в ней по любому должна присутствовать History Panel. Дальше... чтобы избежать всяческих ошибок, тебе наверно нужно почаще использовать структуру
try
...
except
...
end;
, а также использовать явную (указанную) конверсию типов, и собственные обработчики ошибок
еще есть такая удобная для отладки вещь как вот такой шаблон функции/процедуры выведения сообщения о последней ошибке в системе:
var
eMsgBuff: PChar;
...
begin
...
FormatMessage (FORMAT_MESSAGE_ALLOCATE_BUFFER or
FORMAT_MESSAGE_FROM_SYSTEM,
nil,
GetLastError,
LANG_NEUTRAL,
@eMsgBuff,
0,
nil);
{Дальше пойдет кусок кода для вывода сообщения - можешь вставить то что тебе нравится - MessageBox(), MessageDlg(), ShowMessage() итд. То что написано в следующей строке - то, что предпочитаю я }
MessageDlg (eMsgBuff, mtWarning, [mbOk], 0);
{или другой, более продвинутый вариант}
(* if MessageDlg('The following error has occured during execution of the program: "'
+ eMsgBuff + '". Do you want to terminate the program?',
mtWarning, [mbOk, mbCancel], 0) = mrOk
then eTerminate {твоя собственная процедура аварийного выхода}
else Exit; *)
...
end;
ЗЫ. точки вместо пробелов вставить чтоли? :ph34r:
[ 16 июня 2002: Изменил: Го-Го третий ]</p>
try
...
except
...
end;
, а также использовать явную (указанную) конверсию типов, и собственные обработчики ошибок
еще есть такая удобная для отладки вещь как вот такой шаблон функции/процедуры выведения сообщения о последней ошибке в системе:
var
eMsgBuff: PChar;
...
begin
...
FormatMessage (FORMAT_MESSAGE_ALLOCATE_BUFFER or
FORMAT_MESSAGE_FROM_SYSTEM,
nil,
GetLastError,
LANG_NEUTRAL,
@eMsgBuff,
0,
nil);
{Дальше пойдет кусок кода для вывода сообщения - можешь вставить то что тебе нравится - MessageBox(), MessageDlg(), ShowMessage() итд. То что написано в следующей строке - то, что предпочитаю я }
MessageDlg (eMsgBuff, mtWarning, [mbOk], 0);
{или другой, более продвинутый вариант}
(* if MessageDlg('The following error has occured during execution of the program: "'
+ eMsgBuff + '". Do you want to terminate the program?',
mtWarning, [mbOk, mbCancel], 0) = mrOk
then eTerminate {твоя собственная процедура аварийного выхода}
else Exit; *)
...
end;
ЗЫ. точки вместо пробелов вставить чтоли? :ph34r:
[ 16 июня 2002: Изменил: Го-Го третий ]</p>