问题标签 [c++builder-10-seattle]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
248 浏览

c++ - C++ 10 西雅图 Embarcadero 类型 complex_array

我正在尝试使用来自 MSVC 的名为 NEC2++ https://github.com/tmolteno/necpp的开源代码

有一个未定义的类型,称为 complex_array,Builder 无法识别。我安装了 Boost,但在文档中的任何地方都没有看到这种类型。我假设这是实数和虚数数组的一种类型。我在 Builder 或 Boost 文档中找不到这样的类型。

我正在寻找可能的解决方案来移植此代码。

0 投票
1 回答
1079 浏览

c++ - 使用 C++ Builder 10 Seattle 时出现很多歧义错误

在新的 C++ Builder 10 Seattle 中编译旧代码时,我遇到了很多模棱两可的错误。例如,对于像log()这样的函数。

调用log(10)会产生以下错误。

[bcc32 错误] E2015 'std::log(float) at c:\program files (x86)\embarcadero\studio\17.0\include\windows\crtl\math.h:394' 和 'std::log( long double) 在 c:\program files (x86)\embarcadero\studio\17.0\include\windows\crtl\math.h:430'

感觉它应该能够处理这种转换。一个警告,很好......但是一个错误并且无法编译?编译器是否在更高版本中对此更加严格?代码最初来自C++ Builder 2010

其他歧义错误包括预期HWND时的void* ,在TDateTimePicker->Time上进行算术运算(现在必须使用->Time.Val )等。这在之前被编译器吞噬,但现在不是。我很高兴它现在似乎更严格了......但它为旧代码带来了很多修复。

0 投票
3 回答
2059 浏览

delphi - C++ Builder 10 - Compiling any project gives error?

I just installed C++ Builder 10 (Seattle) trial but now facing a strange error when trying to compile any (new or existing) VCL Forms application.

enter image description here

It's a clean installation, no settings were modified etc. I'm using Windows 10. How to solve this?

0 投票
0 回答
598 浏览

delphi - 德尔福 RTTI & C++

这篇文章是在Remy Lebeau 的帮助下在C++ Builder 期刊论坛上提出的一个问题的继续。我的问题是对 Delphi RTTI 以及如何在 C++ Builder 中使用它缺乏了解。有很多关于如何使用 RTTI 获取类型信息等的文档,但没有太多如何使用它进行发现的文档。

根据我的理解,下面应该设置 RTTI 发现的方法:

这是我目前的课程,它覆盖了 Embarcadero iOS API iOSapi.UIKit.hpp 中的 UIAlertViewDelegate 接口中的虚拟方法。

但是,当我创建此类的一个实例并使用以下方法在堆上分配它时:

我收到与 Delphi 相关的 RTTI 错误:

第一次机会例外在 $00158015。异常类 EObjectiveC 带有消息“未找到类型 UIAlertViewDelegate 的 RTTI。也许缺少 {$M+}?'。流程代表 (250202)

将我的类方法从 public 更改为 __published 可以消除此错误,但会导致访问冲突,但查看调用堆栈发生的情况是:

  • 调用 TOCLocal 构造函数
  • TRttiType GetMethods 调用
  • 读取方法数据
  • 读取扩展方法数据
  • 读取对象
  • 读取对象指针
  • 读取对象(再次)
  • 创建 TRTTIInstanceMethodClassic
  • 访问冲突

很明显,RTTI 有问题,因为它在尝试获取方法信息后崩溃了?有经验的人可以在这里提供帮助吗?

0 投票
1 回答
114 浏览

clipboard - 将某些剪贴板文本粘贴到 CBB 10 中的 TEdit

我希望当用户单击按钮时,只有包含 URL(以 http:// 开头)的文本Clipboard才会自动粘贴到TEdit.

我已经尝试了以下代码,但根本不起作用。

0 投票
1 回答
124 浏览

string - Multiple StringReplace in CBB 10

I've more than 10 different strings that I want to replace. Right now, I'm using the manual method as shown in the following code.

So, I want to know how to replace many strings using more practical and flexible method. Perhaps by using a specific function ?.

Thank you very much.

0 投票
1 回答
947 浏览

linker-errors - C++ Builder 10 Seattle NotificationCenter 链接器错误

我使用 RAD Studio 10 Seattle 创建了一个新的 VCL 表单。
我在设计时添加了一个 NotificationCenter。然后我编译它并成功运行它。

但是当我做了以下两个步骤时:
1. 去

项目 -> 选项 -> C++ 链接器

并取消选中“与动态 RTL 链接”选项。

2.去了

项目 -> 选项 -> 包 -> 运行时包

并取消选中“与运行时包链接”选项。

未选中这些选项是为了使 .exe 独立,即能够在没有 IDE 的情况下执行 .exe 文件。因此,当取消选中这些选项时,所有库和包都链接到 .exe 文件。

但是现在当我编译它时,在链接阶段它给了我以下错误:

所以我搜索了我的

Embarcadero/17.0/

第一个链接器错误中的参考目录,SHStrDupW并找到三个扩展名为 .h 或 .hpp 的文件,并将它们包含到我的项目中,但结果相同。

有谁知道如何修复这个错误,我会很感激各种帮助?:)

PS:我为win32或win64操作系统编译它并不重要。

0 投票
1 回答
2529 浏览

c++builder - 在西雅图 C++ Builder 10 中使用 Web.Win.Sockets

我有一个现有的(大型)项目,最初是使用C++ Builder 2010 构建的。它使用现已弃用的套接字进行通信。

读到它们在示例项目中仍然可用,并从命令行构建它。我从Component/Install Packages导航到示例文件夹中的 bpl并安装它,然后继续尝试让代码运行。但是我感觉缺少了一些步骤。

从示例文件夹中包含Web.Win.Sockets.hpp似乎还不够。它似乎不包含关于很多东西的定义,例如现有代码使用的 TServerSocket等。System.Win.ScktComp似乎包含这些缺失的定义,但将两者混合似乎不是正确的做法。只是为了好玩,我曾经尝试过一些疯狂的事情并让它编译,但传输的数据似乎包含破坏通信的垃圾。

有一次,我尝试改用System.Win.ScktComp中的组件,但没有关于什么与什么相关以及是否有任何警告的好信息。在我得到程序编译后,它将无法连接等。

那么,是否有任何好的指南来启用和使用C++ Builder 10 Seattle的“旧”套接字?如果要搬到新的,是更换的减少还是需要大量的工作?系统以自定义二进制格式传输大量数据,因此完成了大量流处理等。现在我需要启动并运行它,因此目前对这些部分进行大量重写是不可行的。

0 投票
1 回答
282 浏览

winapi - SelectObject WinApi 函数无法在 Rad Studio Seatle 中编译

我正在尝试在 Rad Studio Seatle CBuilder 10 中编译以下代码片段。

但无法编译该行并显示错误消息。

[bcc32 错误] Unit1.cpp(132):E2034 无法将“void *”转换为“HPEN__ *”完整解析器上下文 Unit1.cpp(121):解析:void _fastcall TForm1::Button1Click(TObject *)

我可以在“c++ builder 6”中成功编译这个源代码。

我还检查了 CBuilder 6 和 Cbuilder 10 中的 SelectObject 函数声明

CBuilder 6 声明(wingdi.h)

CBuilder 10 声明(wingdi.h)

我没看到有什么不同。

我有什么问题。

谢谢。

0 投票
1 回答
792 浏览

c++ - 使用 C++ Builder 和 Clang 编译 Duktape 时找不到 inttypes.h 文件

我使用C++ Builder Seattle创建了一个简单的 Duktape 示例,并遵循Duktape中“初始化上下文”中的代码。使用经典模式时编译良好。如果我通过取消选中 Project->Options->C++ Compiler->Use 'classic' Borland compiler 切换到 clang,我会收到以下错误。

如果我注释掉包含我会得到以下错误: