Thanks Butterfly. Fortunately I solved this problem. I'm using the EWrapper from the old version. The old definition is void contractDetails(const ContractDetails &contractDetails); while the new one is void contractDetails(int reqId, const ContractDetails &contractDetails); My codes were written in the old one. Just move them to the new function and everything works.