【问题标题】:'undeclared identifier' compiler error on TThread.Synchronize() methodTThread.Synchronize() 方法上的“未声明的标识符”编译器错误
【发布时间】:2013-09-05 19:52:01
【问题描述】:

编译器说未声明的标识符:

TThread.Synchronize(nil, sync.Execute);

可能我使用的是旧版本,那么如何纠正这个错误?

可能会超载它,任何人都可以帮忙,我是 delphi 的新手,我想在 c++ builder 上安装一个 delphi 组件。我需要修复上面的错误,我不知道如何。

我正在使用 BCB6。 我正在尝试在 C++ Builder 上安装 Delphi Chromium Embedded 以在旧项目中使用它

【问题讨论】:

  • 抱歉,我使用的是 C++ Builder 6
  • 您展示的代码是 Delphi 代码,而不是 C++ 代码。 C++ 等价物是 TThread::Synchronize(NULL, &sync->Execute);,但是 BCB6 中不存在 Synchronize() 的那个版本。
  • @Remy Lebeau 我正在尝试在 C++ Builder 上安装 Delphi Chromium Embedded 以在旧项目中使用它。
  • your previous question 中,您说您“很久以前”成功使用了 Chromium Embedded。也许您应该尝试使用上次使用该项目时的最新版本,而不是使用最新版本。
  • 问题是我的操作系统已重新安装,我确实再次安装了 bcb6,现在我正在尝试安装 chromium

标签: delphi c++builder c++builder-6


【解决方案1】:

代码是为更现代的 BCB/Delphi 版本编写的。 Synchronize 类方法是最近添加的(比 BCB6 新得多),您的编译器错误清楚地表明您的版本太旧。您尝试使用的组件不支持您的编译器。

可能的解决方案包括升级或重写代码以匹配您的版本。

【讨论】:

  • 最近?它在 D2007 中(我在这里拥有的最旧版本 - 我在另一个系统上有 D7,我可以稍后查看)。
  • @KenWhite 在 Delphi 最近都是相对的。 Delphi 7 很旧,其他一切都是现代的! :-)
  • @David Heffernan 是的,我知道可能的解决方案是重写代码,但我在 delphi 方面经验不多。我正在尝试在 C++ Builder 6 上安装 Delphi Chromium Embedded 以在旧项目中使用它
  • 在这种情况下你必须升级
  • 我想这是一个很好的观点。除非你付给我 很多,否则我不会回到 Delphi 7。 :-)(顺便说一句,+1。)
猜你喜欢
  • 1970-01-01
  • 2014-08-17
  • 2022-03-09
  • 1970-01-01
  • 2013-03-12
  • 1970-01-01
  • 2013-01-22
  • 2011-10-25
  • 2011-02-15
相关资源
最近更新 更多