2

这似乎是一个非常简单的,但我是新来的德尔福和谷歌还没有出现任何东西......

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

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函数的一个参数。

4

1 回答 1

10

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

NewPacket := Comms.BuildPacket(EditVal.text);
于 2013-05-30T12:31:20.857 回答