last one compatible with VC6) and use MIDL from there.
Also, lose the typedef on the struct - you don't need it. Instead,
use "struct UDTVariable" throughout your IDL file.
Hi Alexander,
Yes initialy I declared the Structure in the header file but that
should be declared in the idl file. After the declartion of Structure i
am getting these errors
********************
error MIDL2096 : duplicated attribute : [helpstring] [ Type
'UDTVariable1' ( Interface '__MIDL_itf_Structure_0209' ) ]
********************
This is my idl file....
*******************************************************
// Structure.idl : IDL source for Structure.dll
//
// This file will be processed by the MIDL tool to
// produce the type library (Structure.tlb) and marshalling code.
import "oaidl.idl";
import "ocidl.idl";
[
object,
uuid(CABFB498-2561-47C9-A991-BBF98A8C7331),
dual,
helpstring("Imyclass Interface"),
pointer_default(unique)
]
interface Imyclass : IDispatch
{
// [id(1), helpstring("method MakeCall")] HRESULT MakeCall(/*[in]*/
TreaderParty TTreaderParty, /*[out, retval]*/ BSTR**bstrArr);
};
[
uuid(3BE26CA5-53C4-4542-AD7A-378D0B416FB5),
version(1.0),
helpstring("Structure 1.0 Type Library")
]
typedef
[
uuid(84D5D628-EFFD-4274-8627-2275DC8315E0),
version(1.0),
helpstring("A Demo UDT variable for VB projects")
]
struct UDTVariable {
[helpstring("Special case variant")] BSTR Special;
[helpstring("Name of the variable")] BSTR Name;
[helpstring("Value of the variable")] long Value;
} UDTVariable1;
library STRUCTURELib
{
importlib("stdole32.tlb");
importlib("stdole2.tlb");
[
uuid(84D5D628-EFFD-4274-8627-2275DC8315E0),
helpstring("myclass Class")
]
coclass myclass
{
[default] interface Imyclass;
};
};
Might be i am doing something wrong in the declartion of the Structure.
Please tell me the cause and the solution to get rid with this problem.
***************
Regards,
Rachana
Alexander Nickolov wrote:
This is part of your header. Does your IDL compile fine?
Could it be just a typo in the struct name compared to your
IDL file?
As far as Brian's concern about Automation-compatibility,
you can check this FAQ article if Automation is a concern
for you too:
http://www.mvps.org/vcfaq/com/4.htm
--
=====================================
Alexander Nickolov
Microsoft MVP [VC], MCSD
email: agnickolov@mvps.org
MVP VC FAQ: http://www.mvps.org/vcfaq
=====================================
"rachana.agr" <rachana.agr@gmail.com> wrote in message
news:1159957510.774723.176420@i3g2000cwc.googlegroups.com...
Hi All,
I want to pass a structure in my ATL function. On defining signatures
of the ATL function i am getting this error
error MIDL2025 : syntax error : expecting a type specification near
"TreaderParty"
These are the signature i declared for my function
STDMETHOD(MakeCall)(/*[in]*/ TreaderParty TTreaderParty, /*[out,
retval]*/ BSTR**bstrArr);
Any help ...
Regards,
Rachana