Хелп по Delphi | Крымский форум

Хелп по Delphi

  • Добро пожаловать на форум! Рады видеть вас здесь! Зарегистрируйтесь или Войдите в аккаунт, чтобы иметь полный доступ к площадке!

Zemf

Местный житель
Абориген
Сообщения
201
Реакции
0
Репутация
10
Доброго всем времени!
Возникла такая ситуация, что пришлось обратиться к старому доброму Delphi.
При запуске программы в 7 винде вылетает ошибка:
Failed to get data for 'LineColor'

В ХР такого не происходит.
Текст проги в скрине ниже. Чего не так?
 

Вложения

  • 2018_11_15_23_28_48.png
    2018_11_15_23_28_48.png
    11.1 KB · Просмотры: 0
Не спец по дельфям, но:
А что там с правами записи/чтения в реестр или наличием ключей в нём-же?
Дельфи свеженький, или из "тех времён", когда винды 7рошные ещё только в проекте были?
 
obscure
С правами не знаю как дела обстоят... И не пойму: в этом коде создаётся какой-то ключ или нет? Если да, то в него вписывается параметр LineColor? Или что-то не так понимаю?
А прога писалась ещё на Делфи4
biggrin.gif
тогда даже ХР не существовало. Однако, на ХР работает.
 
Судя по коду, оно создает объект, который работает с реестром.
Потом пытается прочитать ключи реестра.
Либо что-то с правами, либо ключа нет(в этом месте реестра), либо вызов криво работает коль уж расчитан на старую винду95.


Запустите прогу от админа, типа - "все права".

Если не заоаботает, тогда:
либо отладка
либо дельфи посвежее и пересобрать. Прямо на 7-й винде.


З.Ы.
Как вариант - попробовать режим совместимости.
 
Проверьте ветки реестра,возможно в 7 другой путь
 
На каком шаге то ошибка ?
может у вас класс TLineColor не тот
 
obscure bolt123
Vacony
Я смотрел в ветке HKEY_LOCAL_MASHINE -> Software а дальше не пойму что искать.

Насчёт объекта. Прога должна устанавливаться в папку с определённым именем и цифрой в конце.
Пример: Proga0 или Proga2. В этом случае выскакивает ошибка Failed to get data for 'LineColor'. Но я заметил, что если назвать папку, к примеру, Proga-2, то эта ошибка не выскакивает и происходит запуск оболочки. Но тогда возникает другая проблема. В эту оболочку нужно загружать в дальнейшем файлы, а при этом возникает уже другая ошибка:
Old version files aren't mantained any more!!! (тут путь к фалу делфи с расширением .pas и строке, которая отвечает за появление этого сообщения - см. скриншот ниже). Не пойму, что за оператор Assert.
Если я убираю эту строку, то потом выскакивает другое сообщение:
Tab index out of bounds

На 2010 делфи пробовал перекомпилить. Там слишком много несовпадений типов переменных. В итоге поставил делфи 7 - там гораздо меньше проблем. Режим совместимости не помогает.

Добавлено в [mergetime]1542461668[/mergetime]
Vacony
Цитата(Vacony @ 17 Ноября, 2018, 10:36)
может у вас класс TLineColor не тот

А как узнать - тот или не тот?
 

Вложения

  • 2018_11_17_16_24_30__2_.png
    2018_11_17_16_24_30__2_.png
    66.6 KB · Просмотры: 0
надо глянуть стек вызовов поглубже.
Отладчик поди есть.

Ибо Assert(... вызывается в процедуре, которую ктото кличет, исходя из обстоятельств.


Гадать по скринамфотографиям дело практичное только на ТНТ
 
Назад
Сверху