EDV-Beratung K. H. Meyer

HH_HELP_CONTEXT Called without a [MAP] section

Beim Versuch eine HTML-Hilfe kontextsensitiv zu öffnen erscheint eine Dialogbox mit obigen Fehler.

Ursache:
Vermutlich hält der Compiler die Alias-Datei für ungültig, wenn diese nur Verweise mit Textankern enthält und ignoriert den ganzen Inhalt. Jeder Verweis auf einen Textanker liefert nämlich eine Warnung beim Kompilieren, dass die Datei datei.html#Textanker nicht gefunden werden konnte:


HHC3015: Warning: An alias has been created to "html\MK_Auftrag_MB.htm#fr_neulesen_2100" but the file does not exist

 

Beim HTML Help Workshop Version 4.748702.0 hilft es in solchen Fällen, am Ende der Alias-Datei (xxxx.a) einen Dummy-Alias anzuhängen, der auf eine vorhandene Datei ohne Textanker-Angaben verweist:


de_eausrichten_2665 = html\MK_Druckformulare.htm#de_eausrichten_2665

dummy = html\MK_Druckformulare.htm

Dann verschwindet die Dialogbox, wenn die Hilfe aus dem Programm heraus mit HH_HELP_CONTEXT aufgerufen wird.

 

Microsoft ADO 2.8, Error 80040e38, VB6

Beim Versuch ein Recordset einer dBase III-Datenbank mit .Update zu aktualisieren tritt immer der  Runtime Error 8004e38 auf.

Ursache:
Neben Problemen mit falschen CursorType- und  CursorLocation-Einstellungen kann es einfach auch an einer defekten Index-Datei liegen.

Zum Test die Indexdatei neu aufbauen lassen bzw. die dazugehörige .INF-Datei umbenennen.


Dim dbDBIII$
Dim dbTest as ADODB.Connection
Dim rstTest as ADODB.Recordset

Set dbTest = New ADODB.Connection
Set rstTest = New ADODB.Recordset

dbDBIII$=”C:\test”

dbTest.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
                   "Data Source=" & dbDBIII$ & ";" & _
                   "Extended Properties=DBASE III;"

 

InitRecordset rstTest, dbTest, “Adressen”

rstTest.Find “Name=’Alter Name’”
rstTest!Name = “Neuer Name”

rstTest.Update  <--- Laufzeit-Fehler tritt hier auf

 

Public Sub InitRecordset(ByRef rst As ADODB.Recordset, _
                         ByRef db As ADODB.Connection, _
                         Table$)

    Dim ez%
    If Not rst Is Nothing Then
        On Error Resume Next
        rst.Close
        Set rst = Nothing
        Set rst = New ADODB.Recordset
        On Error GoTo 0
    End If
   
    rst.CursorType = adOpenDynamic
    rst.CursorLocation = adUseClient
   
On Error GoTo fehler

neuversuch:

    DoEvents
    rst.Open "select * from " & Table$, db, _
                adOpenDynamic, adLockOptimistic
    Exit Sub
fehler:
    If ez% < 3 Then
        ez% = ez% + 1
        Resume neuversuch
    Else
        MsgBox "Fehler beim Öffnen eines Recordsets _
               aufgetreten." & vbCrLf & Err.Description & _
               vbCrLf & "Später bitte nochmal versuchen.", , _
               vbOKOnly, "Fehler"
        Exit Sub
    End If
 
End Sub

Die angegebenen Lösungsvorschläge und Tipps entstammen größtenteils unserer Praxis. Es kann aber keine Gewähr übernommen werden. Eine Haftung für Schäden, die eventuell aus der Anwendung entstehen, wird nicht übernommen.