问题标签 [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.

0 投票
2 回答
1046 浏览

delphi - 编译错误:[dcc32 错误] E2064 左侧无法分配给

我是 Delphi 的新手,并尝试Setup.e32使用带有 Delphi 10.1 Berlin 的 Inno Setup 的源代码来编译 Inno Setup 的文件。

但问题是当我尝试编译时,我不断收到错误[dcc32 Error] uPSUtils.pas(944): E2064 Left side cannot be assigned to.

我不知道如何解决这个问题,并且还阅读了本网站中询问该错误但甚至无法确定此代码有什么问题的问题。

代码的部分:

这些代码有什么问题?

在我创建compilesettings.bat并单击compile.bat以编译非 Unicode Inno 安装程序(现在我安装了 Delphi 7.............)之后,这就是发生的事情。

这是按照指示后发生的............

0 投票
1 回答
141 浏览

delphi - Delphi Berlin Data Breakpoint Invalid Address / Address for Data Breakpoint 使我无法理解

Delphi 10.1 柏林/Windows 10 x64

我的 Google-Fu 没有找到这个。

“添加数据断点”需要地址,如何找到?默认地址是$0,我想不通怎么获取我想看的变量的地址?我尝试突出显示变量,然后请求数据断点,但没有:什么都没有。

任何帮助,将不胜感激!谢谢!

0 投票
0 回答
859 浏览

delphi - Delphi Berlin 禁用自动完成功能

在 RAD Studio 中,您可以使用<ctrl + space>来显示单词列表以自动完成名称。但是,如果你正在做这样的事情:

并使用快捷方式,进行选择,它将生成:

由于一些原因,这似乎毫无意义,但最重要的是,如果你正在完成一个类名,它甚至不会编译它。它迫使您返回,删除开始和结束标签,然后按结束键到达行尾。非常糟糕的设计(但话又说回来,他们让你点击他们 IDE 中的行尾,这再次显示了设计,因为你不能关闭这个“功能”)。

有没有办法阻止他们自动完成“乐于助人”?如果这是一个常规的非类方法,它可能会很好,但考虑到我不写直接的程序 Delphi,它非常愚蠢,当我不得不回去删除它时它会扼杀我的思维流尝试提供帮助。

0 投票
4 回答
875 浏览

delphi - 在 Delphi 10.1 Berlin 中使用 VCL 样式时,TSaveDialog 的属性“ofOverwritePrompt”不起作用

  1. 创建一个新的 VCL Forms 应用程序
  2. 在主窗体上添加一个 Tbutton 和一个 TSaveDialog

  3. 在 SaveDialog1 的属性中将“ofOverwritePrompt”设置为 True

  4. 利用:

    /li>
  5. 运行应用程序。按下按钮执行保存对话框。尝试保存到已经存在的文件。如果要替换文件,将出现一个消息框。按取消。到目前为止一切都很好。关闭应用程序。

  6. 转到项目/选项/应用程序/外观并选择自定义样式(例如 Amakrits)。将 Amakrits 设置为默认样式。

  7. 按照上面的 #5 运行应用程序。只会显示一小部分消息框。您必须按 Enter 才能继续。

(使用 TFileSaveDialog 将给出相同的结果)

如果我使用 Delphi XE8 编译和运行应用程序,它会没问题,因为即使选择了另一种样式,保存对话框窗口似乎也使用默认的窗口样式。

编辑:我有 Windows 10 专业版。使用 Delphi 10.1 Berlin 编译为 win32 的源代码。替换消息框部分隐藏。只显示了一个小的左上部分,见图。

替换消息框部分隐藏。 只显示了一个小的左上部分。

这里是用 XE8 win32 编译的:

在此处输入图像描述

附言。我使用默认的 100% 比例因子。

用win64(Delphi 10.1 Berlin)编译似乎没问题:

在此处输入图像描述

所以,编译到 win32 对我不起作用,但 64 位会。有什么线索吗?

编辑:在 win32 中尝试使用“GetSaveFileName(OFN)”对我也不起作用(win 64 可以):

在此处输入图像描述

0 投票
0 回答
122 浏览

delphi - UI 功能区引发 OLE 异常

使用 Erik Van Bilsen (GitHub) 中的工具创建功能区样式菜单,并仔细按照说明将简单功能区菜单合并到 Delphi 10.1 中的新 VCL 表单应用程序中,我在运行我的时遇到了 OLE 异常(未指定)应用程序。错误发生在下面指示的行:

有什么建议么?

0 投票
1 回答
299 浏览

delphi - 如何在 Delphi-Berlin 中访问触控板手势?

我有 2 台内置多点触控触控板的笔记本电脑,一台是 Acer Switch,另一台是 ASUS Zenbook,一直在尝试让我的 Delphi 应用程序感知手势。

我曾认为触控板手势会映射到触摸屏手势,但这似乎并非如此,因为在触控板上进行缩放或平移不会触发 ongesture 事件。

触控板手势适用于 Firefox 等其他应用程序,因此必须能够捕获它们。

看起来两个手指垂直滚动被映射到 Delphi mousewheelup 和 mousewheel down 事件。我似乎无法弄清楚如何捕获其他类型的事件。

关于如何做到这一点的任何线索?

更新 - 我找到了有关触控板手势的 MS 文档,看来它们已转换为鼠标滚轮事件。

https://msdn.microsoft.com/en-us/library/windows/hardware/dn614021(v=vs.85).aspx

Delphi 鼠标在捕获这些消息时似乎存在一个错误,因为它没有捕获水平鼠标滚轮消息。

此外,触控板垂直平移会产生与鼠标滚轮滚动相反的滚动方向。

0 投票
1 回答
761 浏览

android - 防止 FireMonkey 缩小照片

问题:

我在 FireMonkey(XE 10.1 Berlin)中有一个需要拍照的移动应用程序。问题是 FireMonkey 似乎将我的图片重新调整为小得多,至少在 Android 上是这样。我不仅在我自己的应用程序中看到了这种情况,而且在 FireMonkey 附带的 PhotoEditor Demo 应用程序中也看到了这种情况。

当我在 FireMonkey 外面用相机拍照时,图像大小约为 6-7 Mb,大小为 5184 x 2916 像素。
当我使用我的应用程序或 PhotoEditor 演示应用程序拍照时,图像大小在 140 到 180 kB 和 365 x 648 像素之间。

这发生在 Android 上;我手边没有 Mac,所以目前无法在 iPad 或 iPhone 上进行测试。

到目前为止我发现了什么:

我在代码中设置了断点以找出发生这种情况的位置。当OnDidFinishTaking事件处理程序被调用时,它接收到的图像已经被缩小了。

该事件是从procedure TImageManagerAndroid.DidReceiveBitmap(const Sender: TObject; const M: TMessage);in调用的FMX.MediaLibrary.Android.pas。在这种情况下,我看到这条线:

ImagePath指设备上的 .jpg 文件,该文件已经缩小。

再往下看调用堆栈,我看到一个调用

这个程序存在于FMX.Platform.Android.pas. 在查看此过程的声明时,我发现它后面跟着关键字cdecl,这可能暗示此方法是从原生 Android 代码调用的。

我也看过这个教程。在这里,IFMXCameraService.TakePhoto使用该过程。值得注意的是,PhotoEditor 演示中没有使用这个!
使用它可能是一个选项,因为它采用包含RequiredResolution字段的参数的记录。但是,我更喜欢使用类似于 PhotoEditor 演示的方法。

问题:
如何防止 FireMonkey 缩小我的照片?

0 投票
0 回答
919 浏览

delphi - 在 Delphi 10.1 Berlin 中使用 firemonkey 样式时,TComboBox 列表不会下拉

我在 Delphi 10.1 Berlin 中的 FMX TComboBox 组件有问题(我在早期的 XE 版本中也看到过)。问题是这样的。

我创建了一个新的多平台项目,将一个 TComboBox 放在一个空表单上,向 TComboBox.Items 添加一些项目,就像您在 VCL 中所做的一样(这是 FMX)。运行它并单击 TComboBox 的按钮,项目将按应有的方式显示在下拉列表中。

接下来,我将 TStyleBook 放在表单上,​​将表单与 StyleBook 链接,并从 Delphi 10.1 Berlin 附带的 Premium firemonkey 样式中加载 Copper .style。

现在,当我运行应用程序时,当我单击下拉按钮时,组合框的项目不会显示。但我可以使用向上和向下箭头键选择项目。如果我清除样式,组合框将再次起作用。

所以,显然风格有问题(尝试过其他具有相同效果的)或者我错过了一些东西。

(我也尝试使用右键菜单中的 Add TListBoxItem ,但问题仍然存在)。

0 投票
2 回答
1986 浏览

android - 如何使用 DELPHI 在 Android 设备上更改通知中的小图标图像

有什么办法可以用Delphi更改Android应用程序通知中的小图标图像(默认使用的应用程序图标)?

轻松创建通知的标准方法是:

我知道 Java 的解决方案,但我不知道在 Delphi 中如何编程。

给我一个建议?

0 投票
2 回答
165 浏览

http - 如何更快地分析 HTTP Post 响应

我编写了一个简单的程序来定期检查数据。问题是检查过程会随着时间的推移而减慢。首先它在一秒钟内发送 2 个帖子,大约 45 秒后它发送一个帖子,最终完全停止。我不知道这里有什么问题。