Я пишу DLL в Delphi, используя приведенный ниже пример C ++:
USERDLL_API double process_message (const char* pmessage, const void* param)
{
if (pmessage==NULL) { return 0; }
if (param==NULL) { return 0; }
if (strcmp(pmessage,"state")==0)
{
current_state *state = (current_state*) param;
return process_state( (current_state*)param );
}
}
К сожалению, я почти ничего не знаю о C ++ и указателях. Что я должен использовать вместо char * (PChar?) И void *?
function process_message (const pmessage: PChar; const param: ???): Double; export;
begin
???
end;
exports process_message;
Любая помощь с телом функции также будет высоко оценена. Я понимаю, что это не ракетостроение, но я не изучил бы основы C ++ только для того, чтобы преобразовать пару строк, если бы кто-то любезно сделал это для меня: -)