问题标签 [c++builder-10.3-rio]

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 回答
280 浏览

firemonkey - iOS 上的屏幕方向

根据Delphi 中的这个问题,可以使用如下代码选择性地将 FMX 应用程序强制为横向或纵向:

我不知道如何将上面的代码翻译成 C++Builder。我根据这篇文章尝试了以下代码,但它在 iOS 和 Android 上都存在访问冲突:

这在使用 C++Builder 的 FMX 中是否可行?

0 投票
2 回答
132 浏览

firemonkey - 将角度符号添加到字符串

如何在字符串中添加角度符号以放入TMemo

我可以根据扩展 ascii 表中的八进制值轻松添加度数符号:

但是,如果我尝试对角符号 ( \u2220) 使用转义序列,则会出现编译器错误W8114 Character represented by universal-character-name \u2220 cannot be represented in the current ansi locale

为清楚起见,下面是我所追求的符号。如果我也有的话,我也可以使用@,只是想知道这是否可能在不咬牙切齿的情况下。我的测试目标是 Win32,但我希望它也能在 iOS 和 Android 上运行。

在此处输入图像描述

ps 此表便于查看代码。

遵循 Rob 的回答后,我已经开始工作了,但在 iOS 上,角度与其他文本一起向下偏移到水平线以下。在 Win32 上它很小。在安卓上看起来不错。我会向 Embarcadero 报告一个错误,尽管很小。

结果

安卓结果

这是我根据 Rob 的评论使用的代码:

TMemo以下是明确将字体设置为 Courier New时的外观:

将字体设置为 Courier New 后

这是我在 Remy 回复后使用的最终代码:

0 投票
1 回答
88 浏览

c++ - 使用 C++ 检测 iPhone 的方向

Embarcadero C++Builder 10.3.2 企业版

在互联网上搜索,我找不到任何 FMX 代码。基于 Delphi 代码,这应该可以工作,但编译器不喜欢它

此外,无论 iphone 的方向如何,Application->FormFactor->Orientations 的值都是相同的。{System::SetBase = {Data = {[0] = 11 '\v'}}} 如何确定方向?

0 投票
1 回答
356 浏览

firemonkey - 打开本地pdf文件Android

我正在将 pdf 文件下载到“下载”文件夹以进行查看。对于 iOS 和 Win32,这很容易,因为TWebBrowser可以很好地处理 pdf 文件。我的问题是安卓。下面是我的代码:

当我在 Android 上运行它时,它会打开 Adob​​e PDF 查看器,但不会打开文件。

我猜我没有正确传递 pdf 文件名。有任何想法吗?

编辑:好的,file://不推荐使用 of ,看起来唯一的方法是通过 FileProvider - per this SE question。对于我这个级别的人来说,艰难的道路是数英里。我只想显示一个pdf。

谢谢,拉斯

0 投票
0 回答
75 浏览

firemonkey - 使用 goto 有什么问题?

我正在使用goto语句跳过一段代码(根据文档),只是为了在调试代码块时进行测试。我收到错误 1526,“进入受保护范围”。我知道这完全是微不足道的,但我想知道我使用goto代码的方式有什么问题:

我正在使用 10.3.2 并朝着 Android 目标构建。

0 投票
1 回答
265 浏览

firemonkey - 为什么 InputQuery 不返回布尔值?

我已经按照明确的文档来实现输入对话框。它工作正常。但是,现在我想在用户单击取消时忽略用户输入。以下是该文档的引用。

“如果用户单击确定按钮,InputQuery返回True;否则InputQuery返回。”False

所以,我尝试了以下代码,我得到的错误是E2034 Cannot convert void to bool当我在 Win32 和bccaarm error 1711 value of type void is not contextually convertible to boolAndroid 上运行时。

我如何测试是否OKCancel点击?下面是声明InputQuery,它应该是布尔值。我很困惑。

0 投票
2 回答
426 浏览

c++ - 未解析的外部 Vcl::Filerl::SelectDirectory

Vcl::Filectrl::SelectDirectory()在 C++ Builder 10.3.1 中使用,但收到错误:

我应该链接哪个库来解决错误?

0 投票
0 回答
93 浏览

android - 在调用 catch 处理程序之前,在 Android 上引发异常会导致 Segmentation Fault 11 错误

我正在使用 C++Builder 10.3.3 开发我的第一个多平台应用程序。我的前两个目标将是 Android 和 Windows。

当我尝试使用任何异常处理时,即使是最简单的 Android 应用程序也遇到了问题。

ANY函数中的以下代码会导致“分段错误 (11)”错误。我已经在运行 Android 7 的华为 Mate 8 Pro 和运行 Android 9 的三星 Note 9 上进行了尝试。

异常被创建并抛出,但分段错误被引发并且我的catch处理程序永远无法到达。

我该如何解决?

0 投票
0 回答
33 浏览

clang - 将类型库文件迁移到 C++Builder Rio 10.3.1

我正在使用 C++Builder 10.3 Rio Update 1。我在将一些类型库文件迁移到 clang C++17 32 位编译器时遇到问题。我有一个使用类型库的经典编译器 (C++98) 创建的应用程序。几年前我导入了类型库并创建了三个文件_OCX.dcr, _TLB.cpp, _TLB.h.

当我尝试在 clang C++17 编译器中编译这个应用程序时,我得到了错误:

[bcc32c 错误] ddfpbridge_TLB.h(304):枚举器值计算为 2147549182,不能缩小到类型“int”。

下面括号内的四行中的每一行都给出了同样的错误。您能否建议更改代码以使其编译?

我试图重新导入类型库并在当前版本的 C++Builder 中重新创建这些文件,但导入向导给出了错误消息:

访问 OLE 注册表时出错

0 投票
1 回答
66 浏览

firemonkey - IdHTTP 或 TFileStream 文件锁定?

我的应用程序向用户展示了一份论文列表(pdf 文件)。他们可以点击下载(通过TidHTTP)并以TWebBrowser. 如果文件已经存在,则跳过下载。上次我玩这个项目(2019 年秋季)时,这段代码还在工作,但现在当我在 iPhone 上运行它时,我遇到了问题。

症状:第一次点击文件会下载,然后在中显示正常TWebBrowser。任何后续点击的论文都会下载(我可以知道,因为我可以在我的应用程序文档文件夹中列出 *.pdf 文件)但无法显示。TWebBrowser我捕获了当我指向文件时发生的错误Form1->WebBrowser1->URL = "file://" + LFileName;。错误是“找不到指定的文件”。它在那里,因为我可以在上面列出目录。

如果我杀死该应用程序并重新启动它,然后返回并单击先前单击的文件之一(未显示),它将正常打开并显示在TWebBrowser. 这真的让我觉得这是某种文件锁定问题,因为文件存在。

这是代码:

发生错误时,捕获的消息是(在运行 13.3 的 iPhone 上):

在此处输入图像描述

显示的 ShowMessageForm1->TWebBrowser1->URL给出了正确的:

在此处输入图像描述

我没有TFileStream正确关闭吗?我可以杀死应用程序,重新启动并查看文件的事实让我知道文件正在正确下载。另外,第一次通过代码完全可以工作(下载然后显示在 中TWebBrowser)。只有在显示之前需要下载的后续尝试才会出现此“找不到文件”问题。

编辑:现在我创建了一个TWebBrowser名为 myW 的 WebBrowser1 的克隆。它可以显示pdf,但是我不知道如何正确删除它。

这是我创建它并显示 pdf 的代码:

这是我删除它的尝试:

EDIT2:尝试处理临时TWebBrowser

我创建了TWebBrowser这样的(并且可以正常显示pdf):

然后我尝试像这样处理它但不起作用:

我没有收到任何错误,我只是无法加载第二个 pdf(仍然找不到该文件的错误)。我正在使用演员表,因为我无法访问T->Parent.