Function Pointers in VB
This code makes it possible to use function pointers (no, not OBJPtr) basic funciton pointers, in VB. It uses two API calls. Basically, it uses a window callback as the entry point for your new function, redirecting the window call to the function supplied. A little out of the norm, but a handy thing to have when callbacks to non-objects is needed. If you are attempting to call objects back, I recommend either the undocumented ObjPtr() or CallByName (when you know the name of the object function to call)
AI-sammanfattning: This codebase represents a historical implementation of the logic described in the metadata. Our preservation engine analyzes the structure to provide context for modern developers.
Option Explicit Private Function StripStringFromPointer$(ByVal lpString&, ByVal nStrLen&) Dim Info$ Info = String$(nStrLen, vbNullChar) CopyMemory ByVal StrPtr(Info), ByVal lpString, nStrLen * 2 StripStringFromPointer = Info End Function Private Function GetAddress(Addr&) GetAddress = Addr End Function Private Function MyFunction&(ByVal lpString&, ByVal nStrLen&, ByVal param3&, ByVal param4&) Debug.Print StripStringFromPointer(lpString, nStrLen) End Function Public Sub Main() Dim FunctAddr&, Info$ Info = "Holy Smoke" FunctAddr = GetAddress(AddressOf MyFunction) CallWindowProc FunctAddr, StrPtr(Info), CLng(Len(Info)), 0&, 0& End End Sub