[SOLVED] COM VT_LPSTR conversion
Author: i.sharp@pcisystems.co.uk (Iain Sharp)
Uniface 9.6.02 We are trying to implement a COM interface to a third party dll, the import complains that there is no implementation for the data type VT_LPSTR, (Originally VT_LPWSTR) and it sets up the parameters as VT_BSTR I have checked the internet and I think this means the developer has exposed an XML element type, which boils down to a string field with $encode("URL") applied (or similar?). I am trying to get them to change the interface, but it comes across as a bit wimpy when I say "Our com interface doesn't support this data type". I have tried changing the signature files to VT_VARIANT, with no better effect, so the conversion complaint is based on the type in the com dll. Does anyone have any hints (other than "write a wrapper", and "have them change they type"), this whole project is supposed to get rid of option 1 (wrapper) and I am in the process of trying option 2, I just feel bad having to go back again and again and have then change the code because Uniface doesn't support the data type they are trying to use, and there is a language barrier tripping us up on me explaining what types we DO support... regards, Iain
Maybe it's time to call the emergency services... I did a quick search on the Interweb and the results are (a bit) sobering. It seems that the COM error 0x8000ffff could occur if the called COM class cannot find or load a required dependency (e.g. some required COM class is not properly registered) or if there's a problem with the type library (for details see