当我想在DLL中导出一个类时,将其从接口派生并通过导出函数返回该接口是否是正确的方法?
//exported dll function, which is used in the exe.
function MyClass_Create: IMyClass;
begin
result := TMyClass.Create;
end;
关于内存管理呢?我是否可以随意传递不同的接口和字符串而不必担心崩溃问题?
IMyClass = interface
procedure SetString(aMsg: string);
function GetString: string;
procedure SetClass(aClass: ITestClass);
function GetClass: ITestClass;
end;
Pointer(IntRef):= nil
可以帮助设置接口引用为空,而不改变引用计数。 - kludg