这看起来真的很简单,但我是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
函数的参数。
答案 0 :(得分:10)
是的,你正在传递编辑框本身,而不是它的价值。尝试:
NewPacket := Comms.BuildPacket(EditVal.text);