Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2011.11.27;
Скачать: CL | DM;

Вниз

Альтернативная справка   Найти похожие ветки 

 
>|<   (2011-08-04 15:53) [0]

Хочу по нажатию F1 открывать определенный PDF-файл, который лежит в базе.
присвоил обработчик Application.OnHelp, присвоил значение Application.HelpFile
Но при нажатии на F1 получаю сообщение:
---------------------------
Приложение: WINHELP
---------------------------
Подсистеме Win 16 недостаточно ресурсов для продолжения работы. Щелкните "ОК", закройте все приложения и перезагрузите компьютер.
---------------------------
ОК  
---------------------------
Вот код:
function TfrmMain.FormHelp(Command: Word; Data: Integer;
 var CallHelp: Boolean): Boolean;
 var HelpDir:string;
 procedure OpenURL(const AURL: String);
 
 begin
 
   DMMain.odsHelpinDB.Close;
   if Application.MainForm.ActiveMDIChild<>nil then
     DMMain.odsHelpinDB.SetVariable("P_CN", Application.MainForm.ActiveMDIChild.ClassName)
   else
     DMMain.odsHelpinDB.SetVariable("P_CN", Self.ClassName);
   DMMain.odsHelpinDB.Open;
   if DMMain.odsHelpinDB.IsEmpty then
      ErrorDlg("По данной форме справка не найдена!")
   else
   begin
     HelpDir:=ExtractFilePath(Application.ExeName)+"\HELP";
     if not DirectoryExists(HelpDir) then
        CreateDir(HelpDir);
     DMMain.odsHelpinDBDOC.SaveToFile(HelpDir+"\"+Self.ClassName+".doc");
     ShellExecute(0, nil, PAnsiCHAR(HelpDir+"\"+Self.ClassName+".doc"), nil, nil, SW_SHOWNORMAL);
   end;
 end;

var
 DataStr: String;
begin
 // Пока установим признак успешного выполнения
 Result := True;

 case Command of
   // Открытие заголовочной страницы
   HELP_FINDER,  HELP_CONTENTS:
     OpenURL(Application.HelpFile);
   // Поиск по ключевому слову
   HELP_KEY:
     OpenURL(Application.HelpFile + "?q=" + PChar(Data));
   // Открытие темы по номеру
   HELP_CONTEXT, HELP_CONTEXTPOPUP:
     OpenURL(Application.HelpFile + "/article" + IntToStr(Data) + ".html");
   // Расширенные команды:
   HELP_COMMAND:
   begin
     DataStr := PChar(Data);

 
   end;
   // HELP_QUIT: - здесь можно закрыть окно браузера
   // ... <- тут прочие команды, если надо
 else
   // Все прочие команды обрабатывать не умеем - указываем, что завершились неудачно
   Result := False;
 end;
end;

procedure TfrmMain.FormCreate(Sender: TObject);
begin
 Application.HelpFile := "help.hlp";
 Application.OnHelp := FormHelp;
 
 


Кто знает, в чем может быть причина ошибки и как ее победить?


 
DiamondShark ©   (2011-08-04 16:51) [1]

Set CallHelp to true if the application should still invoke the help system after the event. Set CallHelp to false to prevent the default response by the help system.


 
>|<   (2011-08-04 19:08) [2]


> DiamondShark ©   (04.08.11 16:51) [1]

Добавил в этот обработчик первой строкой CallHelp := False;
Но он в него даже не заходит.
Если Application.HelpFile ничего не присваивать - никакой реакции на F1
Если присвоить любое значение - вываливается ошибка, приведенная выше.
В текст обработчика компилятор не заходит


 
QAZ   (2011-08-05 11:16) [3]

а где связь между "открывать определенный PDF-файл" и HLP с DOC ?


 
>|<   (2011-08-05 14:21) [4]


>  Application.HelpFile := "help.hlp";

это фейковое значение, чтобы сработал обработчик. А уже в самом обработчике открывается док и пдф


 
Amoeba_   (2011-08-05 15:05) [5]


> >|<   (05.08.11 14:21) [4]
>
>
> >  Application.HelpFile := "help.hlp";
>
> это фейковое значение, чтобы сработал обработчик. А уже
> в самом обработчике открывается док и пдф
>

Не тем путем идешь. Оставь в покое
Application.HelpFile
и
Application.OnHelp

Нужно просто сделать свой обработчик для F1 и в нем открывать свои файлы.


 
Anatoly Podgoretsky ©   (2011-08-05 15:20) [6]

> Amoeba_  (05.08.2011 15:05:05)  [5]

Где же еще делать, кроме этих и ряда еще других Help свойств. Вызывать из
HelpContext и HelpJump


 
>|<   (2011-08-05 15:41) [7]


> Amoeba_   (05.08.11 15:05) [5]

FYI
http://www.gunsmoker.ru/2011/02/delphi.html#supports
Абзац "Web/Online"


 
kilkennycat ©   (2011-08-05 17:29) [8]

гансмокер бредить не может



Страницы: 1 вся ветка

Текущий архив: 2011.11.27;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.009 c
15-1312489794
Юрий
2011-08-05 00:29
2011.11.27
С днем рождения ! 5 августа 2011 пятница


2-1312203505
Guest1
2011-08-01 16:58
2011.11.27
drag and drop из webbrowser в listbox


15-1311971398
Юрий
2011-07-30 00:29
2011.11.27
С днем рождения ! 30 июля 2011 суббота


2-1312053793
Pepe
2011-07-30 23:23
2011.11.27
Hmac MD5 Delphi


2-1312311743
Aleks1995
2011-08-02 23:02
2011.11.27
Компиляция проги для Виндовс 7