以下の C++ の例を使用して、Delphi で DLL を作成しています。
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++ の基本を学ぶことはありません :-)