你好我得到錯誤E2197:[DCC錯誤] proj1.pas(34):直接從程序/功能獲取TAdvEdit.Text
unit proj1;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, AdvEdit;
type
TForm1 = class(TForm)
AdvEdit1: TAdvEdit;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure SetEditText(const instr: string; out outstr: string);
begin
outstr := instr;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
SetEditText('Pippo', AdvEdit1.Text);
end;
end.
當然:E2197常量對象不能作爲變量參數被傳遞,我可以解決寫作:
procedure TForm1.Button1Click(Sender: TObject);
var sText: string
begin
SetEditText('Pippo', sText);
AdvEdit1.Text := sText;
end;
但是,當我有很多AdvEdit,那麼它很難。那麼我問,有可能解決問題,在某些模式中直接給出TAdvEdit.Text作爲參數在我的程序中? 非常感謝。
爲什麼不使用'procedure SetEditText(const Text:string; Edit:TAdvEdit);' – TLama
@TLama爲什麼你需要這樣的函數?它會永遠是值得的嗎? –
@David,當我想,我不知道,通過輸入文本長度或其他設置字體顏色。我知道用這種方式將一個文本分配給一個控件是毫無意義的。 – TLama