Здравствуйте, serge_, Вы писали:
_>Простите может повторюсь неоднократно, но то что раньше писалось почему то не работает,
_>при компиляции выдаёт ошибки:
_>[uuid(153450BE-9F71-4193-9A00-95C58175FD8F)]
_>struct cJustUser {
_> CHAR m_szFirstName[16];
_> CHAR m_szLastName[16];
_> CHAR m_szMailAsdress[64];
_> CHAR m_szPhone[16];
_> CHAR m_szAddress[64];
_> SHORT m_nPermission;
_>}cJustUser;
Забыл написать typedef
typedef [uuid(153450BE-9F71-4193-9A00-95C58175FD8F)]
struct cJustUser {
CHAR m_szFirstName[16];
CHAR m_szLastName[16];
CHAR m_szMailAsdress[64];
CHAR m_szPhone[16];
CHAR m_szAddress[64];
SHORT m_nPermission;
}cJustUser;
не уверен будет ли это работать: CHAR m_szAddress[64];
я использовал BSTR
_>// IMServer
_>[
_> object,
_> uuid("FE45D72B-465A-4B2D-A7BE-1349EBDEBB0E"),
_> dual, helpstring("IMServer Interface"),
_> pointer_default(unique)
_>]
_>__interface IMServer : IDispatch
_>{
_> [id(1), helpstring("method GetMail")] HRESULT GetMail([in] VARIANT* pVal);
_> [id(2), helpstring("method SendMail")] HRESULT SendMail([in] VARIANT* pVal);
_> [id(3), helpstring("method AddUser")] HRESULT AddUser([in, satype(struct cJustUser)] SAFEARRAY * pVal);
_>};
Я бы написал так:
[id(3), helpstring("method AddUser")] HRESULT AddUser([in] SAFEARRAY(cJustUser) pVal);
С++
STDMETHOD(AddUser)(SAFEARRAY * pVal);
Так покрайней мере в VC6 копилится и работает