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

Вниз

Возможен ли запуск *.CHM с параметром главы?   Найти похожие ветки 

 
botaniQ   (2007-10-11 10:32) [0]

Доброго всем тем, кто 12 и 13 сентября справляет профессиональный праздник!
Возникла такая проблемка:
Написал программу + написал к ней хелп в формате *.hlp...Но как оказалось, МикроМягкие не умудрились в стандартный пакет Висты запихнуть поддержку этих самых *.hlp....Так вот программу мне надо сдулать с поддержкой той самой висты и чтобы справка работала естеССно.
Подвернулся вариант сделать CHM-справку...но, по ходу дела, В делфи нельзя назначить так называемый Application.HelpFile=exDir+"help.chm";
Хочу сделать через ShellExecute....но ладно бы если мне просто надо было бы запустить help.chm...Мне надо его в некоторых случаях запускать с определенной главы...
Я подумал - Если тот же MsPaint запустить с параметром "- c:\1.bmp" то он его естеССно загрузит.....Так вот... Можно ли запустить *.chm файл с параметром, указывающим так называемый TopicID ??? Типа "help.chm - TopID:Main"...


 
DVM ©   (2007-10-11 10:36) [1]

http://www.soft32.ru/delphi.shtml?topic=files&title=chm_use


 
botaniQ   (2007-10-11 10:52) [2]


> DVM ©   (11.10.07 10:36) [1]
> http://www.soft32.ru/delphi.shtml?topic=files&title=chm_use


А есть ли вариант попроще?....Этот я уже обдумывал :)


 
DVM ©   (2007-10-11 11:09) [3]


> А есть ли вариант попроще?....


unit Unit1;

interface

uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;

type

TForm1 = class(TForm)

Button1: TButton;

Button2: TButton;

procedure FormCreate(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

private

{ Private declarations }

public

// Описание функции "HH"

function HH(Command: Word; Data: Integer; var CallHelp: Boolean): Boolean;

{ Public declarations }

end;

var

Form1: TForm1;

implementation

//========= HTML Help API ===========

const

HH_DISPLAY_TOPIC = $0000;

HH_DISPLAY_TOC = $0001;

HH_CLOSE_ALL = $0012;

function HtmlHelp(hwndCaller: HWND;

pszFile: PChar; uCommand: UINT;

dwData: DWORD): HWND; stdcall;

external "HHCTRL.OCX" name "HtmlHelpA";

//=================================

{$R *.DFM}

// Функция "HH"

function TForm1.HH(Command: Word; Data: Integer; var CallHelp: Boolean):
Boolean;

begin

if (Command = 0) and (Data = 0)

then HtmlHelp(Application.Handle,

PChar(Application.HelpFile),

HH_DISPLAY_TOC, 0);

CallHelp := False;

end;

// При создании формы замена реакции приложения на вызов справки

procedure TForm1.FormCreate(Sender: TObject);

begin

Application.OnHelp := HH;

end;

// Вызов CHM Help

procedure TForm1.Button1Click(Sender: TObject);

var

dummy : Boolean;

begin

Application.HelpFile := "helpname.chm";

HH(0, 0, dummy);

end;

procedure TForm1.Button2Click(Sender: TObject);

begin

// Закрыть все окна, открытые вызывающей программой

HtmlHelp(0, nil, HH_CLOSE_ALL, 0);

end;

end.



 
botaniQ   (2007-10-11 11:15) [4]

Спасибо БОЛЬШОЕ....Скоро испробую....:)


 
Суслик ©   (2007-10-11 12:33) [5]

погугли по  "Helpware Group"

я использую два модуля

hh.pas
hh_funcs.pas

для показа chm справки. пока доволен



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

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

Наверх




Память: 0.48 MB
Время: 0.022 c
2-1196779438
dmdel
2007-12-04 17:43
2007.12.30
Просмотр в Fb 1.5


6-1177047641
tytus
2007-04-20 09:40
2007.12.30
Indy 10 - Как узнать, что клиент отключился? (клиент - в dll)


2-1196706403
BD
2007-12-03 21:26
2007.12.30
Поиск в базе данных (MS Access)


15-1196196390
gotik
2007-11-27 23:46
2007.12.30
Кто был в Тайланде?


2-1196766424
Цукор
2007-12-04 14:07
2007.12.30
TOpenDialog