.NET関連作業を進めるつもりが、本業の修正作業で1日の大半が終わってしまった。
変数宣言に固定長文字列(String * 15など)を利用していることによる弊害が出ている。なんで固定長を使っているんだろう?固定長文字列は、初期状態ではvbNullCharが詰まっているため、そのままSQL文なども織り交ぜてしまうとそこで文字列が切れてしまう。これを補正する処理を各所に入れる必要がある。
夕方になって、モーダルフォームが原因の不具合が見つかった。このソース、なぜか親フォームのWindowsStateを非表示指定にして、子フォームをモーダルで開くようにしている。そのため、改修で追加されるサブフォーム(モードレスで子フォームと同時に呼ばれる)が操作不能に陥るという不具合。これはあちら側で修正してもらわないといけない。
従来は、おそらくサブフォームに関する処理がDLLなどの形態で提供されていたため、問題にはならなかったのだろう。この先もこういうのが出てくるかと思うと、かなりウンザリする。