Aide .chm [?]

Signaler
Messages postés
260
Date d'inscription
lundi 27 janvier 2003
Statut
Membre
Dernière intervention
27 août 2008
-
Messages postés
260
Date d'inscription
lundi 27 janvier 2003
Statut
Membre
Dernière intervention
27 août 2008
-
Salut,

Il y avait dans mon prog un fichier d'aide .hlp mais quand je change le nom et met mon nouveau fichier d'aide .chm ca ne fonctionne pas.
Comment faut-il faire pour lancer un fichier ?

Hart (Borland C++ 5 win 98)

9 réponses

Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
27
ShellExecute(...)
BruNews, ciao...
Messages postés
949
Date d'inscription
mardi 2 octobre 2001
Statut
Membre
Dernière intervention
8 juillet 2006

Ou utiliser la librarie HTML Help qui permet d'ouvrir un fichier CHM et de spécifier des options.

Kaid
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
27
oui mais la tu risques de lui parler chinois.
BruNews, ciao...
Messages postés
260
Date d'inscription
lundi 27 janvier 2003
Statut
Membre
Dernière intervention
27 août 2008
1
J'ai essayé de faire comme tu a dit, ca me semble une tres bonne solution, mais quand je compile, j'ai une erreur :

Error: Unresolved external 'HtmlHelpA' referenced from module gntw32ap.cpp

puis j'ai inclus le .lib dans mon projet et ca me donne une autre erreur :

Fatal: Fatal: Bad object file '..\html help\htmlhelp.lib' near file offset 0

Faut il que je laisse le .lib dans mon projet ?

Comment ne plus obtenir d'erreur ?

Merci, Hart (borland c++5)
Messages postés
949
Date d'inscription
mardi 2 octobre 2001
Statut
Membre
Dernière intervention
8 juillet 2006

Bon tout d'abord j'utilise VC++, je ne sais pas trop comment marche les produits Borland.

Mais il faut effectivement inclure la librairie dans ton projet pour qu'elle soit linkée avec ton code. Existe-t'il dans ton compilateur une liste où l'on spécifie les fichiers à linker avec le projet ? Une liste où tu pourrais rajouter la librairie HTML Help (cela marche comme ca dans VC++).

Je pense quand même pas que ta librairie soit corrompue.

Kaid
Messages postés
260
Date d'inscription
lundi 27 janvier 2003
Statut
Membre
Dernière intervention
27 août 2008
1
Je vais essayer avec une autre htmlhelp.lib mais je suis pas sur du resultat

Merci pour ta réponse
Hart
Messages postés
260
Date d'inscription
lundi 27 janvier 2003
Statut
Membre
Dernière intervention
27 août 2008
1
Apres avoir tout essayer, j'ai fait comme suit :

typedef HWND (WINAPI *FPHH) (HWND, LPCSTR, UINT,
DWORD);
FPHH htmlHelp;
HINSTANCE inst = LoadLibrary("HHCTRL.OCX");
htmlHelp = (FPHH)::GetProcAddress(inst,"HtmlHelpA");
htmlHelp(NULL,"Gentiane.chm", HH_DISPLAY_TOPIC, 0);
FreeLibrary(inst);

Ca compile tout bien mais ca ne fait rien; comment ca ce fait ?
Hart
Messages postés
949
Date d'inscription
mardi 2 octobre 2001
Statut
Membre
Dernière intervention
8 juillet 2006

Au final tu as abondonné le linkage avec la librairie. Mais as-tu déjà réussi à ajouter une autre librairie à un de tes projets ? Car je ne comprends pas quel est le problème.

Je ne savais pas que l'on pouvais charger un OCX de manière dynamique avec LoadLibrary(). Sinon utilises la solution de bruNews, essayes de lancer le fichier .CHM avec ShellExecute(), si ca ne marche pas, lances "HH.EXE" avec le nom du fichier .CHM en paramètre.

Kaid
Messages postés
260
Date d'inscription
lundi 27 janvier 2003
Statut
Membre
Dernière intervention
27 août 2008
1
En fait, maintenant tout fonctionne, je m'explique. J'ai utilisé un utilitaire que tu connais peut etre : IMPLIB. Il m'a permit de 'convertir' un OCX en .lib et le tours est joué. Maintenant, il accepte la library donc je laisse tombé le chargement dynamique, mais au mois j'aurais appris ca.

Pour la methode de brunews, en fait le shellexecute aurait du fonctionner mais le probleme venait aussi de de mon fichier .chm, qui, je ne sais pas pourquoi ne s'ouvrai pas quand je l'appelai du prog.

Je vois par pourquoi non plus il n'acceptai pas l'autre library, enfin bon, c'est borland, on va pas trop lui en demander...

Maintenant tout est rentré dans l'ordre, merci a toi et a brunews.

Bonne prog, Hart