当表单关闭时,实际保存在 INI 文件中的是什么?
也许,只是也许,JFS 偶尔会采取措施不将表格带到显示之外,从而忽略太极端的值。尝试跟踪 INI 加载序列以查看它在哪种情况下被忽略。要缩小目标,请尝试发布和跟踪RestorePlacement
方法。
现在您已经引用了 ini 文件,这似乎是正确的行:NormPos=135,734,623,1367
因此,再次添加对上述的调用RestorePlacement
并逐行跟踪它。您会看到未读取 INI 文件或未应用值。
很可能你会procedure InternalRestoreFormPlacement
以JvJVCLUtils.pas
. 继续跟踪它以查看未从 INI 读取数据或未能分配数据的位置和原因。
同样,即使您无法解决,您还有两个选择:
使用StoredProps
属性(非方法)很简单:双击 JSF 组件,将 Form 的 Left/Top/Width/Height 属性添加到保存列表中,form position
然后从保存列表中取消选中。
使用StoredValues
属性(不是方法)很简单:双击pproperty,然后添加一个字符串属性或4个整数属性。使用组件OnRestorePlacement
和OnSavePlacement
事件将它们从/更新到表单的实际位置。
PS。采取安全措施,如果用户更改显示、显示计数或显示分辨率,则窗口不会位于屏幕之外。
聚苯乙烯。JvFormPlacement 和 JvFormStorage 示例可以检查为 d:\DelphiProjects\Libs\JediVCL\jvcl\examples\JvAppStorage\*.*
购买力平价。JediVCL 官方论坛在http://newsportal.delphi-jedi.org/index.php