возвращение строки из dllexport функции
От: romstyop  
Дата: 27.11.03 09:29
Оценка:
Привет 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++' — ПК
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.