delphi - 不兼容的类型 'String' 和 'TEdit'

标签 delphi

这似乎是一个非常简单的问题,但我是delphi新手,谷歌还没有发现任何东西......

我的表单上有一个编辑字段,并且我创建了一个具有以下表单功能的组件:

type
    TComms = class(TComponent)
  published
    function BuildPacket(const APacketData: string): string;

现在我将编辑表单的输出传递给函数,如下所示:

procedure TForm1.xxxxx(Sender: TObject)
var
  NewPacket: string;
begin
  NewPacket := Comms.BuildPacket(EditVal);
end;

我收到错误

Incompatible types 'String' and 'TEdit'

我应该将编辑值转换为字符串吗?或者我的组件应该进行转换?我不想让输入成为组件或任何东西的属性 - 只是 BuildPacket 函数的一个参数。

最佳答案

是的,您正在传递编辑框本身,而不是它的值。尝试:

NewPacket := Comms.BuildPacket(EditVal.text);

关于delphi - 不兼容的类型 'String' 和 'TEdit',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16836188/

相关文章:

delphi - 用不同的编译器指令编译DELPHI代码

delphi - 阻止 Delphi 自动错误地添加单位

delphi - TFDMoniFlatFileClientLink 不规则地不跟踪到文件

delphi - TJvDockServer 和可停靠控件

delphi - 为什么编译器拒绝二维泛型数组的声明?

delphi - 实现可变长度数组的最佳方法是什么?

delphi - 如何在类型常量中包含方法指针?

delphi - 如何禁用ActionMainMenuBar中的菜单、子菜单?

delphi - 仅具有进程ID时关闭主应用程序窗口的问题

delphi - TDateTimePicker MaxDate - 不允许将控件设置为当前日期