It occurred to me that interfaces are always a forced pointer, weather or not you have * prefixed the variable. it somewhat troubling, I can understand that under most circumstances that interfaces would be a pointer (created off site) and it looks neater to omit the pointer symbol from the code under these conditions. however, it looks sloppy and inconsistent to have interfaces along side of structures and or under the same block of memory (Objects). It would be consistent, cleaner, and easier to have variables using a interface type be declared like a structure (actually allocating the memory) and use the garbage collection that Pure Basic has built in for local variables, given that off site or complex interfaces still have to do there own garbage collecting with release(). Just my two cents on the issue.
to simply put it, It would be nice to have control weather its is a pointer or not.
Not sure I understand what you are suggesting there? An interface variable is a pointer (in that it holds an address) - full-stop, no getting away from that. Whether you use the * prefix is entirely up to you when declaring an object variable.
I may look like a mule, but I'm not a complete ass.
so instead of having a pointer point to another pointer why not remove one less pointer and leave it as a structure of methods with a veector pointer at the top
Because then it wouldn't be an interface. An interface as laid out by the COM standard is a very precise thing, change it and it can no longer be called an interface.
I may look like a mule, but I'm not a complete ass.