Ошибки в Дельфи
Используйте конструкцию
Code: |
{©Drkb v.3(2007):https://delphi-hlp.ru} Try {здесь вы пишите код в котором может произойти ошибка} Finally {здесь вы пишите код который выполнится в любом случае - хоть произойдёт ошибка, хоть нет} End |
Например, это часто применяется во избежание утечек при динамическом распределении памяти:
Code: |
{©Drkb v.3(2007): https://delphi-hlp.ru} t:TStringList; ... t:=TStringList.create; //распределили память под объект t Try {здесь работаем с переменной t} Finally t.free;//память выделенная под объект t всегда будет освобождена End |
- Подробности
- Родительская категория: Delphi IDE, компиллятор, отладчик, редактор
- Категория: Ошибки в Дельфи
Code: |
{©Drkb v.3(2007): https://delphi-hlp.ru} raise Exception.Create('Это моя ошибка! Сам что хочу то и пишу здесь!') |
Примечание: в отличие от других объектов, объекты типа Exception или других классов, унаследованных от Exception не требуют вызова деструкторов или любых других действий по освобождению памяти после их создания.
- Подробности
- Родительская категория: Delphi IDE, компиллятор, отладчик, редактор
- Категория: Ошибки в Дельфи
Иногда выскакивают ошибки типа "Internal Error SY424", вот расшифровка префиксов: B : debugger BC : debugger BR : browser C : codegen CM : command line version of the compiler D : parser
- Подробности
- Родительская категория: Delphi IDE, компиллятор, отладчик, редактор
- Категория: Ошибки в Дельфи
Ошибка "Access Violation" возникает, когда идёт обращение к памяти к которой обращение запрещено. Это возможно во многих случаях, но наиболее типичные ситуации я попытаюсь перечислить:
1) Обращение к не созданному объекту.
Code: |
var e:TEdit;
begin e.text:='Hello world!'; end; |
В данном случае объект e ещё не создан и идёт обращение к памяти, которая ещё не выделена.
- Подробности
- Родительская категория: Delphi IDE, компиллятор, отладчик, редактор
- Категория: Ошибки в Дельфи
Страница 2 из 2