问题标签 [c++builder-10.1-berlin]
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.
c++builder - 包含文件的代码洞察力不起作用
C++ Builder 10.1 Berlin 中的 CodeInsight / 自动完成功能不适用于包含文件。它应该适用于包含吗?如果是这样,我做错了什么?
我在选项中激活了 CodeInsight,但它没有显示任何列表,即使我手动按下CTRL+SPACE。
过去,我使用 Visual Studio 进行编程,其中自动完成适用于包含。我真的很怀念那个功能。
有人可以帮我弄这个吗?
c++builder - 如何从 DataSnap 下载二进制文件?
我正在使用 RAD Studio 10.1 Berlin。我正在尝试在 DataSnap 中创建一个服务器方法来提供二进制文件:
当我从网络浏览器打开它时,我得到的是 json 内容,而不是二进制数据。就像是:
我做错了什么?
c++ - C++Builder“__property”的数据传递
C++ Builder 中的 __properties 是按引用传递还是按值传递?...例如
此外,您可以将&运算符添加到__properties,例如
但仅适用于基于 Clang 的编译器。这背后的意义是什么?
c++ - Embarcadero C++Builder 中的事件处理程序是否可重入?
我想就如何处理重新进入的 Embarcadero CB10.1 问题提出一些建议。在“禁用所有优化”设置为 true 的调试配置中编译。我在Win7上运行。
我有一个简单的测试用例。带有两个按钮的表单。每个按钮的 OnClick 事件处理程序调用相同的 CPU 密集型函数。下面是头文件,后面是程序文件。
- 第一种情况:显示的代码但没有调用 ProcessMessages()。
当我运行它并单击按钮 1 时,CPU 使用率在大约 9 秒内跃升至几乎 100%。在此期间,表单变得无响应。无法移动表单或单击按钮 2。
这如我所料。
第二种情况:为了使表单在 CPU 密集型功能期间响应用户,我添加了 ProcessMessages() 调用,如图所示。现在,我可以移动表单并单击其他按钮。
这并不总是好的,因为我可以再次单击按钮 1 甚至单击按钮 2。任何一次单击都会再次触发 CPU 密集型功能。为了防止 CPU 密集型功能第二次运行,我制作了一个静态布尔标志“InUse”。我在函数启动时设置它,并在函数完成时清除它。
因此,当我进入 CPU 密集型功能时,我会检查标志,如果它已设置(它必须是通过先前单击按钮设置的),我会显示一条消息,然后等待标志清除。
但是标志永远不会清除,我的程序永远在“while”语句上循环。我希望程序等待 CPU 密集型功能完成,然后再次运行。
如果我在遇到死锁后在 Spin() 函数中设置断点,它永远不会触发,表明两个事件都没有执行。
我知道 VCL 不是线程安全的,但在这里,所有的处理都发生在主线程中。在我的实际代码中,有很多对 VCL 函数的调用,因此 CPU 密集型函数必须保留在主线程中。
我考虑过关键部分和互斥锁,但由于一切都在主线程中,因此对它们的任何使用都不会阻塞。
也许它是一个堆栈问题?有没有一种解决方案可以让我在没有僵局的情况下处理这个问题?
c++builder - 如何通过 C++ Builder 将菜单栏放在 Mac OS 中的 Apple 菜单栏中?
我找到了一个使用该TMenuBar.UseOSMenu
属性放置 Windows 和 Mac 主菜单的示例。但它似乎只适用于德尔福。TMenuBar
我在 C++Builder的 FMX 组件中找不到相同的属性。
有谁知道如何在 C++ 中的 Mac OSX 上的 Apple 菜单栏中放置一个菜单栏?
我正在使用 C++ Builder 10.1 Berlin Update 2。
c++ - 在整个应用程序中更改文本颜色、背景颜色等
是否可以一次性更改文本颜色/大小、背景颜色、表格比例?我试图完成的是容纳可能希望在应用程序中使用高对比度主题的残障人士,以便他们可以更好地查看文本。增加字体大小等等...
例如:
这会将表格缩小 10%。
我可以在每个单独的表单上更改所有这些东西......但是有没有办法在可以将更改带到整个应用程序的设置表单中做到这一点?
我正在使用 C++ Builder 6,刚刚开始使用 C++ Builder - Berlin。或 Rad Studio Berlin Edition(我认为这是他们最新的版本)。
谢谢!
c++ - Firemonkey custom control click events firing in designer
I have a custom Firemonkey control that has several sub components. These sub components have OnClick events associated with them that are setup in the control's constructor. I have noticed that when I click on the custom control in my design view, the OnClick events of these sub components are getting fired.
Is there a particular setting or best practice I need to employ to prevent this from happening?
Is there something I can check in my C++ code to see if this event is being run in the designer vs at run time? Something like:
c++ - 内部编译器错误:C0000005 @ 54D79AFE C++ Builder 10.1 Berlin Update 2
在使用基于 CLANG 的 32 位和 64 位编译器的 C++Builder 10.1 Berlin Update 2 中,使用多重继承的包会导致访问冲突。
一旦具有多重继承的类具有实现代码,CLANG 就会导致 ICE。
这是一个触发问题的简单代码:
和实施(必须在 CPP 中):
我多次写信给 Embarcadero,但没有任何运气。我们被困住了,因为我们的项目没有这个就无法编译。
localization - 通过控制台更新本地化项目
我使用 Embarcadero C++ Builder 来创建具有不同 UI 语言的应用程序。目前,当原始项目发生变化时,我需要从 IDE 主菜单中手动选择下一个选项:
Project→ Languages→Update Localized Projects
是否可以进行此类操作,即通过控制台更新本地化项目(无需任何 GUI 操作)?
更新本地化项目的另一种方法是使用外部翻译管理器工具(RAD Studio 随附)。但是这种方式也使用GUI。
更多信息可在 Embarcadero网页上找到。
c++ - 在运行时究竟何时分配已发布的属性?
我有一个自定义控件,它需要在运行时加载时根据已发布的属性做一些事情。但是,我遇到了一个问题,每当我检查发布的属性时,它还没有设置,并且始终是默认值。
我首先尝试检查控件的构造函数中的属性,但很快发现它们尚未加载。我知道当控件显示在屏幕上时,属性设置正确,因此根本没有加载属性不是问题。
我接下来尝试覆盖加载的方法,但仍然遇到同样的问题,所以我不认为这正是我正在寻找的。
这些已发布的属性实际上是在什么时候设置的?
一旦属性设置正确,我可以/应该使用什么方法来根据这些属性在我的控件中执行一些逻辑?