Ну почти оно. А файлы "без закорючек" там есть? Не test1.~pas, а test1.pas. Не test1.~dfm, а test1.dfm?
С тильдой это предыдущая версия файла, не самая последняя.
TheForgetDragon: В таких маленьких работах обычно всё в одном каталоге живёт. А у Вас, судя по содержимому Project23.dpr, форма где-то за километр ..\Проектная работа МУЗЕЙ - копия.files\Test\test1.pas. И там же ещё test1.dfm должен быть. Вот это всё давайте сюда. Там все Ваши кнопочки и код.
TheForgetDragon: Я так думаю, что Вы радиогруппы настроили как-то не так. У вас исходно какой-то пункт в них выбран (точка стоит)? Или исходное состояние никакой пункт не выбран (точки нет вообще)? В первом случае у Вас все вопросы всегда "отвечены" и даже если пользователь ничего не менял, правильных по вашей табличке будет как раз 2, а проверка if (ball<1) or (ball>10) смысла не имеет.
Владимир Кай: Т.е. если записей 3 или 4, то у нескольких записей поле меняется, а у одной нет? Или у нескольких нет? А начиная с 5 поле всегда меняется у всех? Чудно. Попробуйте проанализировать, может эта запись чем-то особенная? Последняя добавленная, выделенная курсором, ещё чего-нибудь.
logpol32: Считается, что на эту опцию расходуется много ресурсов. Поэтому готовые программы с ней обычно не компилируют. В основном такие ошибки должны выявляться при разработке и тестировании, что собственно у Вас и происходит. Но главное, на это время не забыть её включить, чтобы не гадать, что же такое с программой происходит.
logpol32: Ну ошибку я по большому счёту даже угадал. Здесь просто больше и быть нечему. Сорри, но я просто забыл, что эта опция компилятора по умолчанию отключена, что и помешало Вам увидеть точную строку ошибки. Надо было про это раньше вспомнить. Включите в свойствах проекта в опциях компилятора Range checking = true. У меня не 7 дельфи, точно по пунктам меню не скажу, но оно там точно есть. Перекомпилируйте проект и отладчик при ошибке Вам покажет точную строку:
SERVICE_SETTINGS_TABLE[SERVICE_SETTINGS_TABLE_records_count, 1] := Text;
Ошибка где-то в алгоритме установки размера SERVICE_SETTINGS_TABLE, и не забудьте, что элементы с 0 считаются.
Разберитесь для начала с этим.
logpol32: Ух, я думал у Вас получится одну процедурку с ошибкой вырезать. Но пускай так. Не так уж там всего и много. Но я хотел бы не просто на код, а на ошибку посмотреть. Т.е. если можно файлики ещё дайте, которые там читаться должны, xml-ка, и экселевый. Тогда всё отладим. А так тяжко в уме-то это всё прокручивать - не вылез ли какой индекс за границу или ещё чего...
Allanian: Что происходит, теперь более-менее понятно. Проблема ещё в том, что используется несколько сторонних компонент, в частности для ком-порта. Как их правильно использовать - я не знаю. В функции Open_ini_file я вижу только присвоение номера порта, а не собственно подключение. Что в компоненте при этом происходит - кто ж его знает. Надо по коду или по инструкции смотреть. Свойство Connected у него в этот момент чему равно? Из приведённого текста это не понятно. Меняется оно в процедурах mig и mig_time.
Не имея этого компонента могу только делать предположения. Их два:
1) Какая-то ошибка в использовании компонента. Например, в дизайнтайме у него установлено свойство Connected = true и какой-то порт. Может перед присвоением порта надо Connected = false делать или ещё что. Но это всё только фантазии и догадки - надо описание компонента глядеть.
2) А это предположение из другой области. Если программа раньше работала, то возможно в ней и всё правильно. Но раньше она работала под какой-нибудь XP, а теперь Вы её запускаете под 7-8-10. И ей каких-нибудь прав не хватает. Попробуйте от администратора её запустить, вдруг поможет.
DarkByte2015: Если в диспетчере устройств он в каком-нибудь виде висит (неизвестное устройство или ещё как) - удалить. В списке Устройства и принтеры его не должно быть. В установке и удалении программ удалите ранее установленные драйвера.
DarkByte2015: Вот попробуйте, в том порядке, как я написал, всё проделать.
Отключить принтер, вычистить все его следы, запустить установку драйверов, принтер включать только когда попросит инсталлятор.
DarkByte2015: Тут непонятно вот что. Если вот сейчас Вы его включаете и у компа на него никакой реакции, значит устройство распознано, какие-то драйвера установились. Но тогда в списке устройств он должен хоть в каком-то виде присутствовать. Если нет, то опять же про шнурок напомню - не сдох ли (это не шутка, это вполне реальная вещь).
Всё ли по инструкции ставили? Были проблемы с принтерами в случае если их подключали к компьютеру до установки родных драйверов.
Я бы отключил принтер, прошелся по системе, если где-то какие-то упоминания о нём нашёл - удалил (в устройствах ли, в установленных программах ли). Затем запустил установку драйверов. Обычно эти инсталляторы на каком-то этапе говорят, что теперь можно/нужно подключить принтер. Вот теперь включаем его и смотрим на реакцию. Должно обнаружится новое устройство, установиться драйвера, инсталлятор должен сказать, что всё хорошо. В устройствах должен появиться принтер.
DarkByte2015: То-есть Вы считаете, что у HP единственный принтер? Проблему надо по модели искать. Вы написали, что ему уже несколько лет. А он вообще 64-битной десяткой поддерживается?
Потом, что значит "компьютер не видит подключенный принтер"? При подключении принтера новое устройство обнаруживается или нет? Если да, то что дальше происходит? Что в диспетчере устройств, что в списке принтеров?
Иван Фролов: Я почему-то подозреваю, что там уже не всё хорошо. На 1С-то лицензия есть? На всех пользователей? А на компах винда лицензионная? Небось ещё и офис у всех стоит. Но конечно серверная винда с нужным количеством лицензий солидно добавит...
Анатолий Талугин: Вы в экселе-то хоть что-нибудь делали? Хоть какие-нибудь вычисления? Тут действия-то элементарные... Перемножить пары чисел, произведения просуммировать. Ну хорошо, попробую подробнее. В одну колонку забиваете Эi, во вторую колонку Альфаi. Это Ваши исходные данные. В третьей колонке считаете произведение значений из первой и второй колонок. Ну а потом в любой ячейке считаете сумму всех значений в третьей колонке, для этого функция СУММ есть. Ну и вторую задачу по аналогии...
Вот ведь! А на такую простую вещь, как крышка, я и не подумал. Крышка действительно с мягким прижимом. Что-то типа поролонки, а поверх неё толстый глянцевый белый бумажный лист. И у него действительно эти два края "закруглены". Либо от старости завернулись, либо, возможно, эта прижимка чуть-чуть задевает рамку вокруг стекла. Это уж надо тщательно при хорошем свете посмотреть. Но в любом случае такую проблему можно устранить!
С тильдой это предыдущая версия файла, не самая последняя.