vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
sevDataGrid - Gönnen Sie Ihrem SQL-Kommando diesen krönenden Abschluß!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB & Windows API
hwnd wird nicht gefunden 
Autor: Judi
Datum: 23.08.08 17:25

Guten Tag,

ich bin neu hier im Forum und hoffe, dass ihr mir weiterhelfen könnt.

Mein Betriebssystem ist Windows XP sp2.
Ich habe für unsere Firma eine umfangreiche Applikation in Word 2003 geschrieben und möchte nun eine Dokumentation mit Hilfe des Html Help Workshops anbieten.

Jetzt bin ich aber genau auf den hier beschriebenen Bug gestoßen
http://www.activevb.de/tutorials/tut_hilfedateien/helpfiles.html

und habe dann nach diesem Workaround
http://support.microsoft.com/default.aspx?scid=kb;en-us;244140

die HHCtrlAV.dll registriert und connect=1 gesetzt.
In den Verweisen im Projekt wird das add-inn als DLL auch angezeigt und ich kann sie für das Projekt anhaken.

Dies ist mein Scriptcode

Private Declare Function HtmlHelp Lib "hhctrl.ocx" _
Alias "HtmlHelpA" (ByVal hwndCaller As Long, _
ByVal pszFile As String, ByVal uCommand As _
Long, ByVal dwData As Long) As Long
 
Private Const HH_DISPLAY_TOPIC = &H0
Private Const HH_CLOSE_ALL = &H12
Zum Aufruf der Hilfedatei

Private Sub cmdHilfe_Click()
 Dim Datei As String
 Dim strPfadGruppe As String
 'strPfadGruppe = Options.DefaultFilePath(wdWorkgroupTemplatesPath)
 'Datei = strPfadGruppe & "\Hilfe\hilfedatei.chm"
 Datei = "c:\hilfe\pts.chm"
    Call HtmlHelp(0, Datei, HH_DISPLAY_TOPIC, ByVal 0&)
End Sub
Beim Beenden des Formulars, testweise durch den Abbrechen-Button

Private Sub cmdAbbrechen_Click()
'Call HtmlHelp(Me.hwnd, "", HH_CLOSE_ALL, 0)
        HtmlHelp Me.hwnd, "", HH_CLOSE_ALL, 0&
 
Unload Me
ActiveDocument.Saved = True
ActiveDocument.Close
End Sub
Aber leider wird hwnd nicht als Objekt oder Variable erkannt und es kommt natürlich ein entsprechender Fehler.

Gibt es evtl. noch eine Routine, die ich ausführen muss?

Achso, sollte ich in diesem Board falsch sein, bitte verschiebt mich dann ins richtige.

Herzliche Grüße, die Judi!

Herzliche Gr??e, die Judi!

Beitrag wurde zuletzt am 23.08.08 um 17:26:40 editiert.

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: hwnd wird nicht gefunden 
Autor: VBStein
Datum: 24.08.08 10:06

Hai,

hwnd kann nicht zu einem Fehler führen, da der Datentyp Long sehr wohl bekannt ist. Was nicht bekannt sein dürfte wäre: HtmlHelp.
Entweder hast Du die OCX nicht, sie nicht richtig registriert oder ähnliches. Auf jedenfall schlägt der Declare Aufruf offensichtlich fehl.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: hwnd wird nicht gefunden 
Autor: Judi
Datum: 24.08.08 19:41

Hallo

vielen Dank für die Rückantwort.

hwnd wird als Eigenschaft des Userforms oder als Wert nicht erkannt, zumindest wird mir dies beim Debuggen angezeigt (markiert). Da der Datentyp long ist, habe ich jetzt einfach eine 0 anstelle von hwnd gesetzt. 0 geht ja und somit funktioniert das Schließen der Hilfe gleichzeitig mit dem Schließen des Userforms.

Also die OCX ist korrekt registriert, das hatte ich alles im Vorfeld schon geprüft.

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
HtmlHelp 0, "", HH_CLOSE_ALL, 0&
End Sub

Herzliche Gr??e, die Judi!

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: hwnd wird nicht gefunden 
Autor: effeff
Datum: 25.08.08 14:10

Du benutzt VBA anstelle von VB6. Dort gibt es kein hwnd... ;o)

EALA FREYA FRESENA

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: hwnd wird nicht gefunden 
Autor: Judi
Datum: 25.08.08 17:08

Hallo

ja, das stimmt.

Heißt das jetzt, dass ich die Idee, eine Hilfe über ein Word-Userform aufrufen zu lassen, vergessen kann? Also es läuft nicht astrein, ab und an kommt wieder der bekannte Fehler, aber ich kann ihn nicht provozieren.

Außerdem bekomme ich die Hilfedateien nicht vom Datenserver aus angezeigt. Ich denke mal, ich werde es anderes versuchen.

Herzliche Gr??e, die Judi!

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: hwnd wird nicht gefunden 
Autor: VBStein
Datum: 26.08.08 18:20

Hai,

nein. Lasse einfach nur Me.hwnd weg und gib 0 an. Die Help wird trotzdem korrekt ausgeführt ;)

Wenn nicht, dann nimm GetForegroundWindow() anstatt Me.hWnd
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel