Hi!
I've got a wee bit of trouble and could use some help.... I've come across an error in the way a vtable was created automagically by Dolphin using the ActiveX wizard. I created the table using the defineFunctions rountines on the interface side (sc of COMInterface). This generates some functions in the COMInterfaceImp sc functions class inst var. However, one of the generated functions was created as (OPCITEMDEF *) and I wanted it to be an array of OPCITEMDEFs. Would this be a StructureArray class on the implementaiton side or perhaps a LPVOID? How would I go about doing this? (not sure if I"m providing enough detail, if not I can give you the gory details) thx Eric ps - I did try to modify the defineFunctions method and rerun, but it only tries to add functions and crashes when it does an add: to the functions Array. |
It seems that COMInterface class | compileFunctions does the trick
nicely. Should've looked a little more before I opened my mouth. Eric Eric Winger wrote: > Hi! > > I've got a wee bit of trouble and could use some help.... I've come > across an error in the way a vtable was created automagically by Dolphin > using the ActiveX wizard. I created the table using the defineFunctions > rountines on the interface side (sc of COMInterface). This generates > some functions in the COMInterfaceImp sc functions class inst var. > > However, one of the generated functions was created as (OPCITEMDEF *) > and I wanted it to be an array of OPCITEMDEFs. Would this be a > StructureArray class on the implementaiton side or perhaps a LPVOID? > > How would I go about doing this? > > (not sure if I"m providing enough detail, if not I can give you the gory > details) > > thx > > Eric > > ps - I did try to modify the defineFunctions method and rerun, but it > only tries to add functions and crashes when it does an add: to the > functions Array. > |
Eric
"Eric Winger" <[hidden email]> wrote in message news:[hidden email]... > It seems that COMInterface class | compileFunctions does the trick > nicely. Should've looked a little more before I opened my mouth. > > Eric > > Eric Winger wrote: > > > Hi! > > > > I've got a wee bit of trouble and could use some help.... I've come > > across an error in the way a vtable was created automagically by Dolphin > > using the ActiveX wizard. I created the table using the defineFunctions > > rountines on the interface side (sc of COMInterface). This generates > > some functions in the COMInterfaceImp sc functions class inst var. > > > > However, one of the generated functions was created as (OPCITEMDEF *) > > and I wanted it to be an array of OPCITEMDEFs. Would this be a > > StructureArray class on the implementaiton side or perhaps a LPVOID? > > > > How would I go about doing this? What I tend to do in circumstances like this (apart from wondering whether the type library analyzer could be doing a better job - usually it couldn't, the type libraries sometimes don't contain enough information, either due to loosely written IDL or limitations of the typelib object model) is to modify the #defineFunctions method and the offending generated method. I then take both out of the auto-generated category so that they are not overwritten should I generate the interface again. I tend to do this, rather than recompiling all the functions from the table, because the methods generated by the analyzer contain more useful information than those generated from the function table, such as the argument names from the original IDL and a comment containing the helpstring and IDL fragment. Normally it is necessary to modify the higher level wrapper method anyway (if any), since only the typelib analyzer can generate those. Regards Blair |
Free forum by Nabble | Edit this page |