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. Это Ваши исходные данные. В третьей колонке считаете произведение значений из первой и второй колонок. Ну а потом в любой ячейке считаете сумму всех значений в третьей колонке, для этого функция СУММ есть. Ну и вторую задачу по аналогии...
Вот ведь! А на такую простую вещь, как крышка, я и не подумал. Крышка действительно с мягким прижимом. Что-то типа поролонки, а поверх неё толстый глянцевый белый бумажный лист. И у него действительно эти два края "закруглены". Либо от старости завернулись, либо, возможно, эта прижимка чуть-чуть задевает рамку вокруг стекла. Это уж надо тщательно при хорошем свете посмотреть. Но в любом случае такую проблему можно устранить!
Игорь: Я что-то такое и подозревал. А что именно жрёт-то, какой ресурс? Если процессор под 100% загружен, то Вы ему уже ничем не поможете. Нужно покупать более мощный комп или смириться. Если память кончается, что с хромом тоже весьма вероятно, то её наверное можно добавить (смотрите спецификацию ноута). Вот такой вот нынче интернет - требует ресурсов больше, чем игрушки. И всё больше и больше. Это будет одинаково под любой осью от 7 до 10. Менять смысла нет. Разьве что сборку на что-то более "чистое".
Игорь: Хорошо, что чистили. Но Вы так и не ответили на вопрос, когда ноут "тормозит" Вы смотрели, чем заняты системные ресурсы и каких не хватает? Желательно смотреть это на чистой ОС, а не сборке от Васи Пупкина, про это тут уже написали.
По поводу оперативной памяти, сейчас 4 гигабайта - это минимум, а никак не норма для комфортной работы. Тем более, что скорее всего это единственное, что Вы ещё можете улучшить в ноуте.
Romanson: Справки там действительно кот наплакал. Я просто ткнул посмотреть, кто же такие эти ItemAppearance, ItemAppearanceObjects. И у второго в описании есть что-то типа "используйте для оформления футеров, хидеров, итемов и прочего. Значит у него и должны эти фонты быть. Дальше уже синтаксис помощник всё подсказал.
Ну и чего, почти получилось. Вы это в какой-то среде (Паскаль, Дельфи) делаете или на бумажке? Просто компилятор Вам должен был уже на все ошибки указать. Для начала объявление массива. I и J здесь не годятся. Они же ещё не имеют никаких значений. Нужно указать минимальный и максимальный индекс массива:
T: array [0..99] of Integer;
это массив из 100 элементов.
В цикле увеличивать переменную i не нужно, это оператор цикла сам сделает.
По логике задачи N пожалуй тоже массив. Если в T у Вас цена товара, то в N количество этого товара в заказе. Не обязательно же всех товаров одинаковое количество должно быть.
Ну и чтобы программа чего-то сосчитала, нужно элементам массивов какие-то значения присвоить.
Aleksey Bu: Вы смешиваете содержимое файла и вид этого файла в каком-либо средстве просмотра. Дело не в символах равно и тире, а в том, что эксель не понимает такое содержимое. Пусть в файле будут, не знаки равно и тире, а символы псевдографики. Тогда при просмотре файл будет выглядеть "полноценной таблицей" расчерченной линиями, но это ничуть не облегчит загрузку в эксель!
И, кстати, думаю Ваш текстовый файл несложно разобрать и загрузить в эксель с помощью встроенного бейсика. Тоже вариант.
Но всё-таки лучше избавляйтесь от этого архаизма.
KTG: То есть сначала TDynamicGrid = class(TDBGridEh), а потом TDBgridEh = class(TDynamicGrid) ???
И подобные чудеса наследования не смущают? Даже если это как-то работает...