gpt4 book ai didi

c - 如何将这个C函数指针转换为delphi函数

转载 作者:行者123 更新时间:2023-11-30 16:10:10 24 4
gpt4 key购买 nike

有一个第三方C DLL,用Delphi 2007开发的程序(新手级别),在DLL头文件中,函数结构比较复杂,有大神能给点思路吗? C头文件定义:

typedef int (*SetValueFunc)(const char* path, const char* value);
typedef const char* (*GetValueFunc)(const char* path);
typedef const ConfigNode* (*GetPropertysFunc)();

typedef struct tagIProperty
{
SetValueFunc SetValue;
GetValueFunc GetValue;
GetPropertysFunc GetPropertys;
}IProperty;

调用C:

property->SetValue("0/baud_rate", "1000000")

如果有人给我一些建议,我将不胜感激。

最佳答案

尝试这样的事情:

type
ConfigNode = record
...
end;
PConfigNode = ^ConfigNode;

SetValueFunc = function(const path, value: PAnsiChar): Integer; cdecl;
GetValueFunc = function(const path: PAnsiChar): PAnsiChar; cdecl;
GetPropertysFunc = function: PConfigNode; cdecl;

tagIProperty = record
SetValue: SetValueFunc;
GetValue: GetValueFunc;
GetPropertys: GetPropertysFunc;
end;
IProperty = tagIProperty;
var
property: ^IProperty;
...
property := ...;
...
property.SetValue('0/baud_rate', '1000000');

关于c - 如何将这个C函数指针转换为delphi函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58946288/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com