• 締切済み

Dictionaryについて3

簡単に作ったソースなのですが、 以下の構文でエラーが発生します。 Dictionaryで作成したオブジェクトの束を配列として 格納させ、更にその配列を復帰値として取得し、メインルーチンにて展開させようと思っています。 以下のソースで考えられることございますか? 色々調べているのですが、述べ2日ハマっています。 ---------------------------------------------- Dim AAA,BBB(),CCC Set CCC=TEST 'CCCオブジェクトを展開し、値を画面に表示させる ’(未着手) private function TEST() Set AAA = CreateObject("Scripting.Dictionary") AAA.Add "1","111" ReDim Preserve BBB(0) Set BBB(0) = AAA Set TEST=BBB ←エラー個所 Exit Function End Function --------------------------------------------- エラー タイプ Microsoft VBScript 実行時エラー (0x800A01A8) オブジェクトがありません。

みんなの回答

  • tamaCo
  • ベストアンサー率66% (47/71)
回答No.1

う~ん。何がなさりたいのかよく解らないのですが、 配列にDictionaryオブジェクトを格納したいんですよね? 念のため確認しますが、これはサーバーサイドスクリプトですよね? こうじゃないかなぁ。(インデントのため全角スペース使用) ' ** 関数TEST宣言 Function TEST()  Dim AAA  Dim BBB()  Set AAA = Server.CreateObject("Scripting.Dictionary")  AAA.Add "1","111"  Set BBB(0) = AAA  ReDim Preserve BBB(0) ' ** ←意味を理解して使ってください  TEST = BBB End Function ' ** 関数TESTコール CCC = TEST() ' ** CCCのDimは要りません。Dimするとエラーになります。 これで上手く行ったとしても所詮付け焼刃です。 あなたのスキルにはなっていないと思います。他の質問で皆さんが おっしゃっている通り、一度参考書ご自分で購入されて、きちんと 最初から理解していくことが大切なのでは? お説教はいらない、答えだけ教えてくれればそれでいい、と おっしゃるのならあなたの質問に二度と返信はつけませんが。(- -;)

参考URL:
http://www.f-store.net/asp/home.asp

関連するQ&A

  • cshで変数名の入れ子ができない

    こんなことをしたいと考えています。 --------------------- set aaa="bbb" set bbb="ccc" echo $aaa echo $bbb echo $($aaa) --------------------- 期待する実行結果としては、 --------------------- bbb ccc ccc --------------------- という感じです。 エラーになってしまうのですが、何かいい逃げ方はありませんか? cshでなくてshでも構いません。 よろしくお願いします。

  • 全てのプロパティが空白のオブジェクトは・・。

    例えば、 「aaa」、「bbb」、「ccc」とプロパティを持つオブジェクト「$obj_test」で、 $obj_test->aaa = "" ; $obj_test->bbb = "" ; $obj_test->ccc = "" ; とした場合、「empty($obj_test)」では真とはなりません。 全てのプロパティが空白のオブジェクトを、emptyと瞬時に判断する関数または方法はあるでしょうか?

    • ベストアンサー
    • PHP
  • c++のグローバル変数

    お世話になります c++のグローバル変数の使い方を教えていただけないでしょうか Visual Studio 2008を使用しております ------------abc.cpp------------- int AAA; BBB(){ AAA = 1; } abc::CCC(){ AAA = 2; } コンパイル(ビルド)ではエラーは出ないのですが、 BBBをコールした時は変数AAAに値をセットできるのですが、 abc::CCCをコールした時、AAAに値がセットできません、 ウォッチ等も「エラー:識別子'AAA'はスコープ外です」 となってしまいます。 補足 BBBはリンクしているライブラリ(修正不可)からコールされる為、 クラスに組み込む事が出来ません。

  • HTMLのソースの取得・正規表現

    プログラム自体始めて間もない初心者です。 javascriptでHTMLのソースを取得して、正規表現でマッチしたURLを書き出したいと思います。 取得したソースから正規表現で抽出はできましたが、さらに手を加えると機能しませんでした。 下記test-1では「http://abc.com/」と表示されましたので思った通りに動きました。 しかし、test-2では「http」と表示されると思っていたところ、表示されませんでした。 この違いはなんでしょうか? //////////////////// test-1 <html> <head> <script type="text/javascript"> function test(){ aaa = document.getElementsByTagName("html")[0].innerHTML; bbb = aaa.match(/http:\/\/abc\.com\//); document.write(bbb); } </script> </head> <body> <input type="button" onclick="test()"> <a href="http://abc.com/"> </body> </html> //////////////////// test-2 function test(){ aaa = document.getElementsByTagName("html")[0].innerHTML; bbb = aaa.match(/http:\/\/abc\.com\//); ccc = bbb.match(/http/); document.write(ccc); }

  • メール本文に段落を設ける。

    OUTLOOKのSENDメソッドを使って、メールを自動送信する際、次の構文では、本文がだらだらするので、段落を設けたいのですがどのようにすればいいか教えて下さい。 Dim AAA, BBB, CCC As Object Set AAA = CreateObject("OUTLOOK.APPLICATION") Set BBB = AAA.CREATEITEM(OLMAILITEM) BBB.To = "宛先" BBB.Subject = "用件名" BBB.BODY = Range("I2").Value & " " & Range("I3").Value & " " & Range("I4").Value & " " & Range("I5").Value & " " & Range("I6").Value Set CCC = BBB.ATTACHMENTS CCC.Add "添付ファイル名" BBB.SEND Set BBB = Nothing Set CCC = Nothing Set AAA = Nothing

  • ASPのReDim Preserveについて

    いつもお世話になります。 ASP(VBScript)で教えて頂きたいことがあります。 VBScriptにはJavaでいうArrayListのようなコレクション機能がないので、動的配列を実現するためには ReDim PreserveやScripting.Dictionaryを使用しなければなりませんよね。 そこで、DBから取得したレコードを、ループする度毎にReDim Preserveを使用し、データをセットするよう な実装をしていました。すると、ReDim Preserveは問題があるのでやめた方がよい、と言われました。 具体的には、ReDim Preserveをすることによって、新たに配列を作成し、古い内容をコピーするため、 倍々にメモリを食いつぶしていくことになり、それが大きくなるとどんどん遅くなっていき、そしてメモリリーク になる、ということでした。 自分なりに調べてみたのですが、そのような記事を見つけることができませんでしたし、JavaのArrayList でも内部的には配列を持っており、配列の再作成などをやっています。 ○○百万件などといった大量件数を扱う際は、それはメモリリークにならないような設計、実装をしなければ ならないとは思うのですが、それはどの言語でも共通で言えることであって、特別にVBScriptではやめた方がよい、 とは思えません。 ReDim Preserveを使用しても、先に述べたような認識をもっていれば問題ないと思うのですが、どうでしょうか。 VBScriptは、こういう仕組みだから駄目なんだ、という理由があるのでしょうか。もしあれば、根拠となる サイトなど教えて頂けると嬉しいのですが。。。 宜しくお願い致します。

  • 【ACCESS】重複チェック方法について

    下記のように、複数フィールドがあり、 フィールド1,2,3が全て同じレコードを抽出したいのですが 抽出する方法があれば、教えてください。 フィールド1 フィールド2 フィールド3 ・・・・ ――――――+――――――――+――――――――+――――― 12345 AAA aaa 12345 BBB aaa 12378 AAA aaa 12378 AAA bbb 23456 CCC bbb 23456 CCC bbb  ―>抽出したい!! 23456 CCC ccc

  • ハンドルされていない例外が発生?

    C++にて作成したアプリを終了すると0xC0000005エラーが発生します。 エラー箇所は AAA *aaa //AAAは外部クラス(グローバル) void BBB{ aaaa = new aaa; aaa->ccc();} void CCC{ aaa->ddd(); delete aaaa; } メイン関数にてBBB→CCCの順で数回読んでいます。 エラーの原因として何が考えられるでしょうか? 開発環境はWindowsXP VC++6.0です。 よろしくお願いします。

  • SEDの使い方

    こんにちは。 sedである複数行のパターンにマッチしたら置き換えるということをしたいのですが上手くいきません。 たとえば、 test.txt aaa bbb ccc に対して、 sed -i.bak s/aaa/aaa'\n'111/g test とすると、 test.txt aaa 111 bbb ccc となります。 これを戻す方法として、 sed -i.bak s/aaa'\n'111/aaa/g test としても、元に戻りません。 sedを用いで元に戻す方法をご教示いただけないでしょうか。 よろしくお願い致します。

  • bashの関数の引数にスペースが入るとズレる件

    bashの関数の引数にスペースが入るとズレる件 bashの関数の引数にスペースが入ると、引数が分離して、位置がズレてしまいます。 これを回避する方法はありませんか? ■aaa.sh-Top #!/bin/bash declare FuncPara1 declare FuncPara2 function f_echo() { echo 'uf_echo1='$1 echo 'uf_echo2='$2 echo 'uf_echo3='$3 } echo '---test1---' FuncPara1='aaabbb' FuncPara2='ccc' f_echo ${FuncPara1} ${FuncPara2} echo '---test2---' FuncPara1='aaa bbb' FuncPara2='ccc' f_echo ${FuncPara1} ${FuncPara2} ■aaa.sh-Bottom ■aaa.shの実行 # ./aaa.sh ---test1--- uf_echo1=aaabbb uf_echo2=ccc uf_echo3= ---test2--- uf_echo1=aaa uf_echo2=bbb uf_echo3=ccc このtest2の時に、 ---test2--- uf_echo1=aaa bbb uf_echo2=ccc uf_echo3= となって欲しい。 もしくは、何かしら「なったテイ」で、 引数1の値は「aaa bbb」 引数2の値は「ccc」 と関数側で判断できる方法はありませんか?