Вызов любых функций по указателю - VB
Формулировка задачи:
Пока не работал форум, ковырялся в рантайме VB .
Иследуя функции VBA6 придумал способ вызова функций по указателю.
Все просто. Объявляем прототип функции (пустую функцию), где дополнительно первым параметром будет передаваться адрес функции. Далее пропатчиваем его, таким образом чтобы он перекидывал нас по адресу заданному первым параметром. Таким образом можно вызывать функции в стандартных модулях, модулях класса, формы, API-функции (например полученные через LoadLibrary и GetProcAddress).
Одно замечание, пока не выяснил причину, желательно запускать проект через Ctrl+F5, т.к. иногда может не работать указатель или же вообще происходить вылет. А так работает и в IDE и в скомпилированном виде.
Пример вызова по указателю обычных функций модуля.
Вызов метода класса (как вычислить адреса напишу позже).
Вызов API функций:
Решение задачи: «Вызов любых функций по указателю»
textual
Листинг программы
Option Explicit Dim WithEvents Component As VBControlExtender Event ObjectEvent(Info As EventInfo)
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д