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

时间:2013-05-30 12:28:03

标签: delphi

这看起来真的很简单,但我是delphi的新手,google还没有发现任何东西......

我的表单上有一个编辑字段,我创建了一个具有以下形式的函数的组件:

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'

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

1 个答案:

答案 0 :(得分:10)

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

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