FrontPage  Index  Search  Changes  Login

掲示板

掲示板

スパムがウザイので、しばらく新規書き込みを禁止します。

CFileDialogとLoadLibrary()について - toshi (2005-11-06 (日) 02:14:37)

現在、CFileDialogからdllのパスを取得して、そのdllをLoadLibraryでロードするというアプリケーションを作成しています。 まず、エディットボックスと参照ボタン(このボタンを押下するとファイルダイアログが開く)とロードボタンがあるダイアログボックスがあります(CDialogを継承するCLoadクラス)。それで、ファイルダイアログで得たパスを一旦エディットボックスに書き込み、ロードボタンを押すとそのエディットボックスからパスを取り出し、LoadLibraryでロードしたいのですが、ロードできるdllとできないdllがあります。どうしてでしょうか?ロードできないdllもファイルダイアログからではなく直接エディットボックスにパスを書き込むとロードできます。 以下にソースを添付します。ちなみに、文字コードはユニコードを使用していますが、ロードできるdllもあるので文字コードは関係ないと思われます。

void CLoad::OnBnClickedButtonRoadReference() { CString FileName; // dllのパス CFileDialog *myDlg; // コモンファイルダイアログ

myDlg = new CExtendFileDialog(TRUE,_T("dll"),_T("*.dll"), OFN_FILEMUSTEXIST | OFN_HIDEREADONLY | OFN_PATHMUSTEXIST, _T("ATTEST(*.dll) | *.dll|"));

if(myDlg->DoModal() == IDOK) { FileName = myDlg->GetPathName(); pEdit->SetWindowText(FileName); }

delete myDlg; }

void CLoad::OnBnClickedButtonRoad() { CString FileName; //dllのパス HINSTANCE hIn=NULL; //dllのハンドル CString aaa;

pEdit->GetWindowText(FileName);

if((hIn = LoadLibrary(FileName)) == NULL){ aaa.Format(_T("%sをロードできません。"),FileName); MessageBox(aaa,_T("Error"),MB_OK|MB_ICONEXCLAMATION); return; }

OnOK(); }

Win32 Debug中のエラーの意味について - winc (2005-09-12 (月) 10:41:41)

ビルドを行ったところ、次のようなエラーが出ましたが、その意味がもう一つ分かりません。何の意味なのか教えて頂きたいです。それと、プログラム中にエラーが出た場合、そのエラーメッセージが何の意味なのかどのように解決すればいいかを教えてくれるサービスなど存在するのであれば是非教えて頂きたいです。 MSDNではエラーメッセージについても調べらっるのでしょうか。 今回発生しました、エラーメッセージをそのまま貼り付けます。

プロジェクト 'win02 - Win32 Debug' 用の中間ファイルおよび出力ファイルを削除しています。 エラー: ファイルを削除できません "C:\AAAHAN\han01\win02\Debug\Script1.res" : プロセスはファイルにアクセスできません。別のプロセスが使用中です。 --------------------構成: win02 - Win32 Debug-------------------- リソースをコンパイル中... RC : fatal error RC1109 : error creating Debug/Script1.res rc.exe の実行エラー

win02.exe - エラー 1、警告 0

  • 2005-09-12 (月) 22:50:52 t-doi : ビルドしようとしているプログラム(あるいは別のプログラム)が、Script1.resを使用しているからではないですか?

CppUnitの事でご存知でしたら教えてください。 - PATIO (2005-01-25 (火) 16:03:30)

はじめまして、PATIOといいます。 今、VC++6.0にてMFCを使用するDLLを作成していますが、 これをCppUnitでテストしようとしています。 CppUnitは1.10.2を使用しています。 このバージョンにはテストクラスをPlugInDLLとして作成して TestPlugInRunnerで動かすと言う仕組みが入っているんですが、 非MFCなDLLならうまく行くのにMFCを使用したDLLはうまくTestPlugInRunnerがロードしてくれません。 色々試行錯誤するうちにとりあえずエラー無しでロードできる所までは行ったんですが、 Browseで見てもTestCaseが全く登録されていない状態なのです。 MFCを使ったDLLをテスト対象にしているのでMFCDLLでやっているのですが、 どうもこれがうまくないようです。 MFCを使ったDLLをPlugIn形式でテストできる方法をご存知でしたらご教授ください。 よろしくお願いいたします。

  • 2005-01-26 (水) 21:00:14 t-doi : TestPlugInRunnerd.exe -testsuite Simpled.dllと実行したときにMFCを使ったDLLだとうまく実行できないと言うことでしょうか?
  • 2005-01-28 (金) 11:21:54 PATIO : 返信ありがとうございます。TestPlugInRunner.exeを起動してChoose DLLボタンでロードします。ここまでは良いのですが、Browseボタンを押してテストを選択するダイアログを出してみるとAll Testsのみが表示されていて他は出てきません。この状態でAll Testsを選択してRunボタンを押しても全く動いてくれないのです。Helpの記述どおりにWin32 Dynamic-Link Libraryでプロジェクトを起こせば、大丈夫なんですが。
  • 2005-01-28 (金) 11:27:15 PATIO : Win32 Dynamic-Link Librayでプロジェクトを起こすとMFCを使えないのでMFCを使ったライブラリをうまくリンクできません。それでMFC AppWizard (DLL)でプロジェクトを起こしているのですが、これで起こすと単純にWin32 Dynamic-Link Libraryで行ったような方法で行うとDllMainが重複してしまうのでその辺を弄っています。
  • 2005-01-31 (月) 12:13:01 PATIO : その後、うまく行かない理由が判明しました。間抜けな事にDebug用の実行ファイルを指定していなかったというのが原因でした。t-doiさんが書いてくれていたのに気が付かなかった。(^^;因みに-testsuiteを使ってもfial to copyでエラーになってしまうという新たな問題があったりしますが、こちらでも調べて見ますので何かヒントがあったらお願いします。
  • 2005-01-31 (月) 12:14:24 PATIO : 失礼、fail to copyです。
  • 2005-01-31 (月) 14:08:18 PATIO : 最終的に以下の設定にすれば大丈夫である事を確認しました。作業フォルダーは指定しない。実行時の引数に-testsuite Debug\xxxx.dllとフォルダまで指定する。これで自動で読み込みかで出来る事は確認できました。ただ、Autorunはうまく行かない模様。起動後、RUNボタンで動かせば問題なく動作するようです。
  • 2005-01-31 (月) 22:25:31 t-doi : とりあえず無事解決されたようでなによりです。

こんなもの作ってみました - えふでい (2004-10-05 (火) 23:00:15)

英辞郎ネイティブ化ツール しゃべ辞郎っていいます。 このしゃべ辞郎を取り付けるだけで、 あなたの英辞郎がネイティブの生の声でしゃべるようになります。 無料ですからぜひ一度お試しください。 インターネットでもエクセルでもE-メールでも、画面上の英単語にマウスを合わせ 右クリックするだけで、ネイティブの生の声で発音し、即座にその単語の意味を  ポップアップで表示してくれます。 ネイティブの生の声の発音を聞くツールとしては、現在もっとも簡単でかつ最速 だと自負しています。

沖縄写真館 - topi (2004-03-05 (金) 10:14:06)

綺麗な写真ばっかりですね。 写真を見ていたら沖縄へ撮影旅行に行きたくなっちゃいました。

空の写真、壁紙にさせて頂きましたです。 癒し系プログラマーですね(笑)

ノートンが - tama (2003-08-26 (火) 19:18:33)

PCのウイルスチェックは、ノートンが入っているのですが。 OSをXPにしてから、ウイルススキャンの途中で必ず再起動されちゃうんですよー。 今日は、あきらめないでいろいろ試してみたのですが 何度やっても再起動してしまうのでもう疲れちゃいました。 私と同じ現象で悩んでる人いないかなぁ。。

  • 2003-08-26 (火) 23:31:32 toshi : 私のVAIO(ノートパソコン)はXPでNortonAntiVirusです。今日、Virus付のメールが送られてきたので、フルスキャンしてみましたが再起動されませんでしたよ。ひょっとして、すでVirusに感染しているのでは…と言うのは置いておいてAntiVirusのバージョンは?
  • 2003-08-27 (水) 10:17:15 tama : プログラム7.60.926 スキャンエンジン4.1.0.15です。昨日は、一度アンインストールをして再度インストールしたんです。が、チェック中に再起動されてしまいました。その現象に気づいたのは、去年の11月(OSをXPにしてから1ヶ月くらいしてから)です。2000
  • 2003-08-27 (水) 10:18:32 tama : ↑つづき。win2000でも同じ現象が起こっている人がいます。
  • 2003-08-27 (水) 11:58:47 toshi : AntiVirus2002?それとも2003あるいはそれ以外のバージョン?
  • 2003-08-27 (水) 15:47:29 tama : 多分2002以前(2001?)だと思います。7.X 
  • 2004-08-21 (土) 22:16:56 kaito : 2003だけど、同じ現象です。もう完全にお手上げ。

はじめまして。 - やましろ (2003-08-20 (水) 09:58:14)

こんにちは。 Googleで「沖縄 プログラマー」と検索したらトップにあったので訪問させて頂きました〜

  • 2003-08-20 (水) 10:01:40 やましろ : ウチのページからリンクさせて頂いても良いでしょうか?
  • 2003-08-21 (木) 10:15:57 toshi : はい、リンクはご自由にどうぞ。

? - tama (2003-07-28 (月) 12:17:32)

この掲示板は、何に使うんですか?

  • 2003-07-29 (火) 22:58:51 toshi : ご自由にお使いください。
Last modified:2006/12/17 06:49:46
Keyword(s):
References:[SideMenu]