Gman, cool thanks for the test. I figured it wouldnt have the same problem as the allocated memory should be ok. I think the issue as I understand with DEP is that the datasegments produced by the compilers VTABLE are marked readonly hence the DEP when messing with the VTable.
As for dealing with Irrlicht, I was looking at it again today and the objects although he calls them interfaces there not PURE. He has destructors and such.
What I was thinking for Irrlicht would be to use the interface as a callback mechinism to a base object you create like you do now, but instead of all the function mapping you use the interface as delagte style implementation.
Defoc8, I am not making the DLL with BMAX, I am passing interfaces to my BMAX objects back to my DLLs and C++ Objects in obj file. It allows me to for implement delgate patterns to my own engine code based upon OGRE. This allows for a true OOP interaction with OGRE not a function based wrapper.
I think BRL is going to change the DLL license thing as they have been inconsistent. The license changed after release, my orignal license had no stipulation and think the issue is not with writting DLLs but wrapping thier code and selling a DLL. ie. wrapping Max2d and selling it as your own code. If you look at the change log in Appstub.c youll see there is comments for adding support for DLLs.
Prior to that change the Garbage collector was not being initialized so DLLs made with MAX that used objects would leak. but simple function DLLs would be fine.
Oh and if you get a fast otimized matrix library written in ASM I might be interested :)
Doug Stastny
As for dealing with Irrlicht, I was looking at it again today and the objects although he calls them interfaces there not PURE. He has destructors and such.
What I was thinking for Irrlicht would be to use the interface as a callback mechinism to a base object you create like you do now, but instead of all the function mapping you use the interface as delagte style implementation.
Defoc8, I am not making the DLL with BMAX, I am passing interfaces to my BMAX objects back to my DLLs and C++ Objects in obj file. It allows me to for implement delgate patterns to my own engine code based upon OGRE. This allows for a true OOP interaction with OGRE not a function based wrapper.
I think BRL is going to change the DLL license thing as they have been inconsistent. The license changed after release, my orignal license had no stipulation and think the issue is not with writting DLLs but wrapping thier code and selling a DLL. ie. wrapping Max2d and selling it as your own code. If you look at the change log in Appstub.c youll see there is comments for adding support for DLLs.
Prior to that change the Garbage collector was not being initialized so DLLs made with MAX that used objects would leak. but simple function DLLs would be fine.
Oh and if you get a fast otimized matrix library written in ASM I might be interested :)
Doug Stastny