- PR -

javaScriptでのbyte型の扱い方について

1
投稿者投稿内容
たま
会議室デビュー日: 2003/05/07
投稿数: 4
投稿日時: 2007-05-25 17:50
javaScriptでのbyte型の扱い方について

現在IE上でスキャナを使用して取込んだデータをJavaScriptに渡す仕組みを作成しています。
具体的には@スキャナ取込、A取込んだデータをbyte型配列に変換しVariant型としてPropetyGetで戻す仕組みを、@・A両方ともActiveX(VB6.0)コントロールで作成しておりますが、Aについてオートメーションエラーが発生し動作しません。

以下疑問点です。
(1)JavaScriptでそもそもbyte型配列のデータを扱えるのでしょうか?
(2)(1)が不可能な場合、他に方法はないでしょうか?

どなたか情報があれば(参考のHP等)提供していただけないでしょうか。よろしくお願いします。
sawat
大ベテラン
会議室デビュー日: 2006/08/02
投稿数: 112
投稿日時: 2007-05-25 18:05
引用:

たまさんの書き込み (2007-05-25 17:50) より:
以下疑問点です。
(1)JavaScriptでそもそもbyte型配列のデータを扱えるのでしょうか?
(2)(1)が不可能な場合、他に方法はないでしょうか?



(1) JavaScriptにbyte型はありません。数値は全て浮動小数のnumber型になります。
参考) http://www2u.biglobe.ne.jp/~oz-07ams/prog/ecma262r3/8_Types.html

(2) そもそも、JavaScriptに渡して何をしたいのかが分からないのでいまいち答えようがありませんが、byte型配列がダメなら別の型に変換して渡すしかないのでは?
(int型配列ならOKかもしれないし、doubleならOKかもしれない。それがダメなら10進だか16進だかの文字列配列とか、いっそのことbase64でダンプした一つの文字列で渡すとか)

# ちなみに、ActiveXがらみなら、こっちじゃなくてInsider.NETの方がいい回答が付くんじゃないかな?

[ メッセージ編集済み 編集者: sawat 編集日時 2007-05-25 18:06 ]
朝日奈ありす
大ベテラン
会議室デビュー日: 2007/05/02
投稿数: 189
お住まい・勤務地: 最北の地
投稿日時: 2007-05-25 19:12
よくある JAVAとJscriptとの混同だとおもわれる。
未記入
大ベテラン
会議室デビュー日: 2005/03/12
投稿数: 148
投稿日時: 2007-05-25 22:51
JScriptの配列って連想配列でIDispatch*型でVariant型の配列をVariant型(の参照?)で渡すことは出来ない。

VBArrayなんてのが在るくらいからもわかると思う。
その逆変換はないし。連想配列だから仕方ないともいえるけど。

JScriptへ渡すだけならVBArrayでできるかな。
JScript <-> VBScript <-> ActiveX(COMオートメーション)でゴリゴリすればできるかな。
これ以上は知らないので説明できません。

でもJScriptだと連想配列になってもしかして効率悪いかもしれない。
俺も16進数文字列で大変だけどゴリゴリ処理をするようにしたほうかいいと思う。

[雑談]
スキャナのデータをJScriptでどうすんだろう。
JavaScriptってC言語みたいな値渡しとポインタ(参照)渡しの使い分けってないね。
[/雑談]

[ メッセージ編集済み 編集者: 未記入 編集日時 2007-05-25 22:58 ]
朝日奈ありす
大ベテラン
会議室デビュー日: 2007/05/02
投稿数: 189
お住まい・勤務地: 最北の地
投稿日時: 2007-05-26 07:26
Variant型でまちがえていないですよ。
JavaScript では すべて var 型で扱われます。

http://www.tohoho-web.com/js/index.htm 等の 他所のActive Xコントロールを
読むべきといっておこう。
未記入
大ベテラン
会議室デビュー日: 2005/03/12
投稿数: 148
投稿日時: 2007-05-26 08:02
http://msdn2.microsoft.com/ja-jp/library/3s0fw3t2(VS.80).aspx
をみるとメモに
> VBArray オブジェクトは下位互換性を維持するためだけに用意されています。
となっている。
VBArrayで変換しないとJScriptはsafeArrayにアクセスできない
って認識だったけど出来るのか。

あと
a[0]="bbb";
a[1]=5;
みたいにできることから判るようにVariantの配列だったりする。
もしかしたらbyteの配列を渡してもアクセスできないかもしれない。
試したことないが。

[ メッセージ編集済み 編集者: 未記入 編集日時 2007-05-26 08:16 ]
朝日奈ありす
大ベテラン
会議室デビュー日: 2007/05/02
投稿数: 189
お住まい・勤務地: 最北の地
投稿日時: 2007-05-26 10:59
過去ログにもあるさ(w
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=19873&forum=12&3

PHP 側だがいってることはJS x ActiveX
1

スキルアップ/キャリアアップ(JOB@IT)