VBで処理を作成していたのですが、バイナリデータを編集する処理を追加する事になりました。
VC++なら、上手くデータをコンバート出来たのでVC++をDLL化して作成中です(もともとは6.0のVC++のプログラムです)。
新しくプロジェクト(VC++)を作成(WIN32プロジェクト)しVBから作成したDLLを呼び出す所までは上手く出来たのですが、肝心のバイナリデータをOPENする所が上手く行きません。
VC++の方でCFileを使用する際に#include <afx.h>でエラーになってしまいます。
先ほども投稿したのですが、結果惨敗だったので、再度質問するしだいですw
バイナリのファイル:kalrt.bat
#include <afx.h>
wchar_t* pFileName;
pFileName = L"kalrt.bat";
CFile fr; ← エラー
char buff[1000];
if (!fr.Open(pFileName, CFile::modeRead,NULL )){
while(fr.Read(buff,0x800)){//
---処理---
}
CFileを使用する場合は、MFCアプリケーションを使うとの内容を頂けたのですが、どのように構成したら良いか分かりません。いろいろとサイトを調べても見つけられませんでした。
分かりやすい説明があるサイトなどがありましたら、教えて下さい。
急いでいるので説明が上手く出来ていないので、説明が足りない場合は補足に記載します。
よろしくお願いします。
No.1ベストアンサー
- 回答日時:
DLLファイルだったのですね。
VisualStudio2010で、メニューの[ファイル]-[新規作成]-[プロジェクト]を選択して、[Visual C++]-[MFC]-[MFC DLL]を選んで新規プロジェクトを作成しましょう。
あとは、
・VC6のコードを新しいプロジェクトに追加する
または
・新しいプロジェクトの設定やインクルードファイルの指定と同じになるように、VC6から移行したプロジェクトを変更する
のどちらか簡単な方を行えばいいんじゃないでしょうか。
この回答への補足
回答ありがとうございます。
説明が足りなくてすみませんでした。
MFC DLLを作成してコンパイルしたのですが、以下のようなエラーが出ましたが問題ありませんか?w
IntelliSense: #error ディレクティブ: Please use the /MD switch for _AFXDLL buildsc:\program files\microsoft visual studio 10.0\vc\atlmfc\include\afxver_.h813
No.3
- 回答日時:
VC++2010はProfessional以上ですか?
Express EditionではMFCは使えませんが。
回答ありがとうございます。
VC++2010はProfessional以上ですか?
VS2010はProfessionalになります。
MFCは使えました。
参考にさせて頂きます。
No.2
- 回答日時:
作成しなおしている VBってどの版なのでしょう?
VB2010とかなのでしょうか
そうなると MFCでってより VB2010の中でやってしまったほうが簡単かもしれないですよ
単なる MFCDLLですと VB側でDeclare宣言を追加しないと使えなかったような気がします
データの受け渡しなどのマーシャリングとかも必要になってしまう場合があります
単機能だけのDLLでMFCを使うのですとそのためだけに必要なMFC関連のDLLもインストールしないといけないし
あまりメリットがあるとは思えません
今ある VC6のDLLをそのまま流用は出来なかったのでしょうか
機能改善が必要とか ・・・
この回答への補足
VC6はもともとEXEで動いていたので、DLLは存在してはいません。
今回のようなVBからVCを呼び出す仕様になったのでDLL化するようになりました。
回答ありがとうございます。
一応タイトルにVS2010(VisualStudio2010の略) バイナリデータ 初心者と記載してあります。分かりづらかったですね。
ちなみにDllを呼び出すようにDeclare宣言してます。呼び出しは問題ありません。受け渡しも問題ありません。Dll側でバイナリデータを読む記述()CFileが分からなかったので、上記を踏まえ参考にさせて頂きます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VB.NETで他のプロジェクトで作...
-
コンパイルするときに、ファイ...
-
Visual Stadio2008 Releaseビル...
-
他の.CPPファイルに定義した関...
-
ACCESSのEXEを作るのは可能...
-
VB6 exeファイルのプロパティの...
-
「マージする」とは?
-
関数がDLLファイル内に見つかり...
-
VisualBasicを保存するときにで...
-
プライベートアセンブリの利用...
-
アルディーノでI2Cを使ったLCD...
-
エラーの原因は?「この関数の...
-
libssh2のインクルード
-
VB6.0 オブジェクトを一覧で表示
-
VBのコンパイルしてときにbinフ...
-
OpenSSLのPEMファイル入出力時...
-
複数のCのみファイルをリンクし...
-
Wingdi.h Windows.h を開くには?
-
C#でWin32 MFC DLLが呼び出せない
-
VisualStudio C++ 2008で最初か...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VB.NETで他のプロジェクトで作...
-
ACCESSのEXEを作るのは可能...
-
ソースから参照しているOCXの一...
-
エラーの原因は?「この関数の...
-
VB6で、非表示モジュール(?)の...
-
コンパイルするときに、ファイ...
-
C#のクラスをVB.netで使用したい!
-
VB.NETでActiveX(OCXファイル)作成
-
VC++でexeファイルが作成できま...
-
同じソースコードなのにバイナ...
-
VS2010 ProductVersion 変更
-
プリコンパイル?
-
VC++ 2005 Intellisenseを更新....
-
他の.CPPファイルに定義した関...
-
Visual Stadio2008 Releaseビル...
-
Visual Studioを使ったフォーム...
-
【C#】exeファイルに複数アイコ...
-
VB6 exeファイルのプロパティの...
-
コンパイルエラー「include フ...
-
関数がDLLファイル内に見つかり...
おすすめ情報