问题标签 [delphi-5]
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 - 使用 Indy 在 Delphi 5 中下载 CSV
我知道有很多 Indy 线程,但我找不到与我的情况相匹配的线程。
我收到了一个带有用户名和密码表单的 URL。然后对有多个超链接的 URL/reports.php 执行操作。
这些链接中的每一个都将指向带有 URL 变量的页面,例如,reports.php?report=variablename 将立即开始下载。
到目前为止我的想法:
每次尝试我都会收到“IOHandler 无效”错误。显然我没有正确地发布到初始页面,但谁能告诉我我错过了什么?我也可以在登录后直接点击下载 URL 还是必须使用 cookie?
谢谢
delphi - Delphi 5 Indy/ics SSL 解决方法?
我收到如下错误:
“IndyProtocols5 不使用或不支持 IdSSLOpenSSLHeaders..”
当尝试用我的 Delphi5 安装 Indy 9 或 10 时,注意到这对其他人来说是个问题。这会导致异常:
“无法加载 SSL 库”
使用 IdHttp.IOHandler 时。
我继承的应用程序包括许多不受支持的 D5 组件,不幸的是升级到 D6+ 超出了我的技能范围。我想最初使用 Indy 发布和下载 CSV,但也可能调用 Web 服务。
是否有已知的解决方法,或者我应该开始寻找其他选项,例如 ICS,它可能仍然适用于 D5。
谢谢
delphi - Delphi OpenTools API:如何获取 AfterCompile 通知?
OpenTools API 定义了一个接口,用于在编译之前和之后得到通知:
我创建了一个导出此界面的向导:
并通过以下方式注册向导:
但两者都不是:
IOTAIDENotifier.BeforeCompile
IOTAIDENotifier.AfterCompile
IOTAIDENotifier.FileNotification
IOTAIDENotifier50.BeforeCompile
IOTAIDENotifier50.AfterCompile
被称为。我究竟做错了什么?
唯一叫过的就是
IOTAWizard.GetName
IOTAWizard.GetIDString
以该顺序。
delphi - Delphi OpenTools API:如何获取目标 exe 名称?
给定一个,我如何获得目标可执行文件的名称IOTAProject
?
来自GExpert 的 OpenTools API 常见问题解答:
如何确定二进制/exe/dll/bpl/ocx/etc 的文件名。由编译或构建生成?
- 对于 Delphi 8 或更高版本,请使用IOTAProjectOptions.TargetName
.
- 对于早期版本,该方法实现起来要复杂得多,因为它可能涉及扫描指定项目可执行文件扩展名的$E指令,然后在“OptputDir”指定的路径上查找二进制文件项目选项,或项目目录(如果该选项为空)(在许多其他可能性和复杂性中)。实现此类工具的最佳方式可能是从CodeGear CodeCentral 示例 ID 19823中的示例代码开始。
就我而言,我适合后者。给定一个IOTAProject
接口,它的胆量是什么:
如果是 Delphi 8 或更高版本,(未经测试的)答案是:
但更难的是复杂的预德尔福 8。
Jedi JCL 内部有十几种方法TJclOTAExpert
,它们可以一起用来模拟:
我将努力通过该代码。几周后,我希望能够发布我自己问题的答案。
但与此同时,我会打开它,让其他人因能够回答我的问题而获得声誉。
delphi - Delphi5中的浮点除零异常
我的应用程序是用 Delphi5 编写的。我正在使用 madExcept 来追踪错误。我找到了一个“零浮点除法”异常,它不应该出现在哪里。引发它的代码段如下所示:
其中“c”实际上总是具有值“1”。
日志的堆栈跟踪:
我在某个时候遇到了另一个异常,确实发生了除法,但是除数是一个变量,当异常发生时它的值也为“1”。我能够调试和重现。
我的问题:我错过了什么?是否有一些我不知道的关于浮点除法的误报?
此外:我没有在异常点使用任何 C++ DLL,因为它们倾向于以不同的方式处理 FP 除法(返回 NaN 或 +/-INF 而不是引发异常)。
任何指针表示赞赏。
delphi - TWebBrowser 与嵌入的 Youtube 剪辑一起崩溃
这是我的代码:
测试.html
我的应用程序在这两种方法中都崩溃了。我得到一个未处理的 win32 异常(由 Flash player 引起Exception EInvalidOp in module Flash10u.ocx at 00108657. Invalid floating point operation
)。
- 我在 D5、D7、D9 上尝试了此代码。
- 我试图重新导入 SHDocVw.dll。
- 我还尝试使用 EmbeddedWB 控件而不是 TWebBroser ...
- Internet Explorer/Avant/Maxthon 对这个 HTML 没有任何问题(都基于 IE ActiveX)。
有什么建议或修复吗?
我怎样才能捕捉到这个错误,甚至抑制它?
有没有办法通过 TWebBrowser 事件即时操作或更改 HTML,这样我就可以显示图像而不是 Flash 播放器,就像 Ad-Blockers 的工作原理一样?(我的客户通过 Internet 在他们的站点中拥有该代码,我的 Delphi 应用程序提供了快速预览)
更新
我使用 TTimer 来启用/禁用 FPU(基于 Arjen 的想法):
更新 (2)
我最终在应用程序启动时屏蔽了 FPU 异常。从那以后,对我的申请没有(已知的)影响。
delphi - delphi - 带有可包装项目的 TRAdioGroup
我需要一个关于 Delphi 5 的小例子,说明无线电组中的项目文本如何在需要时换行。
我在 Delphi 2006 中通过访问按钮属性解决了它,但在 D5 中该属性不存在。
LE:除了 SetWindowLong 之外还有其他解决方案吗?
delphi - Delphi 5 - TField 上的大小不匹配
在 ADOQuery 上,我创建了一个 String Tfield 并将其大小设置为 24(来自 Fields Editor)。
当我尝试为该字段分配 24 个字符长度的字符串(qry.fieldbyname('fieldname').asString
时,只添加前 20 个字符。我不明白为什么。
delphi - TIBDataSet.ExecSQL
我是 delphi 的新手,我非常喜欢它,我正在使用 delphi 5 开发一个项目,我运行了一些如下代码:
代码使用了两个条件定义,第一个完美运行,但另一个让编译器发疯!它说“ExecSQL”由于某种原因是一个未声明的标识符......
该代码应该可以完美编译,但由于某种原因,它尖叫 ExecSQL 不正确,欢迎任何帮助。
delphi - Sybase 12.5-BDE-ADO “where myColumn=null”失败
我们有一个旧应用程序读取 SQL 文本文件并将它们发送到 Sybase ASE 12.51。我们的旧应用程序是用 Delphi 5 编写的,并且在此过程中使用 BDE TQuery 组件,并使用 BDE SQLinks for Sybase 访问 Sybase。
伪代码:
最近,我们使用 Sybase 提供的 ADO 提供程序将 DB 访问层移至 Delphi XE ADO 实现 - TADOQuery,仍然使用相同的模型:
迁移到 ADO 后,我们发现某些数据丢失了。我们将失败追溯到这个 SQL 构造:
知道这个结构在语义上充其量是有问题的,当我看到这段代码时,我做了一个“双重考虑”,但 Sybase 12.5 接受它 - 但是使用 ADO,这个段失败了。
我们决定改变:
到
然后加载丢失的数据 - 解决了这个部分和其他几个部分的问题。
有人对这种行为有解释吗?ADO 在哪里/为什么明显拦截并拒绝了这个序列,而 BDE 却通过了它?
TIA