- - PR -
固定長構造体の受け渡し
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2006-08-07 11:22
<StructLayout(LayoutKind.Sequential)> Structure STRUCT
<VBFixedString(20)> Dim strVal1 As String <VBFixedString(30)> Dim strVal2 As String End Structure Public Sub ExeCute() Dim strSmpl As STRUCT Call Test1(strSmpl) End Sub Test1中でC言語のvoidポインタで受け渡しをして、キャストをするような 処理ができればと思っています。 [ メッセージ編集済み 編集者: 未記入 編集日時 2006-08-08 00:01 ] | ||||
|
投稿日時: 2006-08-07 11:38
Marshal.StructureToPtr メソッドあたりは試してみました?
| ||||
|
投稿日時: 2006-08-07 12:04
やりたいことが今ひとつ見えませんね。
バイト列経由で別の型として扱いたいということでしょうか? | ||||
|
投稿日時: 2006-08-07 13:25
すみません、色々伝わりきらないようで。。
やりたいことは、型の異なった構造体を1つのメソッドで受け取り 内部で構造体の種類を判別し、その構造体のメンバに対して処理を行いたいです。 で、一番最初に私が考えたのはIntPtrで受けて、キャストできるのかな・・・ とか思ったりしてましたが・・・ | ||||
|
投稿日時: 2006-08-07 14:49
間に共通の親インターフェースをかまし、そのインターフェースに対してメソッドを呼ぶ。
メソッド内では、TypeOfで型を判定して、処理を分岐すればいいんじゃないの
コードはこんな風になるかなっていうイメージでとらえてね(VB.Netよ〜わからんし) | ||||
|
投稿日時: 2006-08-07 17:42
Hongliang さんも回答されているようですが...
_________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||
|
投稿日時: 2006-08-08 09:01
Marshalを使うことで解決しました。
ありがとうございます。 | ||||
|
投稿日時: 2006-08-08 09:08
Marshalのなにをどう使って解決したのか、もう少し具体的に結果を報告すべきです。 また、マルチポストをした掲示板にも、どのように解決したのか報告しましょう。 放置は最低行為です。 |