• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 264
  • Last Modified:

How define and update this string buffer

Hi All,
I've created a string buffer in VB and then call a c++ MFC dll with an external function as follows. I pass the buffer through by reference. Then...
What I'm not sure about is how declare it as a parameter to the function and populate it with a value from a CString variable.

The code below doesn't work but hopefully gives you an idea of where I'm heading. It's kind of like a API. Also the return value must non-unicode.

Any suggestions will be greatly appreciated.
int __declspec(dllexport) __stdcall ReadXML(CString &MtBuffer, int length, BSTR xmlFilePath, BSTR xmlNode)
{
	AFX_MANAGE_STATE(AfxGetStaticModuleState());
 
	CString str_xmlFilePath = BSTR2CString(xmlFilePath);
	CString str_xmlNode = BSTR2CString(xmlNode);
	
	CString	m_xml_value;
	m_xml_value = _T("");
	std::string _label;
	
	ParamIO inXml;
	inXml.readFile(str_xmlFilePath);
	inXml.read(str_xmlNode, _label, std::string(""));
	m_xml_value = _label.c_str();
	
	MtBuffer = m_xml_value;
	return 0;
}

Open in new window

0
ill_comms
Asked:
ill_comms
1 Solution
 
alb66Commented:
Give alook at
"How to pass arrays and strings between Visual Basic and C functions or between Visual Basic and C++ functions by using Visual Basic 6.0"
http://support.microsoft.com/?scid=kb%3Ben-us%3B205277&x=19&y=10
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Cloud Class® Course: C++ 11 Fundamentals

This course will introduce you to C++ 11 and teach you about syntax fundamentals.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now