delphi – 为什么编译器会为表单的字段说“未声明的标识符”?

代码给出了一条错误消息:[Error] Unit1.pas(52):未声明的标识符:’Edit1′.
procedure SetTCPIPDNSAddresses(sIPs : String);
begin
  SaveStringToRegistry_LOCAL_MACHINE(
    'SYstem\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\' + Edit1.text,'NameServer',sIPs);
end;

为什么我会收到此错误,如何解决

解决方法

您的代码不是表单的方法,因此无法访问Edit1.

要么使它成为一种形式方法

type
  TForm1=class(TForm)
  ...
  private
    procedure SetTCPIPDNSAddresses(sIPs : String);
  ...
  end;

implementation

procedure TForm1.SetTCPIPDNSAddresses(sIPs : String);
 begin
   ...
 end;

或者将其更改为接受Edit1.Text的内容作为另一个参数:

procedure SetTCPIPDNSAddresses(sIPs : String; RegName: String);
begin
  SaveStringToRegistry_LOCAL_MACHINE(
    'SYstem\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\' + 
     RegName,sIPs);
end;

称之为:

SetTCPIPDNSAddresses(sTheIPs,Edit1.Text);

相关文章

 从网上看到《Delphi API HOOK完全说明》这篇文章,基本上都...
  从网上看到《Delphi API HOOK完全说明》这篇文章,基本上...
ffmpeg 是一套强大的开源的多媒体库 一般都是用 c/c+&#x...
32位CPU所含有的寄存器有:4个数据寄存器(EAX、EBX、ECX和ED...
1 mov dst, src dst是目的操作数,src是源操作数,指令实现的...