Это перевод Woodworking, the opposite of software development. Автор: Реймонд Чен.

Ожидая автобус на остановке, я встретил бывшего разработчика программного обеспечения, который сказал, что теперь он

Читать на сайте автора.

Один начинающий программист спросил, почему вылетает с Access Violation очень простой и, что интереснее, явно корректный код.

Примечание: слово «случайных» в заголовке означает, что вылет происходит в непредсказуемом месте — разном, в зависимости от приложения. Но в рамках одного конкретного приложения вылет всегда детерминирован (и, следовательно, воспроизводим).

Я не буду приводить код целиком, потому что, во-первых, он не имеет отношения к вопросу, во-вторых, он многократно менялся. Автор вопроса показал себя мастером скрывать данные и давать неточные показания.

Читать на сайте автора.

Есть ли ошибка в этом коде?

Код предположительно обрабатывает файл, открывает его, читает данные, что-то с ними делает, затем сохраняет результат в другой файл.

var
Stream: TFileStream;
begin
Stream := nil;
try
// что-то делаем
Stream := TFileStream.Create({ ... });
// что-то делаем
finally
Stream.Free;
end;
try
try
Stream := TFileStream.Create({ ... });
except
Exit;
end;
// что-то делаем
finally
Stream.Free;
end;
end;

Читать на сайте автора.

Приглашаем всех на интересный вебинар, посвященный еще одной альтернативе FireMonkey для разработки мобильных приложений на Delphi. Это тем более интересно, поскольку в вебинаре принимает участие автор

Читать на сайте автора.