Roquqkie ... it is 'possible' to create objects using the Make Memory commands to create your data objects which you can then pass using the data pointer into the DLL and then you can use them as objects within the DLL itself, if you setup the object as part of the DLL and take each part of the data (enumming it all basically)

i'd love to code some for you to show you, but i'm pathetic at coding this stuff, there was a Matrix example of objects within DBpro recently - but you'd extend on this idea. Only problem is unlike Microsoft Visual C++ objects you have to do everything yourself to set them up - i mean it is harder (but much easier in the longrun) to setup a scriptcode which will code pro in memory as you go along which can be used whilst the program runs to setup all the aspects for you so you just dump the data...
you then setup the data type for the object, set the data for each part of it as a pointer to actual data
type max_t
vert as dword
face as dword
skin as dword
endtype
type Model_t
max as max_t
vertex as dword
face as dword
skin as dword
endtype
myObject as Model_t
myObject.vertex = make memory 1,((myObject.max.vert*6)+(myObject.max.face*12)+(myObject.max.skin*8))
myObject.face = myObject.vertex + hex((myObject.max.vert*6))
myObject.skin = myObejct.Vertex + hex((myObject.max.vert*6)+(myObject.max.face*12))
then from that you could grab the object data with like 'fill memory *myObject.Vertex,position,data'
you can then grab it in the DLL with the pointer

i know that a stupid and very basic example but you get the idea - i mean you could ontop of that make extra types which could contain the data on a temp bases using a function...
Tsu'va Oni Ni Jyuuko Fiori Sei Tau!
One block follows the suit ... the whole suit of blocks is the path ... what have you found?