Я нашел библиотеку C/C++ QRCode и хочу использовать ее как .dll. Одна функция, называемая просто "qrcode", имеет char szSourceString[], char OUT_FILE[]
в качестве параметров. SourceString
— текст для преобразования, а OUT_FILE
— имя файла. Эта функция записывает .bmp.
В Gupta/Centura Team Developer 5.2, где мне нужно использовать .dll, мне нужно передать эти параметры как "LPSTR". Вышеупомянутое работает нормально, но я ищу способ вернуть файловый поток вместо записи .bmp, который мне нужно снова открыть в Centura для дальнейшей обработки.
В библиотеке C++ файл записывается так:
if (!(fopen_s(&f, OUT_FILE, "wb")))
{
fwrite(&kFileHeader, sizeof(BITMAPFILEHEADER), 1, f);
fwrite(&kInfoHeader, sizeof(BITMAPINFOHEADER), 1, f);
fwrite(pRGBData, sizeof(unsigned char), unDataBytes, f);
fclose(f);
Я хочу вернуть unsigned char*pRGBData
туда, где я его называю из Centura. Я понятия не имею, как это сделать/какой тип данных использовать. Я попытался преобразовать pRGBData
в std::string и вернуть его, но при вызове функции из Centura происходит сбой. Я не знаю, будет ли само преобразование работать нормально или оно просто вылетает из-за того, что я выбрал неправильный тип данных. Как Centura-"String" я могу передать "HARRAY HSTRING,LPSTRING, LPCSTR, LPCWSTR, LPVOID, LPWSTR". Может ли кто-нибудь помочь мне здесь, пожалуйста?
pRGBData
? - person user657267   schedule 30.07.2014return pRGBData
? Но тогда какой тип данных я должен использовать на стороне Centura? - person user3884424   schedule 30.07.2014