Форум программистов, компьютерный форум, киберфорум
Delphi
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
3455 / 1643 / 236
Регистрация: 26.02.2009
Сообщений: 8,031
Записей в блоге: 5
1

CHM и .Net Framework Initialization Error

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

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

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

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

PS: Delphi XE2; Win 7 x64
Миниатюры
CHM и .Net Framework Initialization Error  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.06.2015, 17:24
Ответы с готовыми решениями:

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

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

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

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

8
Эксперт .NET
11068 / 6985 / 1571
Регистрация: 25.05.2015
Сообщений: 21,063
Записей в блоге: 14
29.06.2015, 17:38 2
Приложите этот файл chm к посту. Вы его сами делали? Как запускаете?
0
3455 / 1643 / 236
Регистрация: 26.02.2009
Сообщений: 8,031
Записей в блоге: 5
29.06.2015, 17:53  [ТС] 3
Цитата Сообщение от 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
11068 / 6985 / 1571
Регистрация: 25.05.2015
Сообщений: 21,063
Записей в блоге: 14
29.06.2015, 18:02 4
Вы в этом chm ничего лишнего не используете?
Всегда можно вызвать через ShellExecute: Кнопка справки в делфи, Вызов справки chm в FireMonkey, только контекстная справка не будет работать.

Цитата Сообщение от snake32 Посмотреть сообщение
Но по F1 ничего не происходит.
Наверное, не хватает разделителя '/' или '\\' в пути.
0
3455 / 1643 / 236
Регистрация: 26.02.2009
Сообщений: 8,031
Записей в блоге: 5
29.06.2015, 18:26  [ТС] 5
Цитата Сообщение от 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
11068 / 6985 / 1571
Регистрация: 25.05.2015
Сообщений: 21,063
Записей в блоге: 14
29.06.2015, 18:28 6
Ссылки почитайте. Контекстной не будет, просто файл откроется.
Это дельфи, проверить на нас чем..
0
3455 / 1643 / 236
Регистрация: 26.02.2009
Сообщений: 8,031
Записей в блоге: 5
29.06.2015, 19:02  [ТС] 7
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
11068 / 6985 / 1571
Регистрация: 25.05.2015
Сообщений: 21,063
Записей в блоге: 14
29.06.2015, 19:30 8
Тут официальная инструкция, но слегка (лет на 8) устаревшая: http://edn.embarcadero.com/article/27842

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

Если разберётесь - опишите.
0
3455 / 1643 / 236
Регистрация: 26.02.2009
Сообщений: 8,031
Записей в блоге: 5
02.07.2015, 17:05  [ТС] 9
Вообщем в чистом проекте Всё отлично работает. Действительно, необходимо указать только 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
02.07.2015, 17:05
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.07.2015, 17:05
Помогаю со студенческими работами здесь

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

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

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

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

Ошибка при установке .NET Framework 4.6.1: ".NET Framework 4.6.1 не поддерживается этой операционной системой"
Устанавливаю Microsoft .NET Framework на Windows 7. Возникает ошибка как на скриншоте. ...

Подключить к проекту (NET Framework 4) библиотеку на NET Framework 2
Суть вопроса такова, мне надо использовать в программе одну библиотеку но она написана и...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru