问题标签 [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 - 任务栏上显示多个实例的 SDI 应用程序
我使用 Delphi Berlin VCL 模板创建了一个 SDI 应用程序。我可以通过编程 File|New 来创建其他实例,如下所示:
只有所有者表单显示在任务栏上。此外,关闭所有者表单会关闭所有实例。如何取消链接其他实例,以便它们独立运行并单独显示在任务栏上?
delphi - 如何在delphi10中使用IdHTTP登录Instagram网站
我正在尝试在 Delphi 中使用 idhttp 登录 instagram 网站。我使用谷歌浏览器开发者工具来获取数据,这是我迄今为止尝试过的..
我现在手动获取访问令牌,只是为了测试代码。我明白了HTTP/1.1 403 Forbidden.
!
更新
这是cookies信息..
forms - 在主窗体之前创建辅助窗体,同时保持 FormMain 作为主窗体?
在带有 VCL Form 应用程序项目的 Delphi 10.1 Berlin IDE 中,在 Project Options 对话框中,我有以下设置:
现在我希望在formOptions
表单之前创建FormMain
表单,同时保持FormMain
表单作为主表单。原因是:主窗体可以在其FormCreate
过程中加载数据(formOptions
尚未创建),但要处理这些数据,它需要formOptions
窗体中的设置。
但是,只要我将formOptions
项目拖到列表顶部,上面的主表单组合框也会更改为formOptions
!
那么如何使formOptions
表单在表单之前创建,FormMain
同时保持FormMain
表单作为主表单呢?
delphi - 使用 FireDac 的 onUpdateRecord 并可选择执行默认语句
我有一个查询,它返回带有外连接的行。这会导致结果中存在的记录实际上并不存在于表中。当这些行发生更改时,FireDac 将更改视为更新而不是插入。从 FireDac 的角度来看,这种行为是有道理的,因为它无法区分。
我正在重写 OnUpdateRecord 事件以捕获那些标记为错误的行并自己执行插入。那部分工作得很好。我想不通的是如何告诉 FireDac 在其他记录上执行它的正常过程。我想我可以将 AAction 设置为 eaDefault 并且在返回时 FireDac 将继续正常处理该行。然而,情况似乎并非如此。一旦 OnUpdateRecord 就位,FireDac 似乎永远不会对服务器进行任何更新。
有没有办法告诉 FireDac 更新当前行?通过调用某些东西在 OnUpdateRecord 函数中 - 或者可能是我错过的不同返回值?
否则有没有其他方法可以将这些更新更改为插入?我查看了更改 UpdateStatus ,但这是只读的。我查看了TFDUpdateSql - 但我无法弄清楚如何仅将更新转换为插入。
如果这有什么不同,我正在使用 CachedUpdates。
这是我的 OnUpdateRecord 函数:
delphi - 访问冲突 - 我如何追查原因?
当我在我的应用程序中关闭一个表单时,我遇到了访问冲突。它似乎只有在我访问数据库几次之后才会发生,但这似乎没有意义。
我已经跟踪并将 outputdebugstring 消息放入所有相关的 OnDestroy() 方法中,但 AV 似乎不在我的代码中。
这是消息的文本:
模块“MySoopaApplication.exe”中地址 00405F7C 的访问冲突。读取地址 00000008。
如何找到应用程序 00405F7C 的位置?
Delphi 10.1 Berlin 中有哪些工具可以帮助我解决这个问题?
编辑:添加了更多信息...单击“中断”时,IDE 总是将我带到 GETMEM.INC 中的这段代码:
进一步编辑:好吧,我找到了罪魁祸首,虽然我不能老实说调试工具让我在那里 - 他们似乎只是表明它不在我的代码中。
我使用了来自网络的代码,用于查找 Windows 登录用户 - 就是这样:
一旦我用一个简单的结果替换了代码:='12345',AV 就停止了。我没有将其更改为以下代码:
这似乎有效,并且作为奖励,不会导致 AV。
感谢您的帮助,非常感谢。
ios - TFileStream.Create 在具有某些设备语言的 iOS 上失败
当我将我的 iOS 设备设置为例如越南语时,以下代码有时会失败:
TFileStream.Create 调用引发断言:“EFCreateError: Cannot create file "/private/var/mobile/Containers/Data/Application/{containerID}/tmp/MyDBfile.db" No such file or directory"。只有当设备设置为某些语言(包括越南语)时,才不会使用西欧语言提出断言。
我将创建代码跟踪到FileCreate
函数的这一行System.SysUtils
:
当提出断言时,FileHandle 为 -1。
有什么问题?
PS:在我试图找出发生了什么时,我添加了一个Fileexists
电话:
现在,在代码失败的情况下,我有以下奇怪的发现:在XCode中,它可以显示App的Container,它显示tmp/MyDBfile.db
Container中的文件,即文件确实存在(该文件仅由引用的代码,因此它是在代码成功的时间之一创建的)。但是,同时Fileexists
返回false。
该文件是一个 SQLite 文件,稍后sqlite3_open_v2
由sqlite3_close
. SQLite 是否可以将文件置于 Fileexists 返回 false 的状态?(重启应用后状态依然存在)
json - Delphi Datasnap - 如何自定义 JSON 编组
在我的 Delphi 10.1 Berlin Datasnap REST 应用程序中,我需要自定义对象的 JSON 序列化。
我想找到一个使用 JSONReflect 属性的解决方案,并且不涉及为每个特定字段创建转换器和恢复器,如Daniele Teti的这篇文章中所述。
特别是,我正在尝试序列化一个包含以下内容的对象:
- 一个二进制文件,以 JSON 表示形式转换 - 就像一个字节数组
- 一些 TDateTime 字段,以转换为 ISO 格式的字符串
我找到了Marco Cantù 的技术 PDF 文档,其中讨论了 JSONReflect 属性以启用字段转换,但我找不到有关它的文档。
任何人都可以帮助我,好吗?
delphi - 如何在 delphi 中为未发布但公共事件创建事件处理程序?
在RAD Studio 10.1 Berlin中,与以前的版本相比,有很多东西发生了变化。在 FMX 中,有一些以前发布的事件现在已更改为仅公开。
我有一个使用 TStringGrid 组件和 OnDblClick 事件的多平台项目。在 Studio 10.1 中打开此项目时,我收到警告说属性 OnDblClick 不存在。
现在的问题是如何使用不再发布的事件?
(我必须说,很难理解他们为什么不再将鼠标事件设置为已发布。据我所知,大多数普通 PC 和 OSX 机器都没有触摸功能。真正的多目标项目应该能够针对这些系统没有他们在西雅图 10 号工作室所做的麻烦)
delphi - 网格的自定义列或行 - delphi 10.1 berlin
我正在寻找一种解决方案来为 Dlphi 10.1 中的 fmx.grid 或 fmx.stringgrid 创建自定义列或行,例如 numberbox 列。有一些使用 CreateCellControl 功能的解释,但在 10.1 中不起作用