VB6のLSETをVB2005で実現するには?


こうじ  2008-01-27 13:30:01  No: 144349  IP: 192.*.*.*

VB6の下記ソースをVB2005のアップグレードツールで変換したらエラーになってしまいました。VB2005ではサポートされていないみたいですが、探しても
どのように変更したらよいか途方にくれております。
どなたかご教授下さい。よろしくお願い致します。

--ソース抜粋--

A:構造体変数
B:構造体変数

VB6:
 LSET A = B

VB2005:
 ?????

編集 削除
Hongliang  2008-01-27 15:44:39  No: 144350  IP: 192.*.*.*

ご参考にどうぞ。
http://msdn.microsoft.com/library/ja/Vbcon/html/vbup1002.asp?frame=true

編集 削除
さるべーじ  URL  2008-01-27 15:48:48  No: 144351  IP: 192.*.*.*

LSETの実体はメモリコピーでして、型を無視してコピーできるという特徴があります。

例えば構造体Aの中身が2つのByte、構造体Bの中身がIntegerだったりすると、LSET A = BでIntegerのメモリイメージを2つのByteに分割して格納できたりします。

この機能はVB2005に限らず、.NET版VBでは用意されていません。
ですので、単純に何かの命令で置き換えることはできません。

それぞれの構造体がどのような構造になっているか、LSETの結果どのように格納されるかをきちんと把握し、それと同じ結果になるようにロジックを組み立ててやる必要があります。

大変だとは思いますが、がんばってみてください。

編集 削除