加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

Delphi无法从TEdit获取文本

发布时间:2020-12-15 04:18:32 所属栏目:大数据 来源:网络整理
导读:我在Delphi中编写代码时遇到了问题. 即我无法访问组件,即使它们被声明并且我在上面的代码中使用它们(之前在程序中,现在我试图在函数中使用它们 – 也许这就是我不知道的原因,我不擅长德尔福). 我做了几个屏幕让它看起来更清晰. 看一看. http://imageshack.us
我在Delphi中编写代码时遇到了问题.
即我无法访问组件,即使它们被声明并且我在上面的代码中使用它们(之前在程序中,现在我试图在函数中使用它们 – 也许这就是我不知道的原因,我不擅长德尔福).
我做了几个屏幕让它看起来更清晰.
看一看.

http://imageshack.us/photo/my-images/135/weirddelphi3.png/”u0026gt;

正如您在第一个屏幕上看到的那样,我遇到了编译器错误.它表示组件不存在,但在第三个屏幕上,您可以看到该组件存在.在第二个屏幕上,我甚至可以使用此组件(可以成功调用代码完成,但如果我尝试在secondFunction的范围内调用它,我会得到如下错误:
“由于源代码中的错误,无法调用代码完成” – 但这到底是什么错误?! ).如果我评论这两行(参考Edit7和Edit8),我可以毫无问题地运行程序.我真的无法弄清楚出了什么问题,如果有人能给我一些建议,我将不胜感激.我不想在这里发布整个代码,因为它需要大约300行,但是如果你需要知道别的东西来解决这个问题,那么请问我会告诉你..

我没有足够的声望点来发布超过2个超链接,因此您必须使用最后一个进行“复制和粘贴”:D

解决方法

问题是Edit7是TForm1类的一部分.在TForm1之外的名称无法访问Edit7.所以要么你可以使用全局Form1变量,要么
function secondFunction(x: extended): extended;
var
  paramA,paramB: extended;
begin
  paramA := StrToFloat(Form1.Edit7.Text);
  paramB := StrToFloat(Form1.Edit8.Text);

  Result := paramA + paramB * sin(x);
end;

或者你可以使TForm1类的secondFunction部分:

function TForm1.secondFunction(x: extended): extended;
var
  paramA,paramB: extended;
begin
  paramA := StrToFloat(Edit7.Text);
  paramB := StrToFloat(Edit8.Text);

  Result := paramA + paramB * sin(x);
end;

但是你需要在TForm1类的声明中声明secondFunction,比如

TForm1 = class(TForm)
private
  { Private declarations }
public
  { Public declarations }
  function secondFunction(x: extended): extended;
end;

在单位的开头.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读