• 締切済み

VB2008の自作アプリの配布について教えて下さい

VB2008の自作アプリの配布について教えて下さい 自作アプリを作成し、デバッグだと正常に作動するのですが、 ビルドだと、エラーが出てしまいます。 多分エラー内容はtxtが見当たらないんだと思います (txtを複数個呼び出してます) プログラム中の、呼び出してるのはこれです FileOpen(1, My.Application.Info.DirectoryPath & "\メモ.txt", OpenMode.Input) FileOpen(2, My.Application.Info.DirectoryPath & "\メモ2.txt", OpenMode.Input) メ = My.Application.Info.DirectoryPath & "\メモル.txt" FileOpen(3, メ, OpenMode.Input) FileOpen(4, My.Application.Info.DirectoryPath & "\攻撃1.txt", OpenMode.Input) FileOpen(5, My.Application.Info.DirectoryPath & "\攻撃2.txt", OpenMode.Input) FileOpen(6, My.Application.Info.DirectoryPath & "\攻撃3.txt", OpenMode.Input) FileOpen(7, My.Application.Info.DirectoryPath & "\攻撃4.txt", OpenMode.Input) FileOpen(8, My.Application.Info.DirectoryPath & "\攻撃5.txt", OpenMode.Input) FileOpen(9, My.Application.Info.DirectoryPath & "\攻撃6.txt", OpenMode.Input) 因みに今txtファイルはdebugフォルダに入っています。 txtファイルを含めたビルドを発行するにはどうすればいいのでしょうか?

みんなの回答

回答No.2

リリース環境へ、必要なファイルをコピーすればいいのでは? あと、  > 多分エラー内容はtxtが見当たらないんだと思います の部分なのですが、普通環境的に必要なファイルが存在しない場合には、 その旨の対処いりませんか?  (xxxファイルが存在しません とかのメッセージを出力するとか?)

全文を見る
すると、全ての回答が全文表示されます。
  • OKbokuzyo
  • ベストアンサー率43% (130/296)
回答No.1

ビルドした実行ファイルの存在する場所と同じ場所に 「メモ.txt」等のファイルが存在しないためです。 デバック時は「debug」フォルダ内の実行ファイルが実行されます。 「メモ.txt」等のファイルは同じ「debug」フォルダ内にあるので 問題なく実行できます。 つまり、同じように実行できるようにするには ビルドした実行ファイルが存在する位置に同じように 「メモ.txt」等の各種ファイルを配置しないといけません。 なお、「My.Application.Info.DirectoryPath & "\メモ.txt"」は単に「"メモ.txt"」としても同じように実行できます。(絶対パスで指定しているのか、相対パスで指定しているのかの違いだけです)

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • VB2008アプリをWindowsXPで実行するには

    VB2008でビルドされたアプリがあります。 これをWindowsXP上で実行したいのですが、Windows Updateから.NET FrameWork3.5をインストールし、PCを再起動しましたが、EXEを起動するとアプリケーションエラーとなってしまいました。 何か足りないのでしょうか?

  • VBのFileOpenとInputというコマンドをVC#で使えませんか?

    例:(VB)   FileOpen(2, "test.txt", OpenMode.Input)   Dim i, j, p, r, t As Integer Dim y, T1 As Double Dim x As Double Dim S1() As Double Dim S2() As Double Try Input(2, y) Input(2, T1) For p = 1 To Emax Input(2, x(p)) Next For t = 1 To Tmax Input(2, S1(t)) Next For t = 1 To Tmax Input(2, S2(t)) Next Catch ex As Exception FileClose(2) Exit Sub End Try

  • VB2005でのファイル操作について

        Dim filedata As String Dim fileNum As Integer Dim fileName As String Dim i As Integer fileName = "C:\Paradata.txt" fileNum = FreeFile() FileOpen(fileNum, fileName, OpenMode.Output) For i = 0 To 9 filedata = data(i, 0) & "," & data(i, 1)・・・・・ PrintLine(fileNum, filedata) Next FileClose あるボタンを押しますと上記のようにテキストファイルにデータを保存しようとしているのですが、1回目のボタンクリックではエラーが無いのですが2回目以降は"別のプロセスで使用されているため、プロセスはファイル 'C:\Paradata.txt' にアクセスできません。"のエラーが発生してしまいます。いろいろと調べているのですがまだわからないのでどこがおかしいか教えてください。よろしくお願い致します。

  • VBでのプログラミングについて教えてください。

    VBでのプログラミングを学んでいる初心者です。 ファイル出入力の基礎を学んでいるところなのですが、 本に書いてある通りにコードを打ち込んで実行したら、 実行時エラー53 ファイルが見つかりません と表示されてしまいました。 エラーとされた部分のコードは以下の通りです。 Open "sample.txt" For Input As #1 本の指示通り、Windowsのメモ帳で作成したテキストファイルにsample.txtという名前を付けて保存しましたので、ファイルが存在しないということは無いはずなのですが…。 ネットで調べても解決策が見つからず困っています。 ご教授よろしくお願いいたします。

  • Do文を使い方について

    以下のようにループ内で2回ほど変数を更新したいのですが、追加情報 : ファイルにこれ以上データがありません。とエラーが出ます。どのように修正したら良いでしょうか? 'login.CSVファイルを開く FileNo = 1 FileOpen(FileNo, fileName, OpenMode.Input) 'logout.CSVファイルを開く FileNum = 2 FileOpen(FileNum, fileName2, OpenMode.Input) Do Until EOF(1) Do Until EOF(2) 'ファイルから読み込んだ内容を変数に保存する() 'login変数() Input(FileNo, setD1) Input(FileNo, setD2) Input(FileNo, setD3) Input(FileNo, setD4) 'logout変数() Input(FileNum, setDa) Input(FileNum, setDb) Input(FileNum, setDc) Input(FileNum, setDd) 'log表示() Debug.WriteLine(setD1) Debug.WriteLine(setD2) Debug.WriteLine(setD3) Debug.WriteLine(setD4) 'logout表示() Debug.WriteLine(setDa) Debug.WriteLine(setDb) Debug.WriteLine(setDd) Input(FileNo, setD1) Input(FileNo, setD2) Input(FileNo, setD3) Input(FileNo, setD4) Debug.WriteLine(setD1) Debug.WriteLine(setD2) Debug.WriteLine(setD4) Loop Loop の用に組んでみたのですが…初心者ですみませんがお願いします。

  • ファイル入力のデータを構造体に入れる方法

    VB.net(XP:VS2008のみフルインストール)にて テキストファイルから入力したデータを構造体st_testに入れたいと考えているのですが、実現できません。 どなたか、お力添えをお願いします。 テキストファイルは、事前に構造体(st_test)に値を入れ、 単純にFileOpen→OutPutしています。 (","や" "などでメンバ毎に分割等はしておりません。) 構造体 ---------------------- Public Structure st_test <VBFixedArray(63), MarshalAs(UnmanagedType.ByValArray, SizeConst:=64)> _ Dim A() As Byte Dim B As Integer <VBFixedArray(7), MarshalAs(UnmanagedType.ByValArray, SizeConst:=8)> _ Dim N() As Byte <VBFixedArray((7), (11)), MarshalAs(UnmanagedType.ByValArray, SizeConst:=(72))> _ Dim S(,) As Byte <VBFixedArray(11), MarshalAs(UnmanagedType.ByValArray, SizeConst:=12)> _ Dim U() As Integer End Structure ---------------------- 実現しようとしている個所 ---------------------- Dim t As String Dim temp(2) as st_test FileOpen(1, "test1.txt", OpenMode.Input) Input(FileNum, t) '''temp(0) = CType(CType(t, Object), st_test)...? temp(0) = CType(t, st_test) | FileOpen(1, "test2.txt", OpenMode.Input) Input(FileNum, t) temp(1) = CType(t, st_test) ---------------------- 上記の様に処理を行えば簡単にできるのかと安易な発想でいましたが、 CTypeの処理で'String'の値を'st_test'に変換できません。 旨のエラーになり、うまく実現することができません。 そもそもString型のデータをst_testにキャストすることが不可能なのでしょうか? それともただ、実現方法がカスなのでしょうか? 実際の構造体のサイズは4000Byteを超え(メンバ数も多いです。。。) 一つ一つ入力していくことが現実的に不可能なため ファイルよりInputすることしか思いついておりません。 test1.txtの中身を秀丸で開いてみました。 参考になれば・・・。 改行はなく、"福岡"の後等にそれぞれ空白があります。 -------------------------- 福岡 . A1 14 15 16 17 18 19 XX XX XX XX XX XX -------------------------- 宜しくお願いします。

  • Vb.Net2005からMsProjectを起動する

    VBアプリからCSVファイルを出力し、MsProjectがインストールされていれば起動して、CSVを自動的に読み込ませたいと思っています。 ・MsProject未インストール端末でも動作させる必要があり、参照設定は追加できません。 ・Obj = CreateObject("MSProject.Application")  Obj.FileOpen(Name:=「FilelPath」, ReadOnly:=False, Merge:=0, FormatID:="MSProject.CSV", map:=「マップ名」)  というコードで実現できるのですが、開発規約上Option Strict Onである必要があり「遅延バインディング~~」のビルドエラーになってしまいます。 何か良い方法は無いでしょうか? よろしくお願いします。

  • Boehm GCを使って Windowアプリを組む

      環境 VC++ V6.0 SP4 Boehm GC V6.4 http://www.hpl.hp.com/personal/Hans_Boehm/gc/ Boehm GCを使って Windowアプリを組みたいのですが どうしても ビルドエラーが出てしまいます。  コンソールアプリケーションとかで作成するとうまくビルドできるのですが  Windowアプリで作成すると以下のようなエラーが出てきます。 原因がどうしてもわかりません  何かヒントになるような事でも結構ですので よろしくお願い致します。 -----------------------------------  エラー内容 New演算子で 3個の引数を持つオーバーロードされた関数はありませんというエラーが出てきます。 ----------------------------------- class hoe : public gc { public: char p[0x100]; }; void CTest3Dlg::OnButton1() { while(1){ hoe *h = new hoe ; } } -----------------------------------

  • ダブルクォーテーション付きの文字列を含むファイルを読み込む方法?

    Visual Basic 2008 Express Editionを使用しています。 IE上の範囲選択のHTMLテキストをテキストファイルに保存しています。 保存日時(Date型):time "文字列":moji のように保存しています。 FileOpen(n, "Data.dat", OpenMode.Append)  WriteLine(n, time, moji) ~保存されたファイルの例~ #2008-08-31 10:21:05# , "この記事に関するコメントを投稿するには、下のボタンをクリックしてください。投稿フォームが表示されます。通常のご質問、ご意見等は<A href=""/vb/bbs/index.html"">掲示板</A>へご投稿ください。 " このファイルを以下のように読み込もうとしています。 FileOpen(n, "Data.dat", OpenMode.Input) Do While Not EOF(n) Input(n, time) Input(n, moji) TextBox1.Text += vbCrLf & time & vbCrLf & moji & vbCrLf Loop  ところが、HTMLの文字配列の中には、<a href="" http://・・・・ "">のようにダブルクォーテーションが含まれています。ダブルクォーテーションが2つなら、文字列として扱ってもらえると思っていましたが、文字列の終了位置として認識してしまうようです(エラーの内容から判断しました。) ダブルクォーテーションを含む文字列の場合どのように処理したらよいでしょうか?

  • Visual Studio 2005 VB

    Visual Studio 2005 VB 新しいデジタル証明書で署名したClickOnceアプリを再インストールするには? 4年ほど前に、VisualStudio2005 の VBで作成されたWindowsアプリケーションがあります。 帳票に入れる代表者名が変わったため、その部分を書き換えて再度ClickOnceで 発行しようとしたところ、証明書の期限が切れているというエラーが出ました。 http://www.atmarkit.co.jp/fdotnet/dotnettips/611clickoncerenewcert/clickoncerenewcert.html ↑こちらのサイトの情報に従って、RenewCert.exe というプラグラムを作りました。 実行すると、「メモリがReadになることは出来ませんでした。」というエラーが出ました。 クライアントは少ないので、 「すべてのクライアントでいったん既存のClickOnceアプリをアンインストールして、新しいデジタル証明書で署名したClickOnceアプリを再インストールすること」 という方法でアプリケーションを更新したいと思います。 この 新しいデジタル証明書で署名したという部分はどのようにすればよいでしょうか。 デジタル証明書(=「<プロジェクト名>_TemporaryKey.pfx」ファイル) を削除して、ビルド、発行すれば自動的にVS 2005がデジタル証明書を作ってくれると 思ったのですがうまく行きません。 新しいデジタル証明書はどうやって既存のアプリケーションに埋め込むのですか? どうぞよろしくお願いいたします。