问题标签 [delphi-11-alexandria]

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

delphi - 将文件拖动到其中一个节点上时,从不调用 TRzShellTree.OnDragOver

在 Delphi 11 Alexandria 的 Windows 10 中的 32 位 VCL 应用程序中,我有一个TRzShellTree(来自 GetIt 中可用的 Konopka Signature VCL Controls 7.0):

...我尝试获取有关从 Windows 文件资源管理器拖动到OnDragOver事件处理程序中的一个节点上的文件的信息:

具体来说,我需要获取拖到节点上的文件的文件路径。如果文件是特定类型(例如 .DPROJ),我将设置 var 参数Accept = True,然后进一步处理文件路径。

但不幸的是,OnDragOver当我将文件拖到其中一个节点上时,永远不会调用事件处理程序!

但我只需要接受特定的文件类型并将其展示给用户。我怎样才能做到这一点?

0 投票
2 回答
94 浏览

shell - 如何从 TRzShellTree.OnAddItem 事件处理程序中的 PItemIDList 参数中提取文件夹路径?

在 Delphi 11 Alexandria 的 Windows 10 中的 32 位 VCL 应用程序中,我有一个TRzShellTree控件(来自 GetIt 中可用的 Konopka Signature VCL Controls 7.0 的 Ray Konopka):

...在TRzShellTree.OnAddItem事件处理程序中,我需要获取每个添加文件夹的 PATH:

我认为这可以通过从ItemRelIdList: PItemIDList参数中提取路径来完成。但我不知道该怎么做。

0 投票
2 回答
49 浏览

delphi - 如何从TRzShellTree中的节点获取路径信息?

在 Delphi 11 Alexandria 的 Windows 10 中的 32 位 VCL 应用程序中,我有一个TRzShellTree控件(来自 GetIt 中流行的 Konopka Signature VCL Controls 7.0 中的 Ray Konopka)。

我遍历TRzShellTree控件的节点以将一些特定信息附加到每个节点的文本,从节点的文件夹路径中检索:

但是,我需要每个节点的完整路径来获取该信息。查看TRzShellTree方法,似乎没有办法获得节点的完整路径。

那么如何从每个节点获取完整路径呢?

0 投票
4 回答
130 浏览

validation - 如何在用户单击确定之前验证 InputQuery 用户输入?

在 Delphi 11 Alexandria 的 Windows 10 中的 32 位 VCL 应用程序中,我向用户显示了一个 INPUT DIALOG:

有没有办法在他点击确定按钮之前验证用户的输入?(例如,检查不允许的字符、现有文件夹等)。在用户单击确定后,在输入无效的情况下重复整个输入操作并不是很聪明和高效:

此外,使用这种方法,对于任何无效输入的具体原因,用户都没有反馈。

0 投票
1 回答
47 浏览

delphi - 如何在 PopupMenu.OnPopup 事件处理程序中选择右键单击的 TreeView 节点?

在 Delphi 11 Alexandria 的 Windows 10 中的 32 位 VCL 应用程序中,我有一个 TreeView (TTreeView后代),其中MultiSelect = FalsePopupMenu = PopupMenu1,所以当我右键单击 TreeView 中的一个节点时,然后PopupMenu1被调用。

PopupMenu1.OnPopup事件处理程序中,我需要以编程方式选择右键单击的节点。我怎样才能做到这一点?

示例:在以下屏幕截图中,预选了第一个节点。当我右键单击最后一个节点以调用弹出菜单时,最后一个节点也会在视觉上被选中(尽管MultiSelect = False!):

在此处输入图像描述

但是,当我尝试在PopupMenu1.OnPopup事件处理程序中检测所选节点时:

...然后 CodeSite 报告仍然选择了第一个节点!

那么如何设置PopupMenu1.OnPopup要选择的事件处理程序中的右键单击节点?

(请注意,TreeView 的OnMouseDown事件处理程序在PopupMenu1.OnPopup事件处理程序之后执行)

显然,TPopupMenu班级缺少OnBeforePopup活动!

0 投票
0 回答
71 浏览

delphi - 在 Delphi 11 中构建 Windows 商店应用程序失败

我正在尝试在 Delphi 11 (MSIX) 中构建 Ad Hoc Windows Store 应用程序,但是当我尝试构建 MSIX 文件时出现错误。

[PAClient 错误] 错误:E5128 MakeAppx:错误:错误信息:错误 C00CE169:应用程序清单验证错误:应用程序清单必须根据架构有效:第 6 行,第 13 列,原因:“%projectName%”违反了“模式约束” [-.A-Za-z0-9]+'。

[PAClient 错误] 错误:E5128 无法解析值为 '%projectName%' 的属性 'Name'。

事实上,在AppxMainifest.xml文件的第 6 行,包含%projectName%.

我假设版本信息中有一些我需要设置的东西,但我不确定是什么。有人知道吗?

还有

那个好像没换

0 投票
0 回答
40 浏览

delphi - 如何摆脱 TRichEdit 中内置的粘贴快捷方式?

在 Delphi 11 Alexandria 的 Windows 10 中的 32 位 VCL 应用程序中,我有一个TRichEdit控件。(请注意,TRichEditDelphi 11 Alexandria 中的类与以前的 Delphi 版本不同)。

现在,它似乎TRichEdit有一个内置粘贴命令和快捷方式:当我按下 CTRL+V 时,剪贴板内容被插入(图像、格式化文本)。

到目前为止,一切都很好。但是为了允许用户显式粘贴纯文本(即未格式化的文本)——即使剪贴板上有格式化的文本,我也创建了一个“粘贴纯文本”菜单项命令:

我已为此命令分配了快捷键 SHIFT+CTRL+V。(此快捷方式在许多应用程序中广泛用于粘贴未格式化的文本)。但是,当我在 RichEdit1 中键入 SHIFT+CTRL+V 时,会粘贴剪贴板中的 FORMATTED 文本!显然,RichEdit1 中的内置 SHIFT+CTRL+V 命令的优先级高于我的自定义快捷方式。

那么,如何摆脱 RichEdit1 中内置的 SHIFT+CTRL+V 命令来粘贴纯文本呢?

0 投票
2 回答
108 浏览

delphi - Delphi11中的tab自动替换为空格

我正在使用德尔福 11.0(28.0.42600.6491)。在代码编辑器中键入一些选项卡,然后在短暂的停顿后键入任何字符。然后,我发现选项卡会自动替换为空格。

它似乎是在已经存在的行之后输入字符时发生的。我的问题就像 GIF 图像(动画)。

我不想要那个。选项卡必须是严格的选项卡。有没有什么设置或方法可以做到这一点?

在此处输入图像描述

0 投票
0 回答
26 浏览

android - Delphi 11 FMX TWebBrowser 看不到 Android 上安装的 CA 证书

在突触中,我制作了一个简单的 HTTPS 服务器,我创建了自己的 CA 并签署了服务器证书,一切都在 Windows(Chrome、Edge)上运行,但问题出在 Android 上,有一个简单的测试应用程序只加载 HTTPS 服务器通过 TWebBrowser。

  1. 当我尝试通过 Chrome 或其他浏览器加载页面时,未验证连接,服务器报告已建立 TLS1.3 连接并出现错误:错误:14094416:SSL 例程:ssl3_read_bytes:sslv3 警报证书未知,这是很好,因为我没有在 android 上安装 CA

  2. 当我在 Android 上安装 CA 并尝试再次打开网络浏览器时,一切正常

  3. 当我运行测试应用程序时,服务器报告的错误与我尝试在未安装 CA 的浏览器中打开站点时相同

我在两部手机上试过,安装CA后我也试过重置它,什么都没有,是否需要在android应用程序上设置一些权限或制作清单?看起来应用程序只是看不到用户安装的 CA 证书。

0 投票
1 回答
70 浏览

delphi - 如何在 TListView 水平滚动结束时收到通知?

在 VCL 应用程序中,我试图在TListView使用此插入器类代码结束水平滚动时收到通知:

但是,只有在滚动时,我才会不断收到通知WM_HSCROLLWM_VSCROLL生成大量消息。

但我只需要在水平滚动结束时收到通知!这可能吗?