![]() |
HLP Hilfedateien in Delphi 2005
Hallo,
weiß jemand, wie man ältere HLP Dateien (z.B. die Turbopower Hilfen) in die Delphi 2005 IDE integrieren kann? Wäre ja dämlich, wenn das nicht mehr ginge... Micha |
Re: HLP Hilfedateien in Delphi 2005
Es ist dämlich - oder einfach nur Fortschritt.
Du wirst die Hilfe nach Microsoft Help 2.0 Format umwandeln müssen, damit sie integrierbar ist. Dieses Format wird jetzt von Delphi 2005 verwendet, um z.B. die Hilfe zum SDK von MS verwenden zu können. |
Re: HLP Hilfedateien in Delphi 2005
:wall: Danke!
Gibt es denn einen Weg, diese Konvertierung durchzuführen? HLP-Files kann man ja gut "dekompilieren" und bekommt dann RTF Dateien. Ich kenne allerdings Microsoft HELP 2 überhaupt nicht. Ich denke, dass einige Delphi 2005 Anwender an den Turbopower-Hilfefiles interessiert sein dürften, da kann man sich den Aufwand vielleicht teilen? Micha |
Re: HLP Hilfedateien in Delphi 2005
Zitat:
Aber da die Komponenten ja jetzt bei Sourceforge verfügbar sind, sind ja evtl. auch die Hilfedateien im Quellformat dabei. Und die könnte man mit sicherheit umwandeln. |
Re: HLP Hilfedateien in Delphi 2005
Zitat:
Aber da der Assistent auch die Projektdateien anlegt, könnte man das notfalls ignorieren (falls man die Dateien nicht manuell bearbeiten muss), und via Help 2.0-Workshop ins Help 2.0-Format konvertieren lassen. Den Help 2.0-Workshop gibt´s kostenlos (nennt sich "Visual Studio Help Integration Kit", kurz: VSHIK). Allerdings integriert sich die GUI ins Visual Studio.NET. Die Kommandozeilentools kann man benutzen, wenn auch mit rechtlich bedenklichem Patch der Installationsdatei. Zitat:
Ich würde mich mal an die Entwickler wenden und nachfragen. Evtl. sitzen die ja schon selbst an der Konvertierung. Aus eigener Erfahrung weiß ich, dass bereits die Konvertierung von HLP nach CHM eine Menge Zeit in Anspruch nimmt. Letztlich kommt man besser weg, die Hilfedatei gleich von Grund auf neu zu machen. Allerdings ist der Schritt CHM -> Help 2.0 kleiner, weil sich beide Formate ähneln. Es gibt Detailunterschiede, bei denen eine Nacharbeit notwendig wird. Aber eine ganz normale CHM-Hilfedatei, ohne irgendwelche Besonderheiten, ist ratzfatz 1:1 konvertiert. Ich darf mal ganz bescheiden auf die Help 2.0-Version der Win32-API-Tutorials für Delphi verweisen. Die waren ursprünglich auch mal CHMs. :) |
Re: HLP Hilfedateien in Delphi 2005
Danke!
Ich werde mal in Sourceforge CVS schauen, was da so als Hilfesource vor sich hin dümpelt und würde gerne Dein Konw How dann ggf. noch einmal penetrant ausnutzen! :wink: Ich lasse den Thread daher nochmal offen. Michael |
Re: HLP Hilfedateien in Delphi 2005
Ja, klar. Wenn ich helfen kann, dann gern. Versuche mal die Projektdateien der Hilfe zu finden. Oder lass sie dir von den Entwicklern schicken. Ansonsten müsste man die originale Hilfedatei erst mal mit einem Decompiler auseinander nehmen, bevor man sie konvertieren kann.
Aber wie gesagt, frag erst mal die Entwickler. Wenn die das Produkt noch betreuen (womit wohl klar wäre, dass mir "Turbopower" nichts sagt :oops:), dann werden die sich u.U. schon selbst Gedanken wg. Delphi 2005 machen. |
Re: HLP Hilfedateien in Delphi 2005
Was :shock:
Dir sagt ![]() |
Re: HLP Hilfedateien in Delphi 2005
Ich habe im CVS in SOurceforge nachgesehen, es sind RTFs :x und das Hilfesystem wurde wohl mit ROBOHELP gemacht. Kennt jemand RoboHelp und kann man damit vielleicht MSHELP 2 erzeugen?
Micha |
Re: HLP Hilfedateien in Delphi 2005
Robohelp hab ich zuletzt 1995 verwendet, war nicht sonderlich begeistert davon. Ich verwende nur noch
![]() Gruß, Marcel |
Re: HLP Hilfedateien in Delphi 2005
Moin,
ich hätte noch ne Frage dazu, weil es mir noch nicht ganz klar ist: Kann ich jetzt also aus RTF-Dateien ne WinHelp2 erstellen? |
Re: HLP Hilfedateien in Delphi 2005
Die CHM Hilfedateien können mit dem freien HTML Workshop von Microsoft erstellt werden. Im Gegensatz zum klassischen Winhelp werden hier keine RTF- sondern HTML Dateien verwendet.
RTF Dateien kannst Du mit entsprechenden Programmen als HTML speichern, z.b. Word, Open Office. Gruß, Marcel |
Re: HLP Hilfedateien in Delphi 2005
Also RTF -> HTML -> CHM -> WinHelp2 ??
|
Re: HLP Hilfedateien in Delphi 2005
Den Zwischenschritt HTML kannst du weglassen, weil CHM ja bereits HTML ist. Wenn "Help & Manual", wie Marcel schreibt, HLP in CHM umwandeln kann, bist du schon mal eine Hauptsorge los. @Marcel: Vllt. könntest du ja mal ein paar Erfahrungen beim Konvertieren beschreiben.
Ich kenne nur den im HTML Helpworkshop eingebauten Konverter, der aus HLP-Projekten CHM-Projekte erzeugt. Aber wie gesagt, dabei werden Dateinamen verwendet ... :shock: oh, boy. Wenn man an der Datei nichts ändern muss, kann man das notfalls noch ignorieren. Haarig wird es bspw. bei Popups. Du kennst doch diese kleinen Popups in HLP-Dateien, erkennbar an einem einfach unterstrichenen Text. Der Konverter von Microsoft legt für jedes Popup eine separate HTML-Seite an. Logisch, weil es sich dabei ja auch um Seiten in der RTF-Datei gehandelt hat. Tja, und dann suche mal in Dateinamen wie "sb09383as34.htm" nach solchen Popups und setze sie für CHM ins richtige Format. :roll: Die entstandene CHM-Hilfedatei bzw. das CHM-Hilfeprojekt kann man ganz bequem mit dem von mir o.g. "VSHIK" von Microsoft nach Help 2.0 (HxS) konvertieren. |
Re: HLP Hilfedateien in Delphi 2005
Zitat:
|
Re: HLP Hilfedateien in Delphi 2005
@Stevie: Ich bin irgendwie davon ausgegangen das CHM = Microsoft Help 2.0 ist. Ist es ja nicht :oops: Die folgenden Seiten sollten Dir aber weiterhelfen:
![]() ![]() @MathiasSimmack: Das Ergebnis von H&M sieht gut aus, die HLP Dateien werden in ein internes Format von H&M überführt. Aus diesem internen Format wird dann das entsprechende Ausgabeformat erzeugt. Sowie D2005 bei mir eingetroffen ist werde ich mir das mal näher ansehen und versuchen einige Hilfedateien zu konvertieren. Laut Borland ist das Paket ja gestern raus... Gruß, Marcel |
Re: HLP Hilfedateien in Delphi 2005
@Stevie: Ich habe gerade mal ein kleines HLP-Projekt konvertieren lassen, weil ich es nicht mehr so genau wusste. Immerhin verwendet der Konverter die ersten Buchstaben der ursprünglichen HLP-Projektdatei für das neue Projekt. Meine ehemalige "upx-ui.*" (HPJ, RTF, CNT) sind also jetzt Dateien wie "upx-5qnn.htm" oder "upx-7fz9.htm".
Dummerweise sind sie alle
Code:
Das heißt, im HTML Helpworkshop siehst du nicht, in welcher Datei was drin steht. Und das obwohl zumindest jede RTF-Seite die Fußnote # benutzt. Wenn du dich mit HLP-Dateien auskennst, dann weißt du, dass diese Fußnote der Identifikation dient. Um bspw. bestimmte Themen gezielt aufrufen zu können, bzw. um Hints zu bestimmten Controls anzuzeigen, werden diese Fußnoten bzw. ihre Bezeichner dann im Hilfeprojekt mit Ziffern "gemappt", die man dann in der VCL einstellen kann, usw.
<title>(Untitled)</title>
Es wäre also denkbar gewesen, diese Fußnote als Titel zu verwenden. Es hätte zwar nicht schön ausgesehen und man hätte nacharbeiten müssen, aber immerhin hätte man gewusst, wo welches Thema ist. @Marcel: Dann scheint H&M (btw: :mrgreen:) besser zu sein als der Konverter des HTML Helpworkshop. Edit: wg. Marcel ;) |
Re: HLP Hilfedateien in Delphi 2005
Naja, auch das Problem hätte ich eventuell nicht, denn ich erstelle auch die RTF selber (aus xml-Dateien).
Also könnte ich an dieser Stelle ja gleich selber die htms erstellen und sie mit vernünftigen Namen versehen... |
Re: HLP Hilfedateien in Delphi 2005
Zitat:
![]() @Stevie: Stimmt, das wäre von Vorteil. |
Re: HLP Hilfedateien in Delphi 2005
Ich habe jetzt VSHIK installiert. Ich finde aber keine Kommandozeilenutilities. Kann mir jemand auf die Sprünge helfen?
Meine Idee jetzt: Helpdeco AccViz Helpmaker (Freeware) Accviz kann auch Help 2 erzeugen (lat Konfigdialog), wenn man Ihm den Compiler bekannt macht. Für CHM nutze ich das Programm schon länger. |
Re: HLP Hilfedateien in Delphi 2005
Sorry gefunden. Hatte auch nur einen Teil des Thread gelesen...
|
Re: HLP Hilfedateien in Delphi 2005
Zitat:
|
Re: HLP Hilfedateien in Delphi 2005
Hast schon Recht, für die Turbopower Produkte gibt es wohl alle Quelldateien auf SF. Aber ich habe noch andere (z.B. WPTools 5) und hatte gehofft, am Ende mit eiem Procedere dazustehen, das eine HLP in ein HxY oder wie auch immer umwandelt und zumindest rudimentäre Kontexthilfe erlaubt.
Da wäre noch eine Sache: Wie bindet man dann die HxYz Teile in D2005 ein? Wäre sicher ein Service für die Delphi 2005 Leute, wenn man dann mit Inno Setup Päckchen packen kann mit Turbopower und anderen (JCL/JVCL) usw. Möglicherweise ist dieses Ziel aber zu hoch gesteckt und möglicherweise interessieren sich gar nicht so viele für die Hilfen :gruebel: |
Re: HLP Hilfedateien in Delphi 2005
Zitat:
Jetzt aber ernsthaft: Es gibt mehrere Möglichkeiten, die Hilfedateien zu integrieren. Eine davon ist das Tool H2Reg von Rob Chandler, das du auf seiner Webseite ( ![]() Wenn du dich für ein Tool entschieden hast, solltest du dich mit den so genannten Plugins vertraut machen. Das dürfte der einfachste Weg sein, die Hilfen zu integrieren. Eben so, wie ich das auch bei den Tutorials gemacht habe. Borland selbst bindet bspw. das Platform SDK und das .NET-Framework SDK direkt durch die Angabe der einzelnen Dokumente ein. Das wäre dann der zweite Weg. |
Re: HLP Hilfedateien in Delphi 2005
Das Tutorial habe ich gerade installiert. Ist klasse! Und das genau hat mich zu der Idee "Installationspackages mit Hilfe" inspiriert.
Was ist zwischen Delphi-Praxis und Inno-Setup? Ich bin neu hier, aber ich arbeite schon seit Stunde 0 mit Inno und habe mit Installshield (auch den Bilieden) nur Ärger gehabt. However - ich wäre sehr interessiert, wie das Tutorial-Setup die Integration vornimmt... |
Re: HLP Hilfedateien in Delphi 2005
Zitat:
Zitat:
Code:
"parent" bzw. borland.bds3 ist der Namespace-Name der Delphi 2005-Hilfe, den du ebenfalls benutzen musst (egal welches Tool du am Ende einsetzt), und "child" definiert den Namespace-Namen deiner eigenen Hilfedateien. Win32API.Delphi.20 solltest du also nicht verwenden, sonst klopfe ich dir auf die Finger. ;) Das wäre die rein technische Grundlage. Ansonsten verweise ich dich mal an meine
<?xml version="1.0" encoding="UTF-8"?>
<register> <plugin parent="borland.bds3" child="Win32API.Delphi.20"/> </register> ![]()
Code:
Und etwas ähnliches (zum Ausführen von externen Programmen) kennt Inno Setup ja auch.
ExecWait '"$INSTDIR\register\register.exe" +p \
"$INSTDIR\register\delphi9.xml" [@parent=$\'borland.bds3$\']' |
Re: HLP Hilfedateien in Delphi 2005
Super vielen Dank. Ich werde dann mal daran arbeiten... Erfolgsmeldungen und Resultate poste ich dann hier!
Micha |
Re: HLP Hilfedateien in Delphi 2005
Als Tipps vllt. noch:
1. Sichere dein Setup so ab, dass es nur Administratoren installieren können. Ich hab´s nie probiert und bin daher nicht sicher, vllt. klappt´s auch ohne Admin-Rechte. Aber bei NT/2000/XP ist es ja auch eigentlich Standard, dass nur Administratoren Software installieren können/dürfen. Und bei Inno Setup ist das recht einfach, und du bist auf der sicheren Seite. 2. Dann musst du immer auch davon ausgehen, dass jemand die Hilfedateien installieren möchte, der weder Delphi 2005 noch die neue Help 2.0 hat. Wenn du bspw. mein Tool verwendest, wäre die Suche nach MS XML 3 auch zu empfehlen. Ich zeige dir mal die entsprechenden Abschnitte aus meinem NSIS-Setup. Du müsstest das eigentlich ohne größere Schwierigkeiten für Inno Setup nachbilden können. Notfalls sag Bescheid, und ich helfe. a) Microsoft XML 3 suchen
Code:
b) Help 2.0 suchen
!define CLASS_DOMDocument30 "CLSID\{F5078F32-C551-11D3-89B9-0000F81FE221}\InProcServer32"
ReadRegStr $R0 HKCR "${CLASS_DOMDocument30}" "" StrCmp $R0 "" 0 +4 IfFileExists "$R0" +3 0 MessageBox MB_OK|MB_ICONEXCLAMATION "MS XML 3 nicht vorhanden" Abort
Code:
c) Delphi 2005 suchen
!define HXSESSION "CLSID\{31411198-A502-11D2-BBCA-00C04F8EC294}\InprocServer32"
ReadRegStr $R0 HKCR "${HXSESSION}" "" StrCmp $R0 "" +2 IfFileExists "$R0" +3 0 MessageBox MB_OK|MB_ICONEXCLAMATION "Help 2.0 nicht vorhanden" Abort
Code:
In der Reihenfolge am besten auch prüfen lassen und das Setup abbrechen, wenn eine der Bedingungen nicht erfüllt ist.
ReadRegStr $R0 HKLM "Software\Borland\BDS\3.0" "App"
StrCmp $R0 "" +2 IfFileExists "$R0" +3 0 MessageBox MB_OK|MB_ICONEXCLAMATION "Delphi 2005 nicht vorhanden" Abort |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:49 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz