did you mean for the line before the End Method to read "Return locfunc2(msg)
nope. the debuglog in there just prints the message. not a real functional thing i know.
You declare fields of your type which act as byte pointers
correct. or if you know the format of the function before hand you can define them directly. by doing this though you are forcing the definition of the stored function pointer. by just using a Byte Ptr you can change functions stored on a whim.
Field func1:Float()
You then associate each method with that pointer
you can only associate functions so keep that in mind. also, (you probably know this but) functions inside of types have no access to instance information such as field values.
What purpose do the local variables like "locfun1:float()" And where are they returned to?
its storing a pointer to a function definition so that you can call that function. you cannot call a function directly from a byte ptr (at least not that i have been able to accomplish). the variable is a local function pointer so it goes away at the end of the method call.
I assume that in "tester.func1=func1" the second func1 is the function defined outside the method... Is that the basic process?
correct. i have a honey-do to get done... will try to make myself more clear in a bit.