gpt4 book ai didi

c++ - 如何将 Delphi Stream 传递给 c/c++ DLL

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:59:41 25 4
gpt4 key购买 nike

是否可以将 Delphi 流(TStream 后代)传递给用 c/c++ 编写的 DLL? DLL 将用 Microsoft c/c++ 编写。如果那不可能,我们使用 C++ Builder 来创建 DLL 怎么样?或者,是否有任何可以在 Microsoft C/C++ 和 Delphi 之间共享的 Stream (FIFO) 类?

谢谢!

最佳答案

您可以使用 IStream 执行此操作和 TStreamAdapter .这是一个简单的示例(在 D2007 和 XE2 中测试):

uses
ActiveX;

procedure TForm1.DoSomething;
var
MemStream: TMemoryStream;
ExchangeStream: IStream;
begin
MemStream := TMemoryFile.Create;
try
MemStream.LoadFromFile('C:\Test\SomeFile.txt');
MemStream.Position := 0;
ExchangeStream := TStreamAdapter.Create(MemStream) as IStream;
// Pass ExchangeStream to C++ DLL here, and do whatever else
finally
MemStream.Free;
end;
end;

以防万一,如果您需要走另一条路(从 C/C++ 接收 IStream),您可以使用 TOleStreamIStream 到 Delphi TStream

关于c++ - 如何将 Delphi Stream 传递给 c/c++ DLL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11803444/

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