Fehler beim Kompilieren: Variable nicht definiert

  • Sonstige

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von singu.

    Fehler beim Kompilieren: Variable nicht definiert

    Hallo Leute,

    bekomme bei folgendem Code/VBA-Modul eine Fehlermeldung beim Aufruf der Funktion 'ZoomToElement' im Sub 'Main':

    Visual Basic-Quellcode

    1. Option Explicit
    2. Option Base 0
    3. ' ---------------------------------------------------------------------
    4. ' Main entry point. Command-line syntax:
    5. ' vba run [ElementLocator]modMain.Main <element id>
    6. ' Substitute a valid MicroStation graphic element ID for <element id>
    7. ' ---------------------------------------------------------------------
    8. Public Sub Main()
    9. Dim id As DLong
    10. id = DLongFromString(KeyinArguments)
    11. Dim Zero As DLong
    12. Dim oTarget As Element
    13. On Error GoTo err_ElementNotFound
    14. ' Next line throws an error if the ID is not valid
    15. Set oTarget = ActiveModelReference.GetElementByID(id)
    16. ZoomToElement oTarget, 1
    17. Exit Sub
    18. err_ElementNotFound:
    19. MsgBox "Element having ID " & DLongToString(id) & " not found", vbOKOnly Or vbInformation, "Invalid Element ID"
    20. End Sub
    21. ' ---------------------------------------------------------------------
    22. ' ZoomToElement
    23. ' ---------------------------------------------------------------------
    24. Function ZoomToElement(ByVal oTarget As Element, ByVal nView As Integer) As Boolean
    25. ZoomToElement = False
    26. If (oTarget.IsGraphical) Then
    27. Const Zoom As Double = 4
    28. Dim range As Range3d
    29. range = oTarget.range
    30. Dim oView As View
    31. Set oView = ActiveDesignFile.Views.Item(nView)
    32. Dim extent As Point3d
    33. extent = Point3dScale(Point3dSubtract(range.High, range.Low), Zoom)
    34. oView.Origin = Point3dSubtract(range.Low, Point3dScale(extent, 0.5))
    35. oView.Extents = extent
    36. oView.Redraw
    37. Else
    38. MsgBox "Element having ID " & DLongToString(oTarget.id) & " is not a graphical element", vbOKOnly Or vbInformation, "Invalid Element"
    39. End If
    40. Exit Function
    41. err_ZoomToElement:
    42. ReportError strMODULE_NAME, "ZoomToElement"
    43. End Function


    Die Fehlermeldung lautet: 'Fehler beim Kompilieren: Variable nicht definiert' Habe keine Ahnung woran es liegen könnte. Davor kam die Fehlermeldung: 'Sub oder Funktion nicht definiert'. Jedenfalls steigt der Kompiler beim Aufruf der Funktion aus, obwohl die Funktion imselben Modul aufgerufen wird.

    MfG Peacer

    * Topic verschoben *

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „der_Kurt“ ()

    Gelb hinterlegt ist die Zeile:

    Visual Basic-Quellcode

    1. Function ZoomToElement(ByVal oTarget As Element, ByVal nView As Integer) As Boolean


    Grau hinterlegt die Variable:

    Visual Basic-Quellcode

    1. strMODULE_NAME
    - in der vorletzen Zeile der Fkt. 'ZoomToElement'