• 締切済み

gogo.dllの読み込みについて

MarineCatさんの「午後のこーだ利用の手引き」にあるサンプルプログラムを参考に、gogo.dllをVisual C++2005で使いたいのですが、ビルド完了し、実行すると「保護されているメモリに読み込みまたは書き込みを行おうとしました。」とのエラーが発生しました。何が悪いのか分かる方、教えてください。

みんなの回答

回答No.1

2005での動作検証は行っていないと明記されているので、 動かなくてもしょうがないでしょう。 (動いたとしても、たまたまなのかもしれないし、、、) >サンプルプログラムを参考 とは具体的にどのように記述しているのでしょうか? LoadLibraryを使う方法? それと、VC++6.0をターゲットにしているので、文字セットを「マルチバイト文字セットを使用する」にしてみるとか。

gogonituit
質問者

補足

ご回答ありがとうございます 具体的記述は http://www.marinecat.net/free/windows/gogohelp/index.html にあるサンプルコードそのままです。 「マルチバイト文字セットを使用する」にしてあります。 「gogo.dllが見つかりません」エラーを経て、「gogo.dll」をカレントディレクトリに入れ「gogo.dllが見つかりません」エラーは出なくなりましたので、「gogo.dll」はきちんと認識していると思います。 「保護されているメモリに読み込みまたは書き込みを行おうとしました。」エラーって、参照設定のような何か、手続きが不足している雰囲気がするのですが、いかがでしょうか?

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

関連するQ&A

  • Visual Basic6.0で作ったデータをVisual C 6.0を用いて通信したい(DLLファイルを作成)

    Visual C 6.0 Visual Basic 6.0 WindowsXP 掲題の件ですが、 VBで作成したデータをVCで通信したいと思い、 値を受け渡すにはDLLファイルを作って関数の戻り値にすれば良いと調べて分かり、 作成方法を知りたく質問させていただきました。 まず、 ・どちらのプログラムでDLLファイルを作成したらいいか ・どのようにコードを記述して作成したら良いか(VB,VC) VCで一度作成しようと思い、サンプルコードを調べ、ビルドしたところ 「デバック・・・実行可能ファイル・・・」 と表示されファイルを選ばなければいけない画面になりました。 これはどれを選択すれば良いのでしょうか。 よろしくお願い致します。

  • gdiplus.dllを使わないプログラム開発

    はじめまして、 ”Microsoft Visual C++ 2008”にてダイアログベースのプログラムを書いています。 windows2000に対応するために、gdiplus.dllを使用しないプログラムを作成したいのですが、 新規作成したプロジェクトをそのままビルドしただけでもgdiplus.dllが読込まれてしまいます。 読込まなくするには、どのように設定を行なえばよいのでしょうか。 それとも”Visual C++ 2008”ではgdiplus.dllを使用しないダイアログベースのプログラム開発は不可能なのでしょうか。 動作対象OS:win2000(SPなし)以降 開発環境: 言語:Visual C++ 2008(visual studio 2008 professional edition) テンプレート:MFCアプリケーション アプリケーションの種類:ダイアログベース 以上、よろしくお願いいたします。

  • Visual Studio .NET C# でDLLを作成し、VB.N

    Visual Studio .NET C# でDLLを作成し、VB.NETで呼び出す初心者向けのサンプルについて  現在、Visusal Studio .NET C#でDLLを作成して、それを、VisualBasic.NETのWindowsアプリケーションで呼び出す簡単なプログラムを作成したいと思っているのですが、書籍をあたってもなかなか参考になる書籍がみつけられなく、サンプルのサイト又は、自分でそのようなプログラムを作成している人にぜひご教授願いたく、質問させていただきました。当方、初心者ですので、何卒宜しくお願いいたします。

  • VB2005で作成したDLLの呼び出し方

    はじめまして、VB2005(.NET)初心者です。 現在、各プログラムを実行するためのメニュー プログラムを作成しています。 .net以前では、各プログラムをEXEで作成し API関数を利用し、メニューより実行させて いましたが、今回、各プログラムをEXEではなく dllで作成し実行する方法で作ることになりました。 各プログラムのdllを実行する方法がわかりません。 参考書等みてみましたが、見当たりません。 どのようにしていらっしゃるか教えて下さい。 宜しくお願いいたします。

  • VB40032.DLLについて

    あるプログラムを実行するにあたり下記のような文が掲載してありました。 「このプログラムを実行するためにはVB40032.DLL(ビジュアルベーシックのダイナミックリンクライブラリー)が必要です。 あらかじめインストールされているパソコンではその場で実行できます。 実行してみて「DLLが見つかりません」等のエラーが出た場合は以下の操作を行ってください。 VB40032.DLLをダウンロードし¥WINDOWS\system32フォルダへ(このフォルダーがない場合は¥WINDOWS\systemフォルダ)に保存します。」 実際に¥WINDOWS\system32フォルダに保存しようとしたら「この場所に保存するアクセス許可がありません。管理者に連絡してアクセス許可を取得してください。」というメッセージになりました。ちなみにOSはWindows7です。 どうすればよろしいでしょうか?

  • DLL関数を使ったプログラム

     DLL関数を使ったプログラムを動かしたんですが、ERRORが解決できず 困っています。DLLを作成したのはいいのですが、それをLoadLibraryで読み込もうとしても指定したプロシージャが見つからないというエラーになるようです。使用している環境はVisual Studio.NET2003です。  以下はDLLのソースです。 // plug.c // #include <windows.h> #include <stdio.h> __declspec(dllexport) void CALLBACK TestFunc() {    printf("DLLのTestFunc()関数が実行されました。\n"); } これをビルドするとplug.dllとplug.expとplug.libが作成されました。  そしてこれを使用したプログラムが // stab.c // #include <windows.h> #include <stdio.h> typedef void (*TestFunc)(void); void main() {     HMODULE hModule;     DWORD error;     TestFunc funcPointer;     hModule = LoadLibrary(TEXT("plug"));     error = GetLastError();//error値が127     funcPointer = (TestFunc)GetProcAddress(hModule,TEXT("TestFunc"));     funcPointer();     FreeLibrary(hModule);     getchar(); } LoadLibrary関数を使用してアプリのメモリ空間にDLLを読み込もうとしているんですが、ここでハンドルが正確に渡されていないみたいなんです。どうしてこうなるのか分かりません。わかる方いらっしゃったらよろしくお願いします。

  • DLLの呼び出しについて

    C++BuilderXで開発したアプリで、CreateProcess()で子プロセスを呼び出すときに 時々、DLLの初期化エラー(0xc0000142)が発生するので、DependencyWalkerを使って 呼び出されているDLLを調べたところ、124個ものDLLが呼び出されていました。 中には"googledesktopcommon.dll"などまったく関係の無さそうなものまで呼び出されていました。 本来、呼び出されるDLLはプログラム内で使用されるものに限定されるものだと 思うのですが、アプリケーション実行時に呼び出されるDLLというのは どこで決まっているのでしょうか。 また、余計なDLLが呼び出されないように改善することはできますでしょうか。 宜しくお願いします。

  • フリーソフト(?)の事で..

    午後のこ~だ~と言う所で.. ■ 午後のこ~だDLLについて ■ 1. gogo.dll(またはそれに準ずるもの)を    添加することが出来る。 2. gogo.dll以外には gogo.h 等のインタフェース部分を    記述する目的以外のgogoに関連するソースを    使うことは出来ない。 3. gogoに関するどんな修正もLGPL2に基づいて公開    されなければならない。 4. プログラムの中で次のことを表記して下さい。    gogoを使っていることと、gogoのバージョン。    gogoがLGPL2に従っていること。    gogoのソースか、ソース配布元のURL。 5. LGPL2のコピーを同封すること。 ユーザーが以下の行為を行うことを禁じます。 1.第三者に対して、本ソフトウェアを販売、 もしくはそれに関連した行為を行うこと 2.本ソフトウェアをリバースエンジニアリング、 逆アセンブルすること 3.本アーカイブの内容を改変すること と出てきましたが、これは、どういう事でしょう? 分かりやすく、教えていただけませんか? お願いします!!><

  • 読み込むDLLのディレクトリを変更したい

    Visual C++ 7.1を使用しています。 ライブラリを使って作成したアプリを配布するとき、 一緒にDLLファイルも配布しないと起動できませんよね? 通常は、DLLファイルのパスは実行ファイルと同じか、 system32などのディレクトリに入れなければ 「~~~.dllが見つかりません。」 みたいなエラーが表示されるかと思います。 (違ったらすみません) そうではなく、DLLファイルが10個以上ありますので、 実行ファイルと同じディレクトリだとややこしくなるため、 実行フォルダより1つ下の階層にまとめて置きたいのですが、 そのような事は可能なのでしょうか? できれば、LoadLibraryなどの関数は使わず、 何かしらの設定で出来るのであればそれが望ましいです。 可能でしたら、方法をご伝授いただけると助かります。 よろしくおねがいします。 サンプルですが構成としては以下のような感じです。 (※[ ]はフォルダ名を表します) [Main]  ReadMe.txt  実行ファイル.exe  [Image]   image1.png   image2.png  [Sound]   sound1.wav   sound2.wav  [DLL]   graphics2d.dll   input.dll   sound.dll   file.dll

  • exeをdllの様に利用する方法

    以前、どこかのサイトで見たことなので記憶があいまいなのですが、exeファイルもdllの様にリンクして関数を呼び出せるというように記憶しています。 実際、可能なのでしょうか?だとすると具体的にどのように書けばよいのでしょうか。詳しく説明しているサイトやサンプルプログラムなど乗っているサイトがあれば教えてください。 環境はC/C++でVisual Studioです。 よろしくお願いします。