问题标签 [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.
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 无需太多代码就可以工作,所以我不得不就这个异常寻求帮助。提前致谢!
delphi - Delphi 使用 TNetHTTPClient:重定向后如何给出最终的 url?
我在 Delphi 10.3.1 中使用带有 GET 命令的 TNetHTTPClient,我需要在页面重定向后获取最终 URL。它有什么属性或功能吗?谢谢。
multithreading - 为什么线程中的代码执行了两次?
如标题所示,为什么以下代码执行了两次(Test
在控制台中执行了 2 次)以及如何解决?
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 在哪里?
delphi - TNetHTTPClient 和 Delphi 10.3 的连接超时
我尝试在 TNetHTTPClient 上为无响应的站点设置 6 秒的连接超时:
但它不起作用,超时似乎总是相同的默认值(大约 1 百万) 我是否缺少 ConnectionTimeout 或我的代码的某些内容?
编辑:好的,我的错误,对于这个测试,我使用了一个(坏的)代理,它是没有响应的代理。因此,在代理不响应的情况下,ConnectionTimeout 似乎效率不高。我将发布有问题的模式代码示例。
编辑2:所以它似乎更像是“解决超时”而不是“连接超时”,代码:首先经典连接一切正常(即使超时不是很准确)。
结尾;
现在超时(使用错误的代理):
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”。
建议?
delphi - 如何将 TreeViewItem 带入可见(滚动)区域
我正在寻找一种通过代码导航到树视图中的项目的方法。该对象应移动到可见区域。我在 TTreeView 或 TTreeViewItem 中都找不到方法。
以下方法并非在所有情况下都有效,因为项目位置并不总是更新:
delphi - HTTPRio.HTTPWebNode.OnBeforePost 在 Delphi 10.3 中更改,丢失参数数据
我有一个组件使用HTTPRio.HTTPWebNode.OnBeforePost
了以前使用过的data
参数,但在 Delphi 10.3 版中,这个参数被替换了。
在德尔福 10.3 之前:
在这段代码中,我使用internetsetoption
了,我现在应该如何在 Delphi 10.3 中继续?如何获取data
参数?