【发布时间】:2009-09-14 08:01:48
【问题描述】:
我正在使用下面的 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++ 的基础知识:-)
【问题讨论】:
-
学习 C++ 的基础知识是您应该做的事情,无论是否需要翻译该代码。如果您使用 Delphi,那么您就在 Windows 上工作,如果您在 Windows 上工作,那么您应该知道如何阅读 C 和 C++,因为您将看到的几乎所有文档都是这些语言的。如果你不这样做,你只是把头埋在沙子里。
-
好点,罗布。只是我不是专业的软件开发人员。我通常做逻辑,Delphi的内置组件就是我所需要的。当我不得不处理其他事情时,这是一个罕见的案例。赞美stackoverflow :-)
标签: c++ delphi pointers parameters void