検索結果が0件の時、プロパティに以前の検索結果が残る
対象製品
InputMan for .NET 4.0J Windows Forms Edition
発生環境
動作環境と同じ
状況
修正済み
詳細
この問題はPostalコントロールで発生します。
有効な郵便番号を入力した直後に無効な郵便番号を入力すると、AddressKanjiプロパティなどに直前の検索結果が残ります。
有効な郵便番号を入力した直後に無効な郵便番号を入力すると、AddressKanjiプロパティなどに直前の検索結果が残ります。
回避方法
この問題を修正した修正版(v4.0.2008.0415)をご利用ください。こちらからダウンロードできます。
または製品のサンプルに付属するPostalコントロールを以下のように変更し、ビルドして使用します。
Postalコントロールのソースコードは、[InputManインストールフォルダ]SamplesFunctionsVBPostalに収録されています。
[VB]
' 郵便番号辞書を検索します。
Private Sub Postal_ValueChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.ValueChanged
If MyBase.DesignMode = False And MyBase.ValueIsFull Then
' 郵便番号検索オブジェクトを生成
Dim objZipCode As New CZipCode()
Dim colResult As Collection
Dim objAddressInfo As CAddressInfo
' 検索結果を取得
colResult = objZipCode.FindAddress(MyBase.Value)
' 検索結果をプロパティに設定
If Not colResult.Count = 0 Then
If colResult.Count > 1 Then
MessageBox.Show("該当データが複数見つかりました。最初に見つかったデータのみ表示します。", "検索結果")
End If
objAddressInfo = colResult(1)
' ************************************************
Else
' 郵便番号に対応するアドレスが見つからなかった場合には、空の住所データを設定します。
objAddressInfo = New CAddressInfo()
' ************************************************
End If
_ken = objAddressInfo.Prefecture
_kenKana = objAddressInfo.PrefectureRead
_city = objAddressInfo.City
_cityKana = objAddressInfo.CityRead
_town = objAddressInfo.Town
_townKana = objAddressInfo.TownRead
_area = objAddressInfo.Area
_areaKana = objAddressInfo.AreaRead
_details = objAddressInfo.Details
_detailsKana = objAddressInfo.DetailsRead
' 住所データを結合
_address = _ken + _city + _town + _area + _details
_addressKana = _kenKana + _cityKana + _townKana + _areaKana + _detailsKana
' 検索結果をコントロールに設定します。
Call SyncBuddy()
' オブジェクトを破棄します。
objZipCode = Nothing
End If
End Sub
または製品のサンプルに付属するPostalコントロールを以下のように変更し、ビルドして使用します。
Postalコントロールのソースコードは、[InputManインストールフォルダ]SamplesFunctionsVBPostalに収録されています。
[VB]
' 郵便番号辞書を検索します。
Private Sub Postal_ValueChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.ValueChanged
If MyBase.DesignMode = False And MyBase.ValueIsFull Then
' 郵便番号検索オブジェクトを生成
Dim objZipCode As New CZipCode()
Dim colResult As Collection
Dim objAddressInfo As CAddressInfo
' 検索結果を取得
colResult = objZipCode.FindAddress(MyBase.Value)
' 検索結果をプロパティに設定
If Not colResult.Count = 0 Then
If colResult.Count > 1 Then
MessageBox.Show("該当データが複数見つかりました。最初に見つかったデータのみ表示します。", "検索結果")
End If
objAddressInfo = colResult(1)
' ************************************************
Else
' 郵便番号に対応するアドレスが見つからなかった場合には、空の住所データを設定します。
objAddressInfo = New CAddressInfo()
' ************************************************
End If
_ken = objAddressInfo.Prefecture
_kenKana = objAddressInfo.PrefectureRead
_city = objAddressInfo.City
_cityKana = objAddressInfo.CityRead
_town = objAddressInfo.Town
_townKana = objAddressInfo.TownRead
_area = objAddressInfo.Area
_areaKana = objAddressInfo.AreaRead
_details = objAddressInfo.Details
_detailsKana = objAddressInfo.DetailsRead
' 住所データを結合
_address = _ken + _city + _town + _area + _details
_addressKana = _kenKana + _cityKana + _townKana + _areaKana + _detailsKana
' 検索結果をコントロールに設定します。
Call SyncBuddy()
' オブジェクトを破棄します。
objZipCode = Nothing
End If
End Sub
キーワード
INMN06769
この文書は、以前は次のバグレポートIDで公開されていました : 7468