问题标签 [delphi-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.
delphi - Firemonkey“无调试信息”
在调试 Firemonkey 应用程序(一个弹跳球)时,在球四处移动大约一分钟后,此消息开始涌入 EventLog:
模块加载:D3DCOMPILER_47.dll。没有调试信息。基址:14D50000 美元。处理 bo.exe (13824) 线程开始:线程 ID:14268。处理 bo.exe (13824)
它使调试模式几乎毫无用处。这是一个 Delphi Architect 试用版,空白表单 Firemonkey 应用程序。我想可能是因为它是试用版。
在这种情况发生之前,我确实看到大约三个线程开始了。我没有有意识地启动任何线程,但我假设一个用于用户界面,一个用于调试器?我不知道。这是一个有代表性的样本:
最后两行将无限重复。
更新#1(已编辑):我不想调试 D3DCompiler。我试图找出减速的原因。
更新#2:我关闭了模块的调试器消息,这没有帮助。在同一近似点,应用程序的速度急剧下降。这仅在调试时发生。
更新#3:如何重新创建:
- 启动一个新的多设备应用程序。
- 选择空白应用程序。
- 删除一个 TTimer。
- 放下一个 TRectangle。
- 添加一个布尔公共变量“up”。
对于 Timer1Timer 添加以下代码:
procedure TForm1.Timer1Timer(Sender: TObject); begin if up then my := -1 else my := 1; if (Rectangle1.Position.Y + my < 10) or (Rectangle1.Position.Y + my > 470) then up := not up else Rectangle1.Position.Y := Rectangle1.Position.Y + my; end;
将 TTimer 间隔设置为较低的值。在我的机器上,我可以产生高达大约 60 间隔的效果。这是我能够做到的尽可能小,同时仍然得到上述调试器的磨削。
delphi - 当实现在多个库中时,Delphi [弱] 引用属性会产生“无效的类类型转换”
Delphi Berlin 10.1 添加了 [弱] 引用。Marco Cantu 的博客有一些基础知识。
对于我的测试,我创建了两个包含两种自动化对象类型的 COM 库。容器对象持有内容对象的列表,而内容对象持有对其容器的弱引用。
以下两种情况经过测试并正常工作(弱引用设置为空并释放内存):
- 具有接口和 CoClass 的单个 COM 库。
- 两个 COM 库,一个带有接口,另一个带有 CoClass
但是,当我将 coclass 放在两个单独的库中时,代码会产生“无效的类类型转换”,删除 [weak] 属性时错误就会消失。请原谅奇怪的样本,其目的只是为了使问题最小化,不应被视为标准编码实践
这是第一个为容器定义接口和 CoClass 的库 .ridl 文件:
这是我的容器实现
我的第二个库引用了第一个并且仅包含我的内容接口的 CoClass
及其使用弱引用的实现
我测试如下
为什么在拆分实现时会出现错误?我怎样才能缓解这个问题?
android - Delphi'无法解析单元名称'FireDac.phys.mysql'
我想在 Delphi Berlin 10.1 中将我的项目构建为一个 android 应用程序。唯一的问题是,当我将目标平台更改为 Android 时,它'无法解析单元名称'FireDac.phys.mysql'。
虽然一切正常,我可以在目标平台 32 位窗口中构建。
我必须为android指定一个特殊的路径位置吗?还是我错过了其他东西?
android - startActivityForResult,结果不在主线程内
我正在使用 Delphi 10.1 Berlin。
XE7下一切正常。
现在当我开始一个活动时,结果似乎是在一个线程中处理的,同步/队列会挂起整个应用程序。因为我需要显示一个 TDialogServiceAsync.InputQuery,如果我不同步,我会收到一个异常,告诉我必须从主线程显示我的消息(在 XE7 下工作得很好)
这是“正在”工作的简化代码(经过测试):
称呼 :
处理程序:
除了这个例外(原件和翻译......):
'Les messages doivent être affichés dans le thread principal de l'interface utilisateur'
'消息必须从用户界面主线程显示'
delphi - SynEdit 不会安装在 Delphi 10.1 Berlin Starter Update 1 中
我正在尝试将 SynEdit 安装到我新升级的 Delphi 10.1 Berlin Starter Update 1 中,但它不起作用。其他人似乎也有这个问题,但我不知道如何解决它。https://forums.embarcadero.com/thread.jspa?messageID=850362
有人能帮助我吗?我正在尝试使用 GetIt 包管理器。我还尝试从我从 Internet 下载的源安装它。
delphi - 为什么应用程序以不同于 Default8087CW 的 FPU 控制字开头?
您能否帮助我了解我在 Win32 平台上的 Delphi 应用程序中的 FPU Control Word 发生了什么。
当我们创建一个新的 VCL 应用程序时,控制字设置为 1372h。这是我不明白的第一件事,为什么它是 1372h 而不是单位中Default8087CW
定义的 1332h System
。
这两者的区别:
是根据文档保留或未使用的第 6 位。
第二个问题是关于CreateOleObject
.
上述函数将控制字更改为137Ah
,因此它打开了第 3 位(溢出掩码)。我不明白为什么它在Reset8087CW
之后调用,而不是恢复进入函数之前的单词状态?
sqlite - 如何适应从 Delphi 10.1 Berlin TImageViewer 中的 sqlite blob 字段加载的图像?
我正在尝试使用 Delphi 的TImageViewer
组件在 blob 字段中显示以前保存的图像。我正在使用 Delphi 10.1 Berlin 进行开发。
图像不适合TImageViewer
组件,即使使用BestFit
命令,如下所示。图像大于组件。但如果图像不是来自数据库字段,则它适合组件。
这是我的代码:
怎么装?
xml - 在 Delphi 10.1 中生成 XML 文件并执行基本的 XML 操作?
我想使用以下格式在 Delphi 10.1 中创建一个 XML 文件
我想从注册表单中获取数据,当单击“确定”按钮时,它应该将来自编辑框、单选按钮等的数据添加到 XML 文件中。
我是 Delphi Programming 的新手,请帮我解决这个问题。
我尝试以这种方式编写代码:
但它返回如下 XML 文件:
应用程序的 UI 就像这个Image。
<Employee/>
当我在输入数据后单击确定按钮时,它应该通过每次单击确定按钮时创建一个新节点来将数据写入 XML 文件。
delphi - Delphi中暂时禁用TvertScrollBox组件的滚动?
我正在柏林 Delphi Rad Studio XE10.1 中为 IOS 和 Android 设备制作应用程序,但我遇到了问题。
在一个表单中,我有一个TvertScrollbox
,其中有很多组件要显示,其中一个是Tlistview
.
问题是,当我在中滚动时Tlistview
,因为显示的数据更多,也会在 中滚动,TvertScrollbox
最终无法正确可视化数据。
有没有办法暂时禁用滚动,TvertScrollbox
然后再次启用?
我希望我已经解释得很好。我的英语很差,谢谢。
android - Delphi Android 应用程序 - 检测设备是否有互联网连接
如何从我的 FireMonkey 应用程序中检测 Android 设备是否具有互联网连接(WiFi 或移动互联网)。我知道我可以使用 Indy 组件...尝试 Ping google.com ...并在超时时等待异常,但我想知道是否存在一些适用于 Android 的“不错”本机解决方案,
我使用 Delphi XE10.1 Berlin