• 締切済み

VB2005でBASP21が使えません

BASP21のFORMメソッドを使用し、次のような構文でHTMLのタグを読もうとしています。 dim a, b, obj as Object set obj = Createobject("basp21") a = Request.TotalBytes b = Request.BinaryRead(a) str = obj.Form(b,"name") 同じようなコーディングでVB6.0ではタグ<name>の文字列が取得出来て、VB2005では出来ません。 VB2005のコーディングが違うのでしょうか。

みんなの回答

回答No.2

ちがった、 dim a, b, obj as Object を dim a as long dim b() as byte dim obj as Object にしてみてどうでしょうか?(特にb()ですが)

flowergoo
質問者

お礼

ご回答頂き、有り難うございます。 早速試してみます。

flowergoo
質問者

補足

試して見たのですが、 str = obj.Form(b,"name") の所でstrが取得できませんでした。 basp21のverなどは関係あるのでしょうか。

回答No.1

本当に詳しくないので、とりあえずですが・・・ dim a, b, obj as Object を dim a as long dim b() as byte にしてみてどうでしょうか?

flowergoo
質問者

お礼

ご回答頂き、有り難うございます。 早速試してみます。

関連するQ&A

  • Basp21に詳しい方!!

    まったくの初心者です。 送信するメールにファイル添付されるようにしたいのですが、 どうしてもエラーが出てしまいます。 どこが間違えていますか? ----------------------------------------------------------------------------------------------------------- 'Basp21でメールを送信します。 Set Basp = Server.CreateObject("basp21") tb = Request.TotalBytes br = Request.BinaryRead(tb) fn = Basp.FormFileName(br,"includedFile") fpath = Mid(fn,InstrRev(fn,"\")+1) leng = Basp.FormSaveAs(br,"includedFile",fpath) End If rc = Basp.SendMail(host, mailTo, mailFrom, subject, body, fpath) If rc = "" Then Response.Write "送信完了" Else Response.Write "送信失敗:" & rc End If set basp = Nothing

  • BASP21のアップロードについて

    現在、BASP21を用いたファイルのアップロードを行うプログラムを作っております。 そこで困ったことがあり、質問させていただきます。 作成しているプログラムでは、ASPでBASP21(Proではない)を用いて大きなサイズのファイル(動画ファイルなど、最大で約250MB程度のファイル)をアップロードしたいと考えております。 しかしながら、50MB程度であればアップロード可能なのですが、70MB超のファイルになってくると「関数が|を返しました。」というエラーが発生してしまいます。 どうも、 ------------------------------------------------------ <% fbin=Request.Totalbytes barray=Request.BinaryRead(fbin) … … %> ------------------------------------------------------ の「barray=Request.BinaryRead(fbin)」の部分でエラーが出ているようでした。 これは、BASP21のアップロード上限をオーバーしているためのエラーなのでしょうか? そこで、このエラーの解決策、もしくはBASP21(Proではない)での最大約250MB程度のファイルをアップロードする他の方法があれば教えていただきたく、書き込みさせていただきました。 (フリーで使うことのできる、BASP21以外を用いた方法でも構いません!) 質問にお答えいただけると幸いです。 よろしくお願いいたします。

  • BASPでのファイルアップロード

    お世話になります。 win2000でBASPを使って、ファイルのアップロードを行うプログラムを製作しています。 一つ目のASPファイルでアップロードするファイルを選択し、 これをSubmitして二つ目のASPファイルでファイルアップロード作業をするものです。 ネスケ6.2ではformsaveasが正常に動作したのですが、IEやネスケ4.7などではformsaveasが上手く働いてくれません(後述)。 できることなら保有するブラウザ全てで正常に動かしたいです。 しかし色々試したり調べたりしましたがどうしても自分だけの力では無理でした。 下記で二つ目のASPファイルで行う必要最低限のアップロード作業部分を載せました。 他にも載せようとしたら文字数オーバーだったので、ご容赦ください。 この保存作業部分で明らかに足りない何かがあったりしたら、そこをご指摘いただければ助かります。 Datasize = Request.TotalBytes B_Data = Request.BinaryRead(Datasize) Set objB = Server.CreateObject("basp21") strPath= "C:\test\" strname = objB.formfilename(b_data,"f_file") errno = objB.formsaveas(b_data,"f_file",strpath & strname) (この時点でerrnoに-3の値が入ってしまう=ファイルアップロード失敗) 読みづらい、分かりにくい質問で申し訳ないです。 分かる範囲でけっこうですので、ご協力よろしくお願いします。

  • フォームから値の取得(BinaryReadについて)

    フォームから値の取得についてですが、下記のようなプログラムがあったとします。 ------------------------------------------------- Set BP = Server.CreateObject("Basp21") RTB = Request.TotalBytes RBR = Request.BinaryRead(RTB) FilsNam = BP.FormFileName(RBR,"fname") ←※(この部分) -------------------------------------------------- この部分は前のページから送信された情報(<INPUT TYPE="FILE" NAME="fname">)を元にファイル名を取得していますよね? これと同様に他のテキストボックスから情報(<INPUT TYPE="text" NAME="test">)を取得することはできないのでしょうか? ライブラリによるとRequest.BinaryReadで取得されたデータはセーフ配列に格納されると書いてあるのですが…。 セーフ配列ってどこですか? <参照> http://www.microsoft.com/japan/developer/library/jpiis/iishelp/iis/asp/vbob8rl0.htm

  • BASP21のファイルアップロードでエラー

    IIS7.0の環境にBASP21をインストールして、ブラウザからのファイルアップロードを処理しようとしています。BASP21は、BASP21-2003-0211.exe をインストールしました。 症状は、ブラウザ(MSIE 7.0.5730.13)からファイルアップロードをすると、うまくいくときもあるし、うまくいかないときもあるという感じです。 うまくいくときは FormSaveAs でファイルが保存され、そのファイルを読み出して処理することができます。 うまくいかないときは FormSaveAs が -2(名前が見つかりません)を返し、ファイルが保存されません。 HTMLのフォームの部分は以下のようになっています。 <form enctype="multipart/form-data" method=POST action="upload1.asp"> <input type="hidden" name="MAX_FILE_SIZE" value="3000000"> ファイル名:<input type="file" name="userfile" size="60"><br /> <input type="submit" value="ファイルを送信"><br /> </form> 同じファイルを何度も送信して試してみたところ、a = Request.TotalBytes のところで、a にセットされる値が変わることがわかりました。 テストに使ったファイルでは、うまくいくときは 818 になり、うまくいかないときは 821 になりました。ファイルそのものは 413 バイトなので、付加されるヘッダ情報に違いがあるのではないかと思いました。 そこで、パケットモニタを使用して送信されるデータを見てみたところ、boundary= の後ろに指定される文字の長さによって動きが変わってくるように見えました。 マイナス連続の後ろが 7d934f3211530(13文字)→NG マイナス連続の後ろが 7d9274d11530(12文字)→OK 送信フォームの中にはパーツが2つあり、末尾のboundaryも含めて3つになりますので、1文字違うと合計で3バイト違ってきますので計算は合います。 このあたりの情報は、どこかにないでしょうか?BASP21の使い方が悪いのか、HTMLやASPの書き方が悪いのか、わからないので困っています。

  • 【BASP21+ASP】MDEファイルがDL出来なくなった

    いつもお世話になっております。 IIS+VBSで、サーバーに上げたファイルを各自の端末でダウンロード出来る ページを作成しています。 例えば、クライアントで <a href="download.asp?FILE=見積書.xls">見積書</a> をクリックすると、download.aspに変数FILE(見積書.xls)が 渡され、download.asp側でtoolsフォルダ配下の見積書.xlsを ダウンロードする準備を行う、といった具合です。 これまで順調に動いていたのですが、ここ2,3日で急に AccessのMDEファイルがダウンロード出来なくなってしまいました。 本来ならダウンロード確認画面に「XXX.mde」と表示されるはずが、 「download.asp?FILE=XXX_mde」と書き換えられたかのように表示され、 保存しようとしてもエラーになります。 開く を選択するとASPのエラーが表示されるのですが、 BASP21のobjBasp.BinaryReadメソッドのところで「特定できないエラー」が 表示されています。 今までMDEファイルもダウンロード出来ましたし、家で同じ環境を構築しても 上手くいったのですが、会社の環境だけこのような事態になっています。 どなたかこの解決方法をご教授願えませんでしょうか? よろしくお願い致します。 (会社、自宅とも、WinXP+IIS6です) ---------------download.asp のソース-------------- Dim dat Dim objBasp Dim fname Dim bydata fname = Request.QueryString("FILE") Response.ContentType = "application/octet-stream;name=" & fname Response.AddHeader "Content-Disposition","attachment;filename=" & fname Set objBasp = Server.CreateObject("Basp21") bydata = objBasp.BinaryRead(Server.MapPath("tools/" & fname)) Response.AddHeader "Content-Length", ubound(bydata) + 1 Response.BinaryWrite bydata Set objBasp = Nothing -------------------------------------------------------

  • BASP21のftp.Command("site 文字列")の使い方に

    BASP21のftp.Command("site 文字列")の使い方にて 以下のような目的 VB6でBASP21を利用しております Pc-A(VB6実行環境),Pc-B(DataBase) Pc-AからPc-Bにあるcshを実行したい のですが、上手く動作できません、 何がいけないのかわかる方がいらっしゃいましたら、 助言のほど宜しくお願いいたします 001:Set objFtp = CreateObject("basp21.FTP") 002:rc = objFtp.Connect(GlbFTPHost, GlbFTPUser, GlbFTPPass) 003:rc = objFtp.Command("pasv") 004:rc = objFtp.Command("cwd xxxx/yyyy/zzzz") 005:rc = objFtp.Command("site csh AS400.csh") 4行目までは正常に動作してるのですが 5行目の返り値が5で正常値2が返ってきません。 今回初めてsiteを用いた為、 そもそもPc-AからPc-Bにあるcshを実行ができるのか? siteの意味を間違った理解をしているのか? わからなくなってしまいました。トホホ・・・

  • VBのクラスの利用

    VBの初心者ですが、FormにTextBoxとコマンドボタンを配置して、ボタンクリックでTextBoxに"ABC"と表示させるものをクラスを使ってやろうと思っています。WriteAクラスを作り、その中にkakikomiメソッドを作り、引数を(TextA AS TextBox)とし、メソッド内部でTextA.Text="ABC"としました。 コマンドボタンクリックメソッド内部で、  Dim obj As WriteA  Set obj=New WriteA  obj.kakikomi(Text1)//Text1はTextBoxのオブジェクト名 とすると、[引数の型が違う]でコンパイル出来ません。どうしたら良いのでしょうか?

  • Response.BinaryReadエラー(Windows 2003 RC2上)

    現在,Windows2000 ServerからWindows 2003 RC2へのサーバーを移行を行っています. ASP(ACtive Server Page)の移行作業の中で,つまずいています. BASP21のモジュールを利用して,ファイルをアップロードしている箇所があり,アップロードする前段階のRequest.BinaryReadを行うとエラーが発生します. [該当ソース] <% lngTB=Request.TotalBytes bin=Request.BinaryRead(lngTB) '←エラー発生 %> [エラーメッセージ] '検索中のページには問題があるため表示できません。 該当ファイルを保存しているフォルダの他のASPファイルは動作していますので,フォルダのアクセス権限ではない印象です. サーバー(OSおよびIIS)の設定も含めて,何かお気づきの点がありましたら宜しくご指導願います.

  • Request.BinaryReadでのエラー

    はじめて質問させていただきます。 ASPでファイルをアップロードする再にRequest.BinaryReadの時点でエラーが発生し、原因が不明のため、質問させていただきます。 a=Request.TotalBytes b=Request.BinaryRead(a)←この時点でタイムアウトエラーが発生します。 ファイルの容量が大きいためなのでは?と思いましたが、1MBもないファイルでも発生しています。 何回か実行すると問題なく実行される場合もあります。 また、使用している環境によっても違いがあるようで、まったく現象がおきないクライアントと度々発生するクライアントとあります。 【サーバー】 OS:Windows2000Server IIS:Ver5.0 【クライアント】 OS:Windows2000およびXP 回線:ADSL 以上、わかる方いましたらご教授ください。 よろしくお願いいたします。

専門家に質問してみよう