【问题标题】:TFDMoniFlatFileClientLink irregularly does not trace to fileTFDMoniFlatFileClientLink 不定期不跟踪到文件
【发布时间】:2017-12-15 11:05:25
【问题描述】:
我在表单上有一个TFDMoniFlatFileClientLink,文件名设置为d:\temp\monitor.txt,tracing=true,TFDConnection.Params.MonitorBy=mbFlatFile。这有时有效,有时不追踪任何东西。没有文件被创建。
使用 Win7 32 位应用程序测试,设计时间 TFDConnection 到 FireBird 或 Oracle。德尔福东京 10.2.1
发生了什么事?
【问题讨论】:
标签:
delphi
monitoring
trace
firedac
delphi-10.2-tokyo
【解决方案1】:
这是一个非常奇怪的错误:
事实证明,TFDMoniFlatFileClientLink 在删除和放回时会记住文件名,然后不跟踪。
复制:
删除TFDMoniFlatFileClientLink,可选择保存项目,再次在表单上放置TFDMoniFlatFileClientLink,设置tracing=true。它神奇地记住了文件名d:\temp\monitor.txt(在哪里?),然后要么不追踪,要么追踪到C:\Users\username\AppData\Local\Temp\traceX.txt。
只有当您更改文件名时,它才能再次成功跟踪。*
TFDMoniRemoteFileClientLink 也会发生类似的奇怪事情,它通常不会创建跟踪输出以供 FDMonitor 获取。我尚未调查发生这种情况的确切条件。
我在跟踪以下问题后在测试应用中发现了此问题,可能与此有关:**
设计时TFDConnection 在运行时填充其参数。我执行了TFDConnection.Params.Add('MonitorBy=mbFlatFile'),但应用程序没有跟踪。我在运行时验证了MonitorByInitial=true。 Params.Add('MonitorBy=mbRemote') 也失败了。
在设计时将TFDMoniFlatFileClientLink 和TFDMoniRemoteClientLink 放置在数据模块上。
已在 Embarcadero 质量门户中报告,问题为 RSP-19554
* 即使您将其更改为相同的文件名。如果你在运行时这样做,你必须在 FileName 分配周围设置Tracing=false/true。
** 嗯,不相关。报告为RSP-19559