You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

TMS Web Core内联变量报语法错误,VCL/FMX中正常如何解决

TMS Web Core内联变量语法错误问题解决

你遇到的问题核心是TMS Web Core的Pascal编译规则和标准Delphi存在差异:

标准Delphi(10.3+)支持在代码执行语句中用var声明内联变量,但TMS Web Core基于的PascalScript子集,早期版本并不支持这个语法,它要求变量必须在代码块的开头集中声明,不能穿插在执行语句中间。你的两段代码在VCL/FMX中正常,是因为标准Delphi编译器支持这种现代Pascal语法,但Web Core的编译器不兼容该写法,所以触发语法错误。

解决方案1:传统Pascal变量声明方式

把所有变量移到begin之前的var块中集中声明,再在代码里赋值:

procedure TfrmMain.btnSignInClick(Sender: TObject);
var
  UserEmail: String;
  UserPassword: String;
  UserRememberMe: Boolean;
begin
  UserEmail := edtEmail.Text;
  UserPassword := edtPassword.Text;
  UserRememberMe := tglRememberMe.Checked;

  SignIn(UserEmail, UserPassword);
end;

解决方案2:使用Web Core支持的let关键字(部分新版本可用)

如果你的TMS Web Core版本较新,可以用let关键字替代var来做内联变量声明,这是Web Core适配JS语法提供的特性:

procedure TfrmMain.btnSignInClick(Sender: TObject);
begin
  let UserEmail := edtEmail.Text;
  let UserPassword := edtPassword.Text;
  let UserRememberMe := tglRememberMe.Checked;

  SignIn(UserEmail, UserPassword);
end;

内容的提问来源于stack exchange,提问作者Shaun Roselt

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 06:35:07