Есть структура в Delphi:
type
RESPONSE =packed Record
datetime:PChar;
code:PChar;
response_string:PChar;
end;
var
resp:RESPONSE;
и в с++
struct RESPONSE {
char *datetime;
char *code;
char *string;
};
Описание функции в Delphi
function getResponse(resp:PRESPONSE):Integer; cdecl ; external 'TestDLL.dll' name 'EF_getResponse';
Описание функции в C++
DLLEXPORT void getResponse(RESPONSE *resp);
Вызываю из Delphi функцию в DLL
getResponse(Addr(resp));
В DLL должно происходить изменение указателей на строки в структуре.
Вот такой код рабочий
resp->datetime="Test datetime";
А с таким кодом беда
resp->datetime=(char*)element->GetText();
Описание функции GetText()
const char * GetText();
Как корректно присвоить значения полям структуры?