2016-04-05 10 views
0

可変データ型の出力端子を持つSubVIを作成します。 SubVIの外側では、端末はType Castに接続されます。私はデータ型としてVariantを使いたくありません。はいどのようにそれを行うことができる場合可変データ型のLabView SubVI端末

ブロック図

VI block diagram

は、これは可能ですと?

+0

多型VIを試すことができます。 –

+0

@Khachik:実行時にデータ型を選択する必要がある場合、多態性VIを使用することはできません。 – MarcoM

+0

質問のランタイムに関する要件はどこですか? –

答えて

2

いいえ、できません。すべてのデータ型を持つことができるデータ型は1つだけです。それは変種です。なぜあなたはそれを使いたくないのか分かりませんが、それがあなたの唯一の選択肢です。タイプキャストはキャスト可能なタイプ(数値や、文字列をバイトの配列にキャストするようないくつかの限定されたケース)の場合のみです。

3

あなたはがString VI(キャストの代わりに、タイプ)から文字列 VIとより非平坦化に平らに使用することができます。

なぜバリアントデータ型を避けたいですか?

+0

上記の例は単純化されています。実際には私はVariantを使用しています。この問題は、データが「Variant」から複数の異なる汎用データ型に変換されている場合に発生します。私はデータ型(実行時に決定されるべきである)を 'Variant To Data' VIの' type'ターミナルに渡したいと思います。 –

+0

私はあなたの事件の詳細を知らないので、私は間違っているかもしれませんが、私はクラスがここでたくさんお手伝いできるという印象を持っています。 – MarcoM

+0

はい、そうでしょう!ほとんどすべての言語で、私はオブジェクト指向プログラミングを使用していました。私は、これはLabViewでも可能であることを知っています。私は理由を知らないが、LabViewではオブジェクト指向プログラミングを使用しない。 –

0

私はいつもタイプ変換します。プログラム制御下で複数のソリューションが必要な場合は、ケースセレクタを使用して、必要な各タイプのインスタンスを作成します。ケースセレクタは、データ型の複数の出力も提供します。