【发布时间】:2018-08-18 13:22:21
【问题描述】:
我正在尝试将指向数据的指针传递给函数。但我收到错误不兼容的类型:'Array' 和'TBytes'。我不知道如何解决它。
type TBytes = array of byte;
type PTBytes = ^TBytes;
procedure Dictionary.WriteData(Data: PTBytes);
begin
try
DataStream.Write(Data[0], sec[sid].grp[grp].META.dataLength);
finally
end;
end;
我之前试过
pData: ^TBytes;
PData := Data^;
我终于打电话了
writeData( data);
但它会产生错误指针类型要求
编辑
我已将过程 appendData 替换为 writeData。现在更轻松了。
【问题讨论】:
-
将指针类型命名为
PBytes会更惯用。 (更一般地,给定一个类型TMyThing,我们经常定义PMyThing = ^TMyThing。) -
但是你根本不使用
pData。最好描述真正的问题。 -
TBytes的变量本身就是一个指针。 -
我认为您至少应该编辑您的代码(以及您已接受的答案),以便它们不那么荒谬(不使用输入数据并且对局部变量进行无用操作)。同时-1和VTC。
-
@MartynA:问题已更新。希望它现在更有意义。
标签: delphi