问题标签 [delphi-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 回答
524 浏览

delphi - TIdHTTPProxyServer 引发“未知协议”RSHTTPUnknownProtocol 异常

我正在使用 Delphi 10.3 Rio 重新编码一个旧的 Delphi XE 程序。它使用 TIdHTTPProxyServer Indy 组件监听 127.0.0.1:80。

为了测试,我在 hosts 文件中添加了 127.0.0.1 localtest123.com 和 127.0.0.1 www.localtest123.com 并禁用了 DNS 缓存服务。然后在多个浏览器中我请求http://localtest123.com/http://www.localtest123.com/。使用 OutputDebugString() 我可以看到连接被接受,但随后引发“未知协议”错误。

我在 IdHTTPProxyServer.pas 中的 TIdHTTPProxyServer.CommandPassThrough 过程中调试了异常。似乎 LURI.Protocol 是一个空字符串,这就是引发 RSHTTPUnknownProtocol 的原因。

我可能遗漏了一些东西,但 TIdHTTPProxyServer 无需太多代码就可以工作,所以我不得不就这个异常寻求帮助。提前致谢!

0 投票
1 回答
714 浏览

delphi - Delphi 使用 TNetHTTPClient:重定向后如何给出最终的 url?

我在 Delphi 10.3.1 中使用带有 GET 命令的 TNetHTTPClient,我需要在页面重定向后获取最终 URL。它有什么属性或功能吗?谢谢。

0 投票
1 回答
233 浏览

multithreading - 为什么线程中的代码执行了两次?

如标题所示,为什么以下代码执行了两次(Test在控制台中执行了 2 次)以及如何解决?

0 投票
0 回答
317 浏览

delphi - Firedac 与具有字符集 xxx 的 firebird 2.1 的连接错误

我尝试使用 Delphi 10.3 Rio 将 firedac 连接到 firebird 2.1 字符集 ISO8859_1。如果我在工作目录中使用嵌入式 fb,则连接正常。如果没有嵌入式 fb 并且 firebird 服务器停止,它仍然连接但出现:错误是字符集 ISO8859_1 未定义。

如何找到 Delphi 10.3 Rio 连接的嵌入式 fb 在哪里?

0 投票
1 回答
2068 浏览

delphi - TNetHTTPClient 和 Delphi 10.3 的连接超时

我尝试在 TNetHTTPClient 上为无响应的站点设置 6 秒的连接超时:

但它不起作用,超时似乎总是相同的默认值(大约 1 百万) 我是否缺少 ConnectionTimeout 或我的代码的某些内容?

编辑:好的,我的错误,对于这个测试,我使用了一个(坏的)代理,它是没有响应的代理。因此,在代理不响应的情况下,ConnectionTimeout 似乎效率不高。我将发布有问题的模式代码示例。

编辑2:所以它似乎更像是“解决超时”而不是“连接超时”,代码:首先经典连接一切正常(即使超时不是很准确)。

结尾;

现在超时(使用错误的代理):

0 投票
1 回答
175 浏览

delphi - 当 MetaDataType 为 mtTableFields 时,如何转换 TFDMetaInfoData 返回的 Column_Attributes 字段?

当使用带有 mtTableFields MetaDataType 的 TFDMetaInfoQuery 时,文档说将返回的 Column_Attributes 字段转换为 TFDDataAttributes 类型,以便检查特定字段的属性,例如不需要 (caAllowNull) 和 caReadOnly。这究竟是如何完成的?考虑以下代码段,它返回有关 MyTable 字段的数据表:

转换 Column_Attributes 列的行会生成 Invalid typecast 的编译器错误。我尝试将 Column_Attributes 字段作为变体和其他几种类型,但我不断收到相同的错误。顺便说一下,Column_Attributes 列的数据类型是 dtUInt32。FireDAC 帮助说“将值转换为 FireDAC.Stan.Intf.TFDDataAttributes”。

建议?

0 投票
1 回答
512 浏览

delphi - delphi gridpanel最后一行高度问题

如何避免gridpanel最后一行比其他行占用更高?我有 10 行 10% 的值

在此处输入图像描述

如果我追加一个 0% 的新行,前一行往往是最后一行,采用正确的高度,但borders底部出现我不希望的新行

在此处输入图像描述

0 投票
1 回答
154 浏览

delphi - 如何将 TreeViewItem 带入可见(滚动)区域

我正在寻找一种通过代码导航到树视图中的项目的方法。该对象应移动到可见区域。我在 TTreeView 或 TTreeViewItem 中都找不到方法。

以下方法并非在所有情况下都有效,因为项目位置并不总是更新:

0 投票
0 回答
127 浏览

delphi - 更改表单的标题会更改系统栏标题背景的颜色?

在某个按钮上单击我将表单的标题设置为这样的文件名:

我正在使用 FMXStyle Coral Dark。

这是图像:系统栏

0 投票
0 回答
952 浏览

delphi - HTTPRio.HTTPWebNode.OnBeforePost 在 Delphi 10.3 中更改,丢失参数数据

我有一个组件使用HTTPRio.HTTPWebNode.OnBeforePost了以前使用过的data参数,但在 Delphi 10.3 版中,这个参数被替换了。

在德尔福 10.3 之前:

在这段代码中,我使用internetsetoption了,我现在应该如何在 Delphi 10.3 中继续?如何获取data参数?