如何在delphi中使用`TArg<PAnsiChar>`?
Posted
技术标签:
【中文标题】如何在delphi中使用`TArg<PAnsiChar>`?【英文标题】:How to use `TArg<PAnsiChar>` in delphi? 【发布时间】:2018-03-29 10:42:01 【问题描述】:如何使用TArg<PAnsiChar>
?
编译器说它是未定义的。
我需要包含一些东西、安装一些东西还是我需要什么?
谷歌搜索后,我只找到了 Delphi 的 Spring Framework。我不太确定这是否是使用<TArg<PAnsiChar>
所需要的。我正在使用 Delphi Starter 10.2。
感谢您对此提供的任何帮助...
来自 cmets 的更新:
这个问题使用了TArg<PAnsiChar>
这个表达式:
CreateProcess using netsh hangs/freezes the application [Delphi]
procedure GetDosOutput(const ACommand, AParameters: String; CallBack: TArg<PAnsiChar>);
【问题讨论】:
如果编译器没有找到声明,添加声明或声明它的单元。之后就可以使用它了。如果你不知道它是什么或者这个表达式来自哪里,那么使用它的目的是什么? 顺便说一句,Spring4DTArg
是具有通用方法的记录,例如 TArg.Isxxx<T>
,这与问题中的不同。
您真的需要告诉我们您认为TArg
是什么。编译器消息很清楚不是吗。
向我们展示一些上下文。您打算如何使用它,为什么?
***.com/questions/20712386/… procedure GetDosOutput(const ACommand, AParameters: String; CallBack: TArg从链接的问题可以看出TArg<PAnsiChar>
被用作回调参数:
procedure GetDosOutput(const ACommand, AParameters: String; CallBack: TArg<PAnsiChar>);
在调用中用作匿名过程:
GetDosOutput(ACommand, AParameters,
procedure (const Line: PAnsiChar)
begin
Tmp := Line;
S := S + Tmp;
end
);
这意味着TArg<PAnsiChar>
的声明应如下所示:
type
TArg<T> = reference to procedure (const Arg1: T);
【讨论】:
以上是关于如何在delphi中使用`TArg<PAnsiChar>`?的主要内容,如果未能解决你的问题,请参考以下文章
我如何在不使用Delphi约束的情况下确定泛型类型为nil?