諸OM方のご指導を得て、Windows XP+VisualBasic2008で開発したHamlog50.dll・THDLL2VB.dll・THW2VBNET.dllを使用したアプリはそのままではWindows8(64ビット版)で作動しません。
(Hamlog50.dll等を使用しないアプリは何ら問題なく作動します。)
そこで私はつぎの方法で移行作業を行い、Windows8でVisualBasic2010を使用してHamlog50.dll・THDLL2VB.dll・THW2VBNET.dllを使ったアプリを作動させました。
移行方法
まず、Windows8 + VisualBasic2010(以下、新環境と称します)で、新しいプロジェクトを作成し、アプリで必要とする空白のForm画面を作成します。
このときプラットフォームは(x86)になっています。ただし.NET Frameworkは3.5に変更します。
下記のように.NET Framework 4 のままではHamlogデータが正常に読み込めません。
つぎに、旧アプリのForm画面定義をコピーして新アプリの空白のForm画面に貼り付けします。
また、ソースプログラムコードもテキスト形式でコピーして、新アプリの該当するFormのコードへ貼り付けます。
以上の移行作業で新環境で旧アプリと同じものを作動させることができました。
Hamlog50.dll
THDLL2VB.dll
THW2VBNET.dll
は、該当アプリのexeファイルと同一フォルダに置きます。
ご参考までに.NET Framework 4 と 3.5 のそれぞれで読み込んだときの相違は以下のとおり、時刻データより後ろの項目が誤って読み込まれます。
(THW_read で読込み ThwStringをつかって処理したものです。)
--- .NET Framework 3.5のとき ---
RX9??,RX9??,13/03/07,14:47J,-08,-10,21.07600,JT65,732A,LO78,J,,Asiatic Russia,,END[1453],c:\Hamlog\Hamlog.hdb,8
--- .NET Framework 4のとき ---
RX9??,RX9??,13/03/07,14:47J,,21.0,,5,732A,LO78,J,,tic Russia,,1453],c:\Hamlog\Hamlog.hdb,8
なお、この問題は既にここで論じられており今更の感がありますが、1つの移行例として紹介します。
以上