I tried to do what Robin said, but when I compile and run it, when I open de spell editor something strange occurs. all the captions are not displayed I'm posting my spell editor code. I'm sure that the other parts are matching now, so maybe the mistake is in there ``` Option Explicit Private Sub chkAOE_Click() ' If debug mode, handle error then exit out If Options.Debug = 1 Then On Error GoTo errorhandler If chkAOE.Value = 0 Then Spell(EditorIndex).IsAoE = False Else Spell(EditorIndex).IsAoE = True End If ' Error handler Exit Sub errorhandler: HandleError "chkAOE_Click", "frmEditor_Spell", Err.Number, Err.Description, Err.Source, Err.HelpContext Err.Clear Exit Sub End Sub Private Sub cmbClass_Click() ' If debug mode, handle error then exit out If Options.Debug = 1 Then On Error GoTo errorhandler Spell(EditorIndex).ClassReq = cmbClass.ListIndex ' Error handler Exit Sub errorhandler: HandleError "cmbClass_Click", "frmEditor_Spell", Err.Number, Err.Description, Err.Source, Err.HelpContext Err.Clear Exit Sub End Sub Private Sub cmbType_Click() ' If debug mode, handle error then exit out If Options.Debug = 1 Then On Error GoTo errorhandler Spell(EditorIndex).Type = cmbType.ListIndex If cmbType.ListIndex = 5 Then frmBuff.Visible = True Else frmBuff.Visible = False End If ' Error handler Exit Sub errorhandler: HandleError "cmbType_Click", "frmEditor_Spell", Err.Number, Err.Description, Err.Source, Err.HelpContext Err.Clear Exit Sub End Sub Private Sub cmdDelete_Click() Dim tmpIndex As Long ' If debug mode, handle error then exit out If Options.Debug = 1 Then On Error GoTo errorhandler ClearSpell EditorIndex tmpIndex = lstIndex.ListIndex lstIndex.RemoveItem EditorIndex - 1 lstIndex.AddItem EditorIndex & ": " & Spell(EditorIndex).Name, EditorIndex - 1 lstIndex.ListIndex = tmpIndex SpellEditorInit ' Error handler Exit Sub errorhandler: HandleError "cmdDelete_Click", "frmEditor_Spell", Err.Number, Err.Description, Err.Source, Err.HelpContext Err.Clear Exit Sub End Sub Private Sub cmdSave_Click() ' If debug mode, handle error then exit out If Options.Debug = 1 Then On Error GoTo errorhandler SpellEditorOk ' Error handler Exit Sub errorhandler: HandleError "cmdSave_Click", "frmEditor_Spell", Err.Number, Err.Description, Err.Source, Err.HelpContext Err.Clear Exit Sub End Sub Private Sub scrlBuff_Change() ' If debug mode, handle error then exit out If Options.Debug = 1 Then On Error GoTo errorhandler lblBuffDur.Caption = "Buffer Duration: " & scrlBuff.Value & " min" Spell(EditorIndex).BuffDur = scrlBuff.Value ' Error handler Exit Sub errorhandler: HandleError "scrlBuff_Change", "frmEditor_Spell", Err.Number, Err.Description, Err.Source, Err.HelpContext Err.Clear Exit Sub End Sub Private Sub scrlBuffType_Change() ' If debug mode, handle error then exit out If Options.Debug = 1 Then On Error GoTo errorhandler If scrlBuffType.Value = 1 Then lblBuff.Caption = "Buffer type: Str" ElseIf scrlBuffType.Value = 2 Then lblBuff.Caption = "Buffer type: End" ElseIf scrlBuffType.Value = 3 Then lblBuff.Caption = "Buffer type: Int" ElseIf scrlBuffType.Value = 4 Then lblBuff.Caption = "Buffer type: Agi" ElseIf scrlBuffType.Value = 5 Then lblBuff.Caption = "Buffer type: Will" End If Spell(EditorIndex).BuffType = scrlBuffType.Value ' Error handler Exit Sub errorhandler: HandleError "scrlBuffType_Change", "frmEditor_Spell", Err.Number, Err.Description, Err.Source, Err.HelpContext Err.Clear Exit Sub End Sub Private Sub scrlSprite_Change() lblSprite.Caption = "Transformation sprite: " & scrlSprite.Value Spell(EditorIndex).Sprite = scrlSprite.Value End Sub Private Sub lstIndex_Click() ' If debug mode, handle error then exit out If Options.Debug = 1 Then On Error GoTo errorhandler SpellEditorInit ' Error handler Exit Sub errorhandler: HandleError "lstIndex_Click", "frmEditor_Spell", Err.Number, Err.Description, Err.Source, Err.HelpContext Err.Clear Exit Sub End Sub Private Sub cmdCancel_Click() ' If debug mode, handle error then exit out If Options.Debug = 1 Then On Error GoTo errorhandler SpellEditorCancel ' Error handler Exit Sub errorhandler: HandleError "cmdCancel_Click", "frmEditor_Spell", Err.Number, Err.Description, Err.Source, Err.HelpContext Err.Clear Exit Sub End Sub Private Sub scrlAccess_Change() ' If debug mode, handle error then exit out If Options.Debug = 1 Then On Error GoTo errorhandler If scrlAccess.Value > 0 Then lblAccess.Caption = "Access Required: " & scrlAccess.Value Else lblAccess.Caption = "Access Required: None" End If Spell(EditorIndex).AccessReq = scrlAccess.Value ' Error handler Exit Sub errorhandler: HandleError "scrlAccess_Change", "frmEditor_Spell", Err.Number, Err.Description, Err.Source, Err.HelpContext Err.Clear Exit Sub End Sub Private Sub scrlAnim_Change() ' If debug mode, handle error then exit out If Options.Debug = 1 Then On Error GoTo errorhandler If scrlAnim.Value > 0 Then lblAnim.Caption = "Animation: " & Trim$(Animation(scrlAnim.Value).Name) Else lblAnim.Caption = "Animation: None" End If Spell(EditorIndex).SpellAnim = scrlAnim.Value ' Error handler Exit Sub errorhandler: HandleError "scrlAnim_Change", "frmEditor_Spell", Err.Number, Err.Description, Err.Source, Err.HelpContext Err.Clear Exit Sub End Sub Private Sub scrlAnimCast_Change() ' If debug mode, handle error then exit out If Options.Debug = 1 Then On Error GoTo errorhandler If scrlAnimCast.Value > 0 Then lblAnimCast.Caption = "Cast Anim: " & Trim$(Animation(scrlAnimCast.Value).Name) Else lblAnimCast.Caption = "Cast Anim: None" End If Spell(EditorIndex).CastAnim = scrlAnimCast.Value ' Error handler Exit Sub errorhandler: HandleError "scrlAnimCast_Change", "frmEditor_Spell", Err.Number, Err.Description, Err.Source, Err.HelpContext Err.Clear Exit Sub End Sub Private Sub scrlAOE_Change() ' If debug mode, handle error then exit out If Options.Debug = 1 Then On Error GoTo errorhandler If scrlAOE.Value > 0 Then lblAOE.Caption = "AoE: " & scrlAOE.Value & " tiles." Else lblAOE.Caption = "AoE: Self-cast" End If Spell(EditorIndex).AoE = scrlAOE.Value ' Error handler Exit Sub errorhandler: HandleError "scrlAOE_Change", "frmEditor_Spell", Err.Number, Err.Description, Err.Source, Err.HelpContext Err.Clear Exit Sub End Sub Private Sub scrlCast_Change() ' If debug mode, handle error then exit out If Options.Debug = 1 Then On Error GoTo errorhandler lblCast.Caption = "Casting Time: " & scrlCast.Value & "s" Spell(EditorIndex).CastTime = scrlCast.Value ' Error handler Exit Sub errorhandler: HandleError "scrlCast_Change", "frmEditor_Spell", Err.Number, Err.Description, Err.Source, Err.HelpContext Err.Clear Exit Sub End Sub Private Sub scrlCool_Change() ' If debug mode, handle error then exit out If Options.Debug = 1 Then On Error GoTo errorhandler lblCool.Caption = "Cooldown Time: " & scrlCool.Value & "s" Spell(EditorIndex).CDTime = scrlCool.Value ' Error handler Exit Sub errorhandler: HandleError "scrlCool_Change", "frmEditor_Spell", Err.Number, Err.Description, Err.Source, Err.HelpContext Err.Clear Exit Sub End Sub Private Sub scrlDir_Change() Dim sDir As String ' If debug mode, handle error then exit out If Options.Debug = 1 Then On Error GoTo errorhandler Select Case scrlDir.Value Case DIR_UP sDir = "Up" Case DIR_DOWN sDir = "Down" Case DIR_RIGHT sDir = "Right" Case DIR_LEFT sDir = "Left" End Select lblDir.Caption = "Dir: " & sDir Spell(EditorIndex).Dir = scrlDir.Value ' Error handler Exit Sub errorhandler: HandleError "scrlDir_Change", "frmEditor_Spell", Err.Number, Err.Description, Err.Source, Err.HelpContext Err.Clear Exit Sub End Sub Private Sub scrlDuration_Change() ' If debug mode, handle error then exit out If Options.Debug = 1 Then On Error GoTo errorhandler lblDuration.Caption = "Duration: " & scrlDuration.Value & "s" Spell(EditorIndex).Duration = scrlDuration.Value ' Error handler Exit Sub errorhandler: HandleError "scrlDuration_Change", "frmEditor_Spell", Err.Number, Err.Description, Err.Source, Err.HelpContext Err.Clear Exit Sub End Sub Private Sub scrlIcon_Change() ' If debug mode, handle error then exit out If Options.Debug = 1 Then On Error GoTo errorhandler If scrlIcon.Value > 0 Then lblIcon.Caption = "Icon: " & scrlIcon.Value Else lblIcon.Caption = "Icon: None" End If Spell(EditorIndex).Icon = scrlIcon.Value EditorSpell_BltIcon ' Error handler Exit Sub errorhandler: HandleError "scrlIcon_Change", "frmEditor_Spell", Err.Number, Err.Description, Err.Source, Err.HelpContext Err.Clear Exit Sub End Sub Private Sub scrlInterval_Change() ' If debug mode, handle error then exit out If Options.Debug = 1 Then On Error GoTo errorhandler lblInterval.Caption = "Interval: " & scrlInterval.Value & "s" Spell(EditorIndex).Interval = scrlInterval.Value ' Error handler Exit Sub errorhandler: HandleError "scrlInterval_Change", "frmEditor_Spell", Err.Number, Err.Description, Err.Source, Err.HelpContext Err.Clear Exit Sub End Sub Private Sub scrlLevel_Change() ' If debug mode, handle error then exit out If Options.Debug = 1 Then On Error GoTo errorhandler If scrlLevel.Value > 0 Then lblLevel.Caption = "Level Required: " & scrlLevel.Value Else lblLevel.Caption = "Level Required: None" End If Spell(EditorIndex).LevelReq = scrlLevel.Value ' Error handler Exit Sub errorhandler: HandleError "scrlLevel_Change", "frmEditor_Spell", Err.Number, Err.Description, Err.Source, Err.HelpContext Err.Clear Exit Sub End Sub Private Sub scrlMap_Change() ' If debug mode, handle error then exit out If Options.Debug = 1 Then On Error GoTo errorhandler lblMap.Caption = "Map: " & scrlMap.Value Spell(EditorIndex).Map = scrlMap.Value ' Error handler Exit Sub errorhandler: HandleError "scrlMap_Change", "frmEditor_Spell", Err.Number, Err.Description, Err.Source, Err.HelpContext Err.Clear Exit Sub End Sub Private Sub scrlMP_Change() ' If debug mode, handle error then exit out If Options.Debug = 1 Then On Error GoTo errorhandler If scrlMP.Value > 0 Then lblMP.Caption = "MP Cost: " & scrlMP.Value Else lblMP.Caption = "MP Cost: None" End If Spell(EditorIndex).MPCost = scrlMP.Value ' Error handler Exit Sub errorhandler: HandleError "scrlMP_Change", "frmEditor_Spell", Err.Number, Err.Description, Err.Source, Err.HelpContext Err.Clear Exit Sub End Sub Private Sub scrlRange_Change() ' If debug mode, handle error then exit out If Options.Debug = 1 Then On Error GoTo errorhandler If scrlRange.Value > 0 Then lblRange.Caption = "Range: " & scrlRange.Value & " tiles." Else lblRange.Caption = "Range: Self-cast" End If Spell(EditorIndex).Range = scrlRange.Value ' Error handler Exit Sub errorhandler: HandleError "scrlRange_Change", "frmEditor_Spell", Err.Number, Err.Description, Err.Source, Err.HelpContext Err.Clear Exit Sub End Sub Private Sub scrlStun_Change() ' If debug mode, handle error then exit out If Options.Debug = 1 Then On Error GoTo errorhandler If scrlStun.Value > 0 Then lblStun.Caption = "Stun Duration: " & scrlStun.Value & "s" Else lblStun.Caption = "Stun Duration: None" End If Spell(EditorIndex).StunDuration = scrlStun.Value ' Error handler Exit Sub errorhandler: HandleError "scrlStun_Change", "frmEditor_Spell", Err.Number, Err.Description, Err.Source, Err.HelpContext Err.Clear Exit Sub End Sub Private Sub scrlVital_Change() ' If debug mode, handle error then exit out If Options.Debug = 1 Then On Error GoTo errorhandler lblVital.Caption = "Vital: " & scrlVital.Value Spell(EditorIndex).Vital = scrlVital.Value ' Error handler Exit Sub errorhandler: HandleError "scrlVital_Change", "frmEditor_Spell", Err.Number, Err.Description, Err.Source, Err.HelpContext Err.Clear Exit Sub End Sub Private Sub scrlX_Change() ' If debug mode, handle error then exit out If Options.Debug = 1 Then On Error GoTo errorhandler lblX.Caption = "X: " & scrlX.Value Spell(EditorIndex).x = scrlX.Value ' Error handler Exit Sub errorhandler: HandleError "scrlX_Change", "frmEditor_Spell", Err.Number, Err.Description, Err.Source, Err.HelpContext Err.Clear Exit Sub End Sub Private Sub scrlY_Change() ' If debug mode, handle error then exit out If Options.Debug = 1 Then On Error GoTo errorhandler lblY.Caption = "Y: " & scrlY.Value Spell(EditorIndex).y = scrlY.Value ' Error handler Exit Sub errorhandler: HandleError "scrlY_Change", "frmEditor_Spell", Err.Number, Err.Description, Err.Source, Err.HelpContext Err.Clear Exit Sub End Sub Private Sub txtDesc_Change() ' If debug mode, handle error then exit out If Options.Debug = 1 Then On Error GoTo errorhandler Spell(EditorIndex).Desc = txtDesc.text ' Error handler Exit Sub errorhandler: HandleError "txtDesc_Change", "frmEditor_Spell", Err.Number, Err.Description, Err.Source, Err.HelpContext Err.Clear Exit Sub End Sub Private Sub txtName_Validate(Cancel As Boolean) Dim tmpIndex As Long ' If debug mode, handle error then exit out If Options.Debug = 1 Then On Error GoTo errorhandler If EditorIndex = 0 Then Exit Sub tmpIndex = lstIndex.ListIndex Spell(EditorIndex).Name = Trim$(txtName.text) lstIndex.RemoveItem EditorIndex - 1 lstIndex.AddItem EditorIndex & ": " & Spell(EditorIndex).Name, EditorIndex - 1 lstIndex.ListIndex = tmpIndex ' Error handler Exit Sub errorhandler: HandleError "txtName_Validate", "frmEditor_Spell", Err.Number, Err.Description, Err.Source, Err.HelpContext Err.Clear Exit Sub End Sub Private Sub cmbSound_Click() ' If debug mode, handle error then exit out If Options.Debug = 1 Then On Error GoTo errorhandler If cmbSound.ListIndex >= 0 Then Spell(EditorIndex).Sound = cmbSound.List(cmbSound.ListIndex) Else Spell(EditorIndex).Sound = "None." End If ' Error handler Exit Sub errorhandler: HandleError "cmdSound_Click", "frmEditor_Spell", Err.Number, Err.Description, Err.Source, Err.HelpContext Err.Clear Exit Sub End Sub ```