Привет All!
Такая проблема.
Код в dll VC6:
extern "C" __declspec(dllexport) BOOL ProcessD(LPCSTR FileName, LPSTR &pStrBuffer)
{
BOOL bResult = FALSE;
char buffer[1024];
CElaboration *pMot = new CElaboration(FileName);
if (pMot != NULL)
{
bResult = motore->Decriptare(buffer);
strcpy(pStrBuffer,buffer);
delete pMot;
pMot = NULL;
}
return bResult;
}
и есть GUI на VB:
Private Declare Function ProcessD Lib "mydll.dll" (ByVal FileName As String, ByRef strBuffer As String) As Integer
Label1.Caption = CStr(ProcessD("myfile.dat", str))
При debug dll выдается следующее:
HEAP[test.exe]: Heap block at 0014E2F8 modified at 0014E310 past requested size of 10
HEAP[test.exe]: Invalid Address specified to RtlSizeHeap( 00140000, 0014E300 )
Подскажите, как правильно возвратить строку, плиз.
Исправлена подсветка синтаксиса. -- ПК.
27.11.03 18:11: Перенесено модератором из 'C/C++' — ПК