我的问题标题可能有点误导;如果是这样,我道歉。我不确定如何更好地命名它。
我正在尝试将地址验证的地理编码添加到 Delphi 7 表单(使用 CLX 构建),但我遇到了一些问题。详情如下:
- 用户应按顺序在地址字段中输入数据 - 地址、城市、州、邮政编码。
- 离开邮政编码字段后,将立即调用地址验证。(用户规范。)
- 如果地址返回为无效,则将给用户一个是/否选择,询问是否更正给定地址。(用户规范)
- 如果是,则将焦点重置到适当的字段(地址、城市、州、邮编),如地理编码 api 的结果所示。否则,继续下一个字段。
退出是/否对话框后,鼠标的行为似乎有点古怪。单击一次,看起来好像以前的表单(应该在此时关闭)正在接收焦点 - 该表单上的点击事件能够更改此表单上的某些值(预加载数据),并且如果单击鼠标,这些值将更改。禁用 on-click 事件仅意味着在新表单上单击鼠标一次,然后单击行为返回到预期的行为。
在研究这个时,我在网上看到了几件事;这些的共识是我的问题是邮政编码字段的 OnExit 事件内的消息对话框的结合。(如果我理解正确阅读的内容,MouseUp 事件似乎在两个窗口之间丢失了。)
如果我有自己的方式,我会包括一个手动按钮来运行验证。鉴于最终用户的限制将我束缚在我没有该选项的情况下,处理这种情况的最佳方法是什么?