|
| HTML hjælp i Borland C++ Builder Fra : Claus Nielsen |
Dato : 26-11-01 11:18 |
|
Okay, jeg må give op... Hvordan får jeg mit C++ Builder program til at
bruge en HTML-baseret hjælpfil (*.chm)?
Jeg har inkluderet "htmlhelp.h", men når jeg f.eks. forsøger at bruge
følgende linier kode i mit program...
char* HelpFile = "c:\\test.chm";
HtmlHelp(Application->Handle, HelpFile, HH_DISPLAY_TOPIC, 0);
....så får jeg fejl, når jeg forsøger at kompilere:
Unresolved external 'HtmlHelpA' referenced from: <min unit.obj>
Jeg kan se at der i "htmlhelp.h" er en funktion kaldet HtmlHelpA - så
hvad er det lige der går galt?
Mvh, Claus
| |
Claus Nielsen (26-11-2001)
| Kommentar Fra : Claus Nielsen |
Dato : 26-11-01 11:22 |
|
>Okay, jeg må give op... Hvordan får jeg mit C++ Builder program til at
>bruge en HTML-baseret hjælpfil (*.chm)?
Jeg da lige nævne at det er Borland C++ Builder 5 jeg bruger.
Mvh, Claus
| |
Mogens Hansen (26-11-2001)
| Kommentar Fra : Mogens Hansen |
Dato : 26-11-01 16:16 |
|
"Claus Nielsen" <cnn@post6.tele.dk> wrote in message
news:34540u0cn16dspp4sb97d50sos3q7vndi2@4ax.com...
>
> ...så får jeg fejl, når jeg forsøger at kompilere:
>
> Unresolved external 'HtmlHelpA' referenced from: <min unit.obj>
>
> Jeg kan se at der i "htmlhelp.h" er en funktion kaldet HtmlHelpA - så
> hvad er det lige der går galt?
Det er linkeren, der ikke kan finde funktionen HtmlHelpA.
Funktionen er, ifølge dokumentationen, en del af HTML Help API'et, som er
implementeret i DLL'et Hhctrl.ocx.
Det vil sige at du skal bruge et import library til dette DLL.
Hvis du brugte Microsoft Visual C++ ville det være Htmlhelp.lib, der skulle
linkes med i projektet.
Da du bruger Borland C++Builder, skal du selv lave import librariet.
Det gør du ved hjælp af værktøjet IMPLIB. Se hjælpefilen "Command-line
Tools" for en beskrivelse af hvordan det bruges.
Når du har genereret import librariet, skal du blot linke det med i
projektet.
Venlig hilsen
Mogens Hansen
| |
Claus Nielsen (26-11-2001)
| Kommentar Fra : Claus Nielsen |
Dato : 26-11-01 19:43 |
|
>Når du har genereret import librariet, skal du blot linke det med i
>projektet.
Okay, tak! Det vil jeg straks kigge nærmere på.
Mvh, Claus
--
e-mail: cnn@post6.tele.dk
homepage: http://home6.inet.tele.dk/cnn
| |
Claus Nielsen (27-11-2001)
| Kommentar Fra : Claus Nielsen |
Dato : 27-11-01 09:04 |
|
>Det er linkeren, der ikke kan finde funktionen HtmlHelpA.
>Når du har genereret import librariet, skal du blot linke det med i
>projektet.
Æv, det kunne jeg ikke finde ud af. Jeg har jo kun htmlhelp.h (fra
Builderens INCLUDE katalog) til rådighed, og IMPLIB tager en *.DEF fil
som parameter... og IMPDEF tager en *.DLL som parameter. Og når jeg
kun har førnævnte *.H fil at lege med, så kommer jeg desværre ikke så
langt. Er det bare mig der gør et-eller-andet helt forkert?
Mvh, Claus
| |
Mogens Hansen (27-11-2001)
| Kommentar Fra : Mogens Hansen |
Dato : 27-11-01 09:51 |
|
"Claus Nielsen" <cnn@post6.tele.dk> wrote in message
news:vhh60u0lcsond68ukmmbujseaf2i22nkhf@4ax.com...
>
> Æv, det kunne jeg ikke finde ud af. Jeg har jo kun htmlhelp.h (fra
> Builderens INCLUDE katalog) til rådighed, og IMPLIB tager en *.DEF fil
> som parameter... og IMPDEF tager en *.DLL som parameter. Og når jeg
> kun har førnævnte *.H fil at lege med, så kommer jeg desværre ikke så
> langt. Er det bare mig der gør et-eller-andet helt forkert?
Implib kan tage et DLL og generere et tilhørende import library.
Filen hhctrl.ocx, som implementerer HTML Help funktionaliteten, _er_ et DLL.
Du skal finde hhctrl.ocx på din maskine og i på en kommandolinie skrive
implib hhctrl.lib hhctrl.ocx
Herefter vil du have import librariet hhctrl.lib, som du skal linke med i
dit projekt.
Venlig hilsen
Mogens Hansen
| |
Claus Nielsen (27-11-2001)
| Kommentar Fra : Claus Nielsen |
Dato : 27-11-01 17:53 |
|
>Herefter vil du have import librariet hhctrl.lib, som du skal linke med i
>dit projekt.
Tada! Det sidste trick gjorde udslaget - nu har jeg fået det til at
fungere. 1000 tak!
Mvh, Claus
--
e-mail: cnn@post6.tele.dk
homepage: http://home6.inet.tele.dk/cnn
| |
|
|