VB6 CallByName горе

Я хочу сделать CallByName для некоторых сабвуферов, но я просто не могу заставить его работать.

Все идет хорошо, пока исполнение не достигнет CallByNameтогда у меня проблемы:

  • Всякий раз, когда я использую Meжалуется на ошибку компиляции
  • И если я использую frmMyServerон говорит "объект или метод не поддерживается"

Вопрос: как мне это сделать?

Вот что у меня есть:

в моем 'modHandleData'

Private Sub HandleRequestScriptedNPC(...)
    ' ...
    NPCMethod = "Scripted_Npc_" & NpcNum
    CallByName Me, NPCMethod, VbMethod, NpcNum, Index
End Sub

в моем 'modScriptedNPC'

Public Sub Scripted_Npc_9(ByVal NpcNum As Long, PlayerNum As Long)
    SendOneOptionMsg PlayerNum, "NPC 9", "NPC 9 talks." & vbCrLf & "Then gives you a clue"

End Sub

1 ответ

Решение

Вы вызываете код в модуле, поэтому нет Me экземпляр (который существует только в классах, включая формы). Мой VB6 немного заржавел, но я считаю, что вы не можете вызывать методы в модулях, использующих CallByName так как вам нужен объект.

Другие вопросы по тегам