У меня была эта проблема с TortoiseGit с Cygwin в Windows. Я не смог удалить remove ./.git/index.lock даже с правами администратора, я попробовал оба Cygwin и командной строки, он сказал, что файл использовался другим процессом.
Я обнаружил, что у меня было 2 экземпляра TortoiseProc.exe. Я убил одного из них и закрыл все окна окон, а затем смог удалить файл. Я не знаю, было ли убийство экземпляра TortoiseProc.exe решением или закрытием окон Windows Explorer.
Ада (в отличие от C) не позволяет назначать значение одного числового типа переменной другого числового типа без явного преобразования.
Это должно работать:
shortLen := Short_Integer(rec_len);
recLen := Integer(shortLen);
Это объявление:
type short is new Short_Integer;
не делает short
псевдонимом для Short_Integer
(как typedef
в C) , Это делает short
новым и отличным типом, полученным из Short_Integer
.