Форум программистов, компьютерный форум, киберфорум
Delphi
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
 Аватар для snake32
3474 / 1658 / 236
Регистрация: 26.02.2009
Сообщений: 8,140
Записей в блоге: 6

CHM и .Net Framework Initialization Error

29.06.2015, 17:24. Показов 2019. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени!

Не могу понять как убрать эту ошибку:
После запуска программы нажимаю F1 и тут же вижу такую ошибку(см аттач).
Нажимаю Ок и справка адекватно работает. Только любое переключение темы справки опять приводит к появлению этого сообщения.

Когда компилю приложение как x64 то ошибки не возникает. Как так? Куда копать? И что теперь без НетФрэймворка даже справку не посмотришь?

PS: Delphi XE2; Win 7 x64
Миниатюры
CHM и .Net Framework Initialization Error  
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
29.06.2015, 17:24
Ответы с готовыми решениями:

.NET Framework Initialization Error
поясните пожалуйста последствия этой ошибки и серьёзна ли она. P.S не обзывайтесь пожалуйста )

notepad.exe -net framework initialization error
здравствуйте при активации программы вылетает такая ошибка notepad.exe -net framework initialization error что это такое ?

В списке Target Framework не выбирается .NET Framework 4 только .NET Framework 4 Client Profile
Свойства проекта (Project -> Properties) -> вкладка Compile -> Advenced complie options -> в списке Target Framework не выбирается .NET...

8
Эксперт .NET
 Аватар для Rius
11422 / 7303 / 1617
Регистрация: 25.05.2015
Сообщений: 22,072
Записей в блоге: 14
29.06.2015, 17:38
Приложите этот файл chm к посту. Вы его сами делали? Как запускаете?
0
 Аватар для snake32
3474 / 1658 / 236
Регистрация: 26.02.2009
Сообщений: 8,140
Записей в блоге: 6
29.06.2015, 17:53  [ТС]
Цитата Сообщение от Rius Посмотреть сообщение
Приложите этот файл chm к посту. Вы его сами делали? Как запускаете?
там 27 Мб. Да он самопальный. Но я так же пробывал на другом файле CHM(QTime7.chm) - всё так же ошибка на x86, а на x64 всё норм.

Сейчас ради эксперемента сделал чистый проект где прописал только
Delphi Скопировано
1
2
3
4
5
  Application.Initialize;
  Application.MainFormOnTaskbar := True;
  Application.HelpFile := ExtractFilePath(Application.ExeName) + 'Help.chm'; // добавил
  Application.CreateForm(TMainForm, MainForm);
  Application.Run;
Но по F1 ничего не происходит. Как запустить справку?
0
Эксперт .NET
 Аватар для Rius
11422 / 7303 / 1617
Регистрация: 25.05.2015
Сообщений: 22,072
Записей в блоге: 14
29.06.2015, 18:02
Вы в этом chm ничего лишнего не используете?
Всегда можно вызвать через ShellExecute: Кнопка справки в делфи, Вызов справки chm в FireMonkey, только контекстная справка не будет работать.

Цитата Сообщение от snake32 Посмотреть сообщение
Но по F1 ничего не происходит.
Наверное, не хватает разделителя '/' или '\\' в пути.
0
 Аватар для snake32
3474 / 1658 / 236
Регистрация: 26.02.2009
Сообщений: 8,140
Записей в блоге: 6
29.06.2015, 18:26  [ТС]
Цитата Сообщение от Rius Посмотреть сообщение
Наверное, не хватает разделителя '/' или '\\' в пути.
Путь правильный.(chm лежит рядом с exe)

Начал явно вызывать
Delphi Скопировано
1
2
3
4
procedure TFormMain.Button1Click(Sender: TObject);
begin
  Application.HelpContext( 0 );
end;
Выдаёт:
No context-sensitive help installed
Что за фигня? Почему так сложно показать справку?
0
Эксперт .NET
 Аватар для Rius
11422 / 7303 / 1617
Регистрация: 25.05.2015
Сообщений: 22,072
Записей в блоге: 14
29.06.2015, 18:28
Ссылки почитайте. Контекстной не будет, просто файл откроется.
Это дельфи, проверить на нас чем..
0
 Аватар для snake32
3474 / 1658 / 236
Регистрация: 26.02.2009
Сообщений: 8,140
Записей в блоге: 6
29.06.2015, 19:02  [ТС]
Delphi Скопировано
1
2
3
4
5
procedure TFormMainOptions.Button1Click(Sender: TObject);
begin
    //Application.HelpContext( 0 );
    HtmlHelp( GetDesktopWindow, Application.HelpFile, 0, 0 );
end;
Так вроде показывает без ошибок.

Добавлено через 2 минуты
Цитата Сообщение от Rius Посмотреть сообщение
Ссылки почитайте.
Почитал - меня так не устраивает. Не буду я же на каждой форме(коих +100500) явно писать ShellExecute или HtmlHelp

Добавлено через 27 минут
Как вызвать контекстную справку без глюков не используя ShellExecute или HtmlHelp?
Есть пошаговая инструкция?
Application.HelpFile := ExtractFilePath(Application.ExeName) + 'Help.chm';
явно не достаточно.
0
Эксперт .NET
 Аватар для Rius
11422 / 7303 / 1617
Регистрация: 25.05.2015
Сообщений: 22,072
Записей в блоге: 14
29.06.2015, 19:30
Тут официальная инструкция, но слегка (лет на 8) устаревшая: http://edn.embarcadero.com/article/27842

Тут поновее официально: http://docwiki.embarcadero.com... _HTML_Help
И упоминание о настройке: http://www.helpscribble.com/delphi-bcb.html на стороннем сайте

Если разберётесь - опишите.
0
 Аватар для snake32
3474 / 1658 / 236
Регистрация: 26.02.2009
Сообщений: 8,140
Записей в блоге: 6
02.07.2015, 17:05  [ТС]
Вообщем в чистом проекте Всё отлично работает. Действительно, необходимо указать только HelpFile и HelpContext на интересующем нас компоненте/форме. Всё остальное Delphi сделает сама. Не нужно вызывать ни ShellExecute, ни HtmlHelp, ни Application.HelpContext, ни ShotCut := VK_F1. Это всё костыли программеров которым влом было вникнуть в работу Delphi со справками.(Хотя возможно в Delphi 7 ситуация была другой)

НО моя проблема НЕ решена(см первый пост). Ошибка кроется где-то в +100500 тыщах строк говнокода. И возникает только внутри справочной системы Windows. Как выявить причину такой ошибки?
У меня все варианты закончились

Добавлено через 1 час 59 минут
Короче, сделал через ShellExecute так как это единственный способ который не вызывал ошибки
Delphi Скопировано
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
function TfmMainForm.FormHelp(Command: Word; Data: NativeInt;
  var CallHelp: Boolean): Boolean;
 
    var s:string;
begin
{$IFDEF CPUX64}
    Result := true;
  CallHelp := true;
{$ELSE !CPUX64}
{$IFDEF CPUX86}
    CallHelp := false;
    Result := false;
    if Data = 0 then Data := 1;
    s := '-mapid '+IntToStr(Data)+' "'+Application.HelpFile+'"';
    ShellExecute( GetDesktopWindow, nil, 'hh.exe', PChar(s), nil, SW_RESTORE );
{$ENDIF CPUX86}
{$ENDIF !CPUX64}
end
;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
02.07.2015, 17:05
Помогаю со студенческими работами здесь

Запуск приложения на платформе .NET Framework 4.0, на другом компьютере без установки .NET Framework 4.0
Как запустить приложение на платформе .NET Framework 4.0, на другом компьютере без установки .NET Framework 4.0?

.NET Framework при запуске ASPX файла выдает: Server Error in '/' Application.
Люди!! Помогите вылечить геморрой. Сам с ASP не давно стокнулся - опыта маловато, всего около месяца ковыряюсь. А тут ASP.NET купил,...

Перенос проекта из VS2015 (.Net Framework 4.5) в VS2008 (.Net Framework 3.5)
Здравствуйте разрабатывал графическое приложение c++/cli winforms в среде visual studio 2015 года+ netframework 4.5. возникла...

Совместимость проекта .NET Framework 4.6.2. На ПК с VS где установлен .NET Framework 4.6.1?
Если решение написано под .NET Framework 4.6.2, то соберется ли без ошибочно данное решение на другом ПК с точно таким же VS 2017...

Settings проекта после перебилда с Net Framework 4.0 на Net Framework 3.0
У меня возникла следующая проблема: Если создать проект WinForms под Net Framework 4.0, отредактировать список настроек, а потом изменить...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Миграция монолита в Event-Driven микросервисную архитектуру на C#
stackOverflow 11.04.2025
Монолитная архитектура – классический подход к разработке программного обеспечения. Это приложение, построенное как единое целое, где все компоненты тесно связаны между собой. Большинство проектов. . .
Go в Kubernetes: Управление ресурсами
golander 11.04.2025
Разработчики Go-приложений в Kubernetes часто сталкиваются с неожиданными проблемами производительности и даже внезапными отказами контейнеров. Причина этого кроется в особенностях взаимодействия. . .
Агрегаты и сущности в DDD микросервисах
Javaican 10.04.2025
Разработка современных программных систем часто приводит на распутье: монолит или микросервисы? Даже при выборе микросервисной архитектуры многие команды сталкиваются с проблемой правильного. . .
Многопоточность в C#: Task и параллельное программирование
UnmanagedCoder 10.04.2025
Современные процессоры уже давно перестали наращивать тактовую частоту в пользу увеличения количества ядер. Это создало интересную ситуацию: разработчики, привыкшие к последовательному. . .
Линейное решение нелинейной задачи будет иметь приблизительный результат вычисления для метода обработки данных из double buffering.
Hrethgir 10.04.2025
В продолжение Вообще изначально я пренебрёг квадратурой числа, но потом понял, что для вычисления приблизительного значения - сгодится, формулу можно будет корректировать по ходу. Это потому что. . .
Переменные в Python
py-thonny 10.04.2025
Переменная в программировании — это символическое имя, связанное с областью памяти, в которой хранится значение. Она позволяет получать доступ к данным через понятные человеку идентификаторы, а не. . .
Многопоточность в C#: Task и асинхронные операции
UnmanagedCoder 10.04.2025
Многопоточность позволяет выполнять несколько операций одновременно, что важно для решения двух основных задач: повышения скорости выполнения вычислительно-сложных операций и сохранения отзывчивости. . .
Линейное решение не линейной задачи (емкость вычислений в сравнении с традиционными решениями пока не определена).
Hrethgir 10.04.2025
В рамках предстоящих вычислений пришлось (да, я тоже знаю про корень числа, и про степеня, и прочие теоремы, но. . . ) найти способ нахождения отношения двух углов. . . .
Запуск контейнеров Docker на ARM64
Mr. Docker 09.04.2025
Появление таких решений, как Apple M1/ M2, AWS Graviton, Ampere Altra и Raspberry Pi, сделало использование ARM-систем обыденностью для многих разработчиков и DevOps-инженеров. При этом Docker,. . .
Vue SFC компонент на PHP с Fusion
Jason-Webb 09.04.2025
PHP на сервере и JavaScript на клиенте — классическое сочетание, которое, несмотря на свою эффективность, создает определенный когнитивный диссонанс при разработке. В этом контексте появляются. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru
Выделить код Копировать код Сохранить код Нормальный размер Увеличенный размер