Windows環境でのプログラミングに馴れていません、基本的なことかもしれませんが教えて下さい。VC++6.0、NT4.0で作成しています。
*.rcでリリース情報を作成しているつもりなのですが、ビルドされたファイルのプロパティを見てみると、「ファイルの情報」と「セキュリティ情報」しかなく、「バージョン情報」のタグが作成されませんでした。
プロパティの「バージョン情報」タグを作成するには、どうしたらいいんでしょうか?
作成された場合とされなかった場合には、どのようなところに違いがあったんでしょうか?よろしくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

私のところでは、プロジェクトを作成した後に、ファイル→新規作成→リソーススクリプト としてから、挿入→リソースで、Versionを新規作成して、適当に値を編集してビルドすると、プロパティにタグが増えています。


nakacoroさんはどういうやり方ですか?

この回答への補足

Resが遅くてすみません。
私のやり方
私のところでは、あるツール・キットを使っています。このWizardから、自動的に2つのプロジェクトを含む1つのワークスペースが生成されます。
2つのプロジェクトのうち一方は、ビルドするとプロパティに「バージョン情報」タグが作成されているのですが、もう一方はビルド後、タグが作成されませんでした。そこで、「挿入→リソース」でVersionを作成してビルドしました。
inthefloiさんの回答の「リソーススクリプトを新規作成」をしたところ、「resouce.h Script1.rcが使用しています。」と言うメッセージが出て、既存のファイルに置き換えるようにしたところ、タグができました。ありがとうございます。
自動生成されたときに、リソーススクリプトがなかったんですね。

補足日時:2001/10/22 12:09
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

お礼日時:2001/10/22 12:08

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qjavascriptのstyleプロパティ

javascriptに、styleプロパティがあると思います。

そのstyleの中に、borderStyleプロパティや、color等のプロパティがたくさんあると思いますが、

(1).ケース1
styleプロパティのcolorプロパティ。
styleプロパティのborderStyleプロパティ。

という言い方をしたほうがいいのか、

(2)ケース2
style.colorプロパティ。
style.borderStyleプロパティ。

という言い方をしたほうがいいのか。

どちら言い方が正しいのか気になってしまいました。
ご教授ねがえませんでしょうか。

よろしくお願いします。

Aベストアンサー

どちらでも良いと思いますが、正しいのはどちらかと聞かれれば、(1) ですね。

xxxxプロパティのxxxxプロパティのxxxxプロパティのxxxxプロパティのxxxxプロパティのxxxxプロパティ

とかになるとうるさいので、略記した方が良いのでは?

Qデバッグビルドとリリースビルドで計算結果が違う

こんにちは。
VC++.netで暗号化ソフトを作っているんですが、デバッグモードで実行した結果と、リリースモードで実行して得られる結果が違うので困っています。
原因としては、何が考えられるでしょうか?

warningで、「warning C4267: '=' : 'size_t' から 'int' に変換しました。データが失われているかもしれません。」と表示されましたが、(int)でキャストしてから警告は出なくはなっているんですが。

もう一つ、「LINK : warning LNK4089: 'SHELL32.dll' へのすべての参照は /OPT:REF によって廃棄されます。」と出ていますが、これは関係なさそうですので無視しています。

もしかして、同じような経験をされた方がいるんではないかと思い質問しました。
よろしくお願いします。

Aベストアンサー

値を初期化しないで使用した時に、この現象が発生する可能性が高いです。
例えば、関数のなかで、int a;と変数を動的変数として宣言し、このaを初期化せずに、
int b = a*a;
を実行した場合、デバッグモードの場合は、0になる可能性が高く、リリースモードの場合は、不定(前回のスタック領域で使用された値)になります。

Qフォルダのプロパティが表示されない

表題の「フォルダのプロパティが表示されない」
フォルダを右クリックすると「開くからプロパティ」
迄が表示されます、プロパティを右クリックしても
フォルダのプロパティが表示されません。
最近まで表示されて居たのですが、出来なくなりました。
フォルダの中のファイルはプロパティが表示されます
表示出来る様に設定方法をご指導頂きたく、宜しく
お願いいたします。

Aベストアンサー

>プロパティを右クリックしても

左クリックでは駄目ですか?
通常は左だと思いますが。

Qリリースビルド時のエラー

Visual C++ 2005にて開発しています

リリースビルド時に以下のようなエラーがでます

ALINK: error AL1057: 実行可能ファイルをサテライト アセンブリにできません。カルチャは常に空でなければなりません。

どのように対処したらよいでしょうか?

Aベストアンサー

以下のページの下の方に「AL1057」の情報があります。
http://msdn2.microsoft.com/ja-jp/library/kchwc1f1(VS.80).aspx

Qプロパティシートのタブの名前を変えるには

VC2005 MFC にてMDIアプリケーションを開発しています。

プロパティシートがメインとなるアプリケーションなのですが、追加するプロパティページの名前をファイルから読み取ってユーザーが自由に変えられるようにしたいと思っています。

標準ですと、プロパティシートにAddPage()にてプロパティページを追加するとシートのタブ部分にはプロパティページのキャプションが使われるようです。

キャプションを一切無視してファイルから取得した文字列をタブ部分に表示したいのですが、やり方がわかりません。

SetWindowText()をプロパティページの中で使ってもアプリケーションエラーが起こったり、全く変化がなかったりです。
CPropertySheet::SetTitle() はプロパティページ自信の名前を変えるものでしょうか。どうも違うようです。

GetMessageString()のような関数でオーバーライドできるかと探したのですが、ないようでした。

どなたかお知恵を拝借させてください。

Aベストアンサー

 こんばんは。御礼頂きました。

 モーダルプロパティーシートの方ですか。確かにタイミングが合わないですねえ・・・。
 CPropertyPageの派生クラスを作成して、OnInitDialog()をオーバーライドした所、GetTabControl()に間に合いました。
 因みにオーバーライドするのは、「Bのプロパティページ」(モーダルで開いている方)です。

/////////////////////////////////////////////////////////////////////////////
// CMyPage メッセージ ハンドラ

BOOL CMyPage::OnInitDialog()
{
BOOL bResult = CPropertyPage::OnInitDialog();

// TODO: この位置に固有のコードを追加してください

//親がプロパティーシート
CPropertySheet* pSheet = static_cast<CPropertySheet*>(this->GetParent());

//タブコントロールを取る
CTabCtrl* pTab= pSheet->GetTabControl();

//前回通り
TCITEM tabCtrlItem= {TCIF_TEXT};
tabCtrlItem.pszText= _TEXT("新しい名前");
tabCtrlItem.cchTextMax = ::_tcsclen(tabCtrlItem.pszText);

pTab->SetItem(pSheet->GetActiveIndex()/*チョッとココが怪しいかも*/, &tabCtrlItem);

return bResult;
}

 こんばんは。御礼頂きました。

 モーダルプロパティーシートの方ですか。確かにタイミングが合わないですねえ・・・。
 CPropertyPageの派生クラスを作成して、OnInitDialog()をオーバーライドした所、GetTabControl()に間に合いました。
 因みにオーバーライドするのは、「Bのプロパティページ」(モーダルで開いている方)です。

/////////////////////////////////////////////////////////////////////////////
// CMyPage メッセージ ハンドラ

BOOL CMyPage::OnInitDialog()
{
BOOL bRes...続きを読む

Qリリースビルドで遅くなる

非常に大量のコードを書いた後で気づいたので
挙動からおそらくその辺だと「思われる」のですが

Windows XP SP 3で、Visual C++で
デバッグビルド・リリースビルドしたときの速度を比較してみると
おそらく、メモリマップドファイル絡みの個所で 
現状なぜかリリースビルドの方が遅くなります。


巨大なファイルを1度扱ってから再度ほぼ同じ個所を使用した時
デバッグビルドではその間にアプリケーションを1度終了したとしても、その後別に巨大なファイルを使ったりしなければ
どうもシステム的に(?)何らかのキャッシュが効いているようで
1回目で23秒程度かかる処理が、2回目以降は7秒弱で出来てしまいます。
(これは100回やったら99回以上はなるんでは?というくらい安定しています)
対してリリースビルドでは
最初の1回は同じくらいですが
2回目以降でも16秒程度はかかってしまう感じです。

なお、そのけた外れに長い演算の末に出来上がるfloatの配列は、デバッグビルド・リリースビルドで端から端まで完全に一致する、という確認もできています。


アプリ的に
2回目以降の時間を短縮できた方が非常に都合が良いのですが

ビルドの設定はほとんど同じですが、これは仕様でしょうか?


もしこれがキャッシュの方式の問題、であるのなら
Windows APIなどを使うことにより対処可能な問題でしょうか?


あるいは、デバッグビルド・リリースビルドの違いによるものではなく
このアプリケーションのデバッグビルドによって出来た実行ファイルの方に
以前関連付けを行ったりするように(アイコンや、独自ファイル形式ダブルクリックで開けるように)
レジストリを書き換えたのですが

これによってシステムから「なんらかの優先事項」を享受できるようになっているため
だったりする、という可能性もあるのでしょうか?

非常に大量のコードを書いた後で気づいたので
挙動からおそらくその辺だと「思われる」のですが

Windows XP SP 3で、Visual C++で
デバッグビルド・リリースビルドしたときの速度を比較してみると
おそらく、メモリマップドファイル絡みの個所で 
現状なぜかリリースビルドの方が遅くなります。


巨大なファイルを1度扱ってから再度ほぼ同じ個所を使用した時
デバッグビルドではその間にアプリケーションを1度終了したとしても、その後別に巨大なファイルを使ったりしなければ
どうもシステム的に(?)何らか...続きを読む

Aベストアンサー

VCのVerがわかりませんが、昔経験があります。
確かリンカのオプションでサイズ重視、速度重視とかの設定を変えると速くなりました。
ポインタをたくさん使う場合は速度重視の方が速かった気がします。


ほかにもマニフェストの組み込みとかいろいろ設定があるのでいじってみてください。

デフォルトだとコマンドラインからコンパイルした方がサイズが小さく高速です。

cl でコンパイルリンクします。

Qconstructorプロパティとオブジェクト関係

JavaScriptのconstructorプロパティについて教えてください。

・constructorプロパティは、内部プロパティ[[Construct]]と同義でしょうか?

・constructorプロパティが存在しない組込オブエジェクトは、「Global」「Math」「JSON」の三つだけ?

・上記以外の組込オブエジェクトは、全てnewできる、ということでしょうか?

・「new Object」「new Function」できるのは、constructorプロパティがあるから、という理解で合っているでしょうか?

Aベストアンサー

[[Construct]]はnewでのインスタンスを作成する為の内部関数です
constructorプロパティとは関係ありません

QVS2005 リリースビルドしたEXEが他のPCで開けない

VS2005 C++ ExpressでWindowsフォームアプリケーションをC++/CLIで作成しています。
(Standardを買う予定なのですが、まだ買いにいけていないのでExpressのままです)
OSはWinXP Pro-SP2です。

リリースビルドしたexeファイルを、当該PCでは実行可能なのですが、
exeを他のPCにコピーして実行すると、
「このアプリケーションの構成が正しくないため、アプリケーションを開始できませんでした。アプリケーションを再度インストールすることにより問題が解決する場合があります」
というダイアログが表示され、終了してしまいます。

検索してみたところ、いくつか対処法があったのですが、試した中では解決できませんでした。

◎ソリューションのプロパで、[構成プロパティ]-[C/C++]-[コード生成]で、ランタイムライブラリを「マルチスレッドDLL/MD」を「マルチスレッド/MT」に変更
   →ビルド時に「/MTと/clr:pureは同時に使用できません」エラー
   →/clr:pureを/clrのみにしても同じ。
   →「共通言語ランタイムサポートを使用しない」にすると、
     「マネージターゲットコードには/clrが必要」でビルドエラー
   →→→/MD /clr:pureに戻しました

◎exeと同じディレクトリにmanifestを作成
     ▽ファイル名はMicrosoft.VC80.CRT.manifest
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity
type="win32"
name="Microsoft.VC80.CRT"
version="8.0.50727.762"
processorArchitecture="x86" >
</assemblyIdentity>
<file name="msvcr80.dll"/>
</assembly>

versionについては、VC++Expのバージョン情報で表示されるものに変更。
   →同じように、exe実行時にエラー発生、同じダイアログ
   →msvcr80.dllを同じディレクトリに置いても同じ

◎Platform SDKのDependency Walkerでexeをチェック
   →MSJAVA.DLLが見つからないという赤いメッセージが出る。
   →ファイル名をPC内で検索したが、見つからず。
     (VS2005ExpがインストールされたPCも、別のXPが入ったPCも)
   →試しに、vectorで拾った実行OKなDLL不要exeアプリをD-Walkerに
     かけてみたら、同じようにMSJAVA.DLLが見つからないという
     メッセージが表示された。 でも当然このexeはどのPCでも実行OK。

◎新しくプロジェクトを作成。 ボタンをひとつ配置し、
 イベント発生の関数のみ作成。 ただし中身はカラ。
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) { }

   →デバッグビルドもリリースビルドも問題なし。 でもexeを
     別のPCにコピーすると同じダイアログが出てエラー終了

◎http://support.microsoft.com/kb/814496/jaに載っている方法:
  Visual Studio .NET プロジェクトで app.config ファイルの <xml> を
  UTF-8 に変更し、UTF-8 エンコードで app.config ファイルを保存します。

   →app.configファイルが検索しても見つからず


これは何が悪いのでしょうか?
ライブラリ・ランタイム関連であろうということはわかるのですが、
解決方法がわかりません。
よろしくお願いします。

VS2005 C++ ExpressでWindowsフォームアプリケーションをC++/CLIで作成しています。
(Standardを買う予定なのですが、まだ買いにいけていないのでExpressのままです)
OSはWinXP Pro-SP2です。

リリースビルドしたexeファイルを、当該PCでは実行可能なのですが、
exeを他のPCにコピーして実行すると、
「このアプリケーションの構成が正しくないため、アプリケーションを開始できませんでした。アプリケーションを再度インストールすることにより問題が解決する場合があります」
というダイアログが表示...続きを読む

Aベストアンサー

対象のPCですが.NET Framework Version 2.0
の実行環境ははいっているのでしょうか?
まず対象のPCに以下の2つのパッケージをインストールして試してください。

「Microsoft .NET Framework Version 2.0 再頒布可能パッケージ (x86)」
http://www.microsoft.com/downloads/details.aspx?familyid=0856EACB-4362-4B0D-8EDD-AAB15C5E04F5&displaylang=ja

「Microsoft Visual C++ 2005 再頒布可能パッケージ (x86)」
http://www.microsoft.com/downloads/details.aspx?FamilyID=32bc1bee-a3f9-4c13-9c99-220b62a191ee&DisplayLang=ja


>UTF-8 に変更し、UTF-8 エンコードで app.config ファイルを保存します。
http://support.microsoft.com/kb/814496/ja
ですが対象のアプリケーションが
Microsoft Visual Studio .NET 2002
になっており今回は関係ないと思います。
(最終更新日も2003年6月19日ですので)

対象のPCですが.NET Framework Version 2.0
の実行環境ははいっているのでしょうか?
まず対象のPCに以下の2つのパッケージをインストールして試してください。

「Microsoft .NET Framework Version 2.0 再頒布可能パッケージ (x86)」
http://www.microsoft.com/downloads/details.aspx?familyid=0856EACB-4362-4B0D-8EDD-AAB15C5E04F5&displaylang=ja

「Microsoft Visual C++ 2005 再頒布可能パッケージ (x86)」
http://www.microsoft.com/downloads/details.aspx?FamilyID=32bc1bee-a3f9-4c13-9c99-2...続きを読む

QVBA Worksheetsはプロパティなの?

(株)C&R研究所発行 Excel VBA逆引きハンドブック 著者 蒲生睦男 234ページを引用します。

-----
ワークシートを参照するには「Worksheets」プロパティを使います。「Worksheets」プロパティは、指定されたブックのすべてのワークシートを表す「Sheets」コレクションを返します。
-----

私は今までWorksheetsはコレクションだと思ってました。つまりワークシートの集合であると。違うのですか?さらにプロパティはオブジェクトの性質を表わすもので、例えばCellのプロパティであればValue, Colour等です。では、Worksheetsは何のプロパティなのでしょうか?Workbookのプロパティですか?もしそうなら、他にはどんなプロパティがあるのですか?さらに上記引用で「返す」とありますが、返すってなんですか?ファンクションプロシージャの戻り値を返す、みたいな表現はありますがここでの「返す」の意味がよくわかりません。

私の現状認識は以下のものです。どこか誤ってますか?
Worksheetsはワークシートの集合体つまりコレクションであり、ワークシートオブジェクトでもある。オブジェクトであるので、性質を表わすプロパティではない。

VBAの構文で
Workbook.Worksheet.Range
のような表現はよく使いますが、ひょっとして後ろにくっつくのは全部プロパティなのですか?ちょっとよくわかりません。

(株)C&R研究所発行 Excel VBA逆引きハンドブック 著者 蒲生睦男 234ページを引用します。

-----
ワークシートを参照するには「Worksheets」プロパティを使います。「Worksheets」プロパティは、指定されたブックのすべてのワークシートを表す「Sheets」コレクションを返します。
-----

私は今までWorksheetsはコレクションだと思ってました。つまりワークシートの集合であると。違うのですか?さらにプロパティはオブジェクトの性質を表わすもので、例えばCellのプロパティであればValue, Colour...続きを読む

Aベストアンサー

#1の回答者です。

オブジェクトとプロパティというのは、プログラミングの基本的概念で、他の概念を同等に持ちだしてきたら、ワケが分からなくなります。

> worksheetをプロパティとして使うのはどのようにするのでしょうか?
プロパティとは、操作してどうこうしようと思っているようですが、そういうことではありません。これは定議の話であって、個々の設定やら値の取得の話は別問題です。

Workbook.Worksheets(1).Range("A1")
少なくとも、Workbookの配下に、Worksheet はありません。Worksheets という入れ物が存在しているのです。その入れ物の中の個別に指定しないと、それを取り出すことはできません。

その入れ物を、あえて「Worksheetsコレクション」と称することは間違いありませんが、コレクション(Collection)というものは、複数のオブジェクトをひとまとめにしたもので、ここでは、単なる名称にしかすぎません。単に、そういう入れ物を作ったということでしょう。

私の記憶に間違いなければ、プログラミングの構造からすると、まず、クラスがあって、それを実体化させたものがインスタンスです。それをオブジェクトと呼びます。そして、その中で、いくつか必要な性質を持たせます。それをプロパティと呼びます。プロパティの本質は、あくまでも、オブジェクトの「性質・属性」を示すものです。そのプロパティが、どういうものかは、それぞれの個別の問題です。

ここで、メソッドを持ちだしてきて、「こうすれば、プロパテイは値を取り出せたり、値が変わります」という機能を言っても、それは個別の例であって、それはまったく別の話です。

前回と重複しますが、プロパティとは、クラスの中で設定されたものです。その値を変更したり、値を取るという機能自体は、制作者が、そう設定されたものだということです。絶対的なものとしては存在しているわけではありません。

私は、別に混乱させるために書いているわけではありませんが、#1の回答で満足しなくても、もうこれ以上書く必要はないと思います。

失礼かもしれませんが、今まで書いたものを見させていただいて、経験的に、そのレベルの人で、用語の定義にこだわる人が上達したという覚えがありません。あれこれ考えるよりも、上級レベルに達するまで、こういう話は保留にしておいたほうがよいのではないかとアドバイスいたします。

いつか、私の話が分かる日が来ると思います。
それでは、これで失礼いたします。„

#1の回答者です。

オブジェクトとプロパティというのは、プログラミングの基本的概念で、他の概念を同等に持ちだしてきたら、ワケが分からなくなります。

> worksheetをプロパティとして使うのはどのようにするのでしょうか?
プロパティとは、操作してどうこうしようと思っているようですが、そういうことではありません。これは定議の話であって、個々の設定やら値の取得の話は別問題です。

Workbook.Worksheets(1).Range("A1")
少なくとも、Workbookの配下に、Worksheet はありません。Worksheets という入...続きを読む

QVC++6で、バッチでビルドを掛けたいのですが・・・

VC++6で、同じようなプログラムを複数作成しなければ
いけなくなったのですが、VS6を開いて、ビルドを掛けると
面倒なので、複数本をいっぺんにビルドしたいのですが、
よい方法は、あるでしょうか?
よろしくお願いします。

Aベストアンサー

「複数のexeファイルで構成された1つのプロジェクト」が作れたと思います。

そのプロジェクトを開いて「すべてビルド」を行うと全部のexeをビルドしに行く筈です。


人気Q&Aランキング