★初心者にVisual C++を教えるスレ★ Part25
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2007/01/10(水) 00:00:39Visual C++入門者・初心者からの質問を、
お兄ちゃん達が優しく、時には厳しく回答してくれるスレッドです。
■質問するにあたって
・エラーや警告のときはエラーメッセージを書きましょう。
・開発環境も書きましょう。
・できるだけ具体的に。
質問の仕方については次のページが大変参考になります。
http://www.hyuki.com/writing/techask.html
http://myu.daa.jp/osiete/
■回答するにあたって
・回答する場合はその答えに至るための「コツ」も書いてあげると良いでしょう。
(MSDNのどの項目だとか、何のキーワードでGoogleするとか)
・ネタや煽りは軽く流しましょう。
過去スレ、関連スレなどは>>2-5。
0951947
2007/04/06(金) 02:30:58返信遅れました。
質問が漠然としすぎて混乱させてしまったようで申し訳ありません。
私が知りたかったのはまさに>950さんのコードです。
ありがとうございます。
0952雨とむり
2007/04/06(金) 10:22:52WindowsVistaに入れて起動させようとしたら、
動きませんでした。
どうすれば動くのでしょうか。
※ちなみにXML形式でファイルの保存等を行っています。
0953デフォルトの名無しさん
2007/04/06(金) 10:27:35動かないというのはこんな感じ?
>C:\>hoge
>'hoge' は、内部コマンドまたは外部コマンド、
>操作可能なプログラムまたはバッチ ファイルとして認識されていません。
0954雨とむり
2007/04/06(金) 10:57:09お返事ありがとうございます。
↓こんなメッセージが出ます。
問題が発生したために、プログラムが正しく動作しなくなりました。
プログラムは閉じられ、解決策がある場合はwindowsから通知されます。
ちなみに通知らしき物は来なかったです。
0955デフォルトの名無しさん
2007/04/06(金) 11:37:59詳細見てエラーの起きたアドレス調べて
元の開発環境でそのアドレスがどこか調べるとか
リモートデバッグするか、Vista上でデバッグするとか
0956デフォルトの名無しさん
2007/04/06(金) 11:38:47ここを見れば分かるけど、
VistaってVisualStudioに限ってみても、おびただしい数の不具合があるな…。
開発者泣かせすぎワロタww
0957雨とむり
2007/04/06(金) 11:49:26>>956
ありがとうございます。
よくよく調べてみたら、
manifestファイルという物を使ってGUIの画面をXPっぽくしてました。
このファイルを取り除くと動きましたが、画面の形式は
変えたくないので何か方法はないのでしょうか?
0958デフォルトの名無しさん
2007/04/06(金) 12:47:410959デフォルトの名無しさん
2007/04/06(金) 12:52:15CString bar = "abcd";
const char * foo = bar;
0960デフォルトの名無しさん
2007/04/06(金) 15:31:10環境は VC++2003.NET です。
GDI+にて、描画部分だけ色を反転させた線を引きたいと思っています。
pen>SetDashStyle(DashStyleDash);
pen->SetColor(Color::Black);
pen->SetWidth(1.0f);
などとペンを定義して描画することはできるのですが、
どうやったら反転させることができるのでしょうか?
おながいします。
0961デフォルトの名無しさん
2007/04/06(金) 16:15:180962960
2007/04/06(金) 16:50:31ありがとうございます。
白で線を引くということでしょうか?
反転されるためにXOR指定などがあるのではないか、と予想していましたが・・・。
ちょっとやってみます。
0963デフォルトの名無しさん
2007/04/06(金) 17:05:48SetROP2()
0966デフォルトの名無しさん
2007/04/06(金) 17:23:120967デフォルトの名無しさん
2007/04/06(金) 17:28:13というのがGraphicesが対象とするImageはBItmapであることを限定してないため、
Bitmapであることを前提にしたラスタオペレーションは無くなった。
もしこれをサポートするとなるとBitmapオブジェクトに直接描画メソッドを追加することになるだろう。
自作したいならBitmapを生のイメージで操作する必要がある。
GDI+の範囲でやりたいなら反転とは違うが半透明色で線を引いてみたらどうだろうか。
ただ2005から追加になったCopyFromScreenのCopyPixelOperationにはなぜかラスタオぺの香りが漂っていたりする。
0968960
2007/04/06(金) 17:41:51分かりやすい解説ありがとうございます。
更にお聞きしたいのですが、ビットマップの描画ではラスタオペレータは
困難のように読めますが、反転した線を引くだけでも同様でしょうか?
簡単な(プロパティを指定して終わりみたいな)方法などが
あれは教えてもらいたいのですが・・・
0969デフォルトの名無しさん
2007/04/07(土) 17:37:04「ブレークポイントは現在の設定ではヒットしません。このドキュメントのシンボルが読み込まれていません」と
赤い丸のところに表示されて、ウォッチができません。どうやってらウォッチできるようになりますか?
0970エボニー
2007/04/09(月) 12:45:28VISTAとXPでは行間隔に違いがでます。
XPは隙間無く次の行(改行コード入れてます)の文字列が表示されますが、
VISTAの方は変な隙間が出ます。
この違いを解消する方法を教えてください。
0971デフォルトの名無しさん
2007/04/09(月) 12:48:350972デフォルトの名無しさん
2007/04/09(月) 12:52:230973エボニー
2007/04/09(月) 13:03:59VISTAの仕様という事はコーディングで直せる物ではないとう事でしょうか?
0974デフォルトの名無しさん
2007/04/09(月) 13:05:330975デフォルトの名無しさん
2007/04/10(火) 12:29:24関係ないけどその無駄な改行が気になるんだが・・・
0976バリバリ
2007/04/10(火) 16:41:35改行コードを入れないと文字が横一列に並んでしまいますので
必要なんですよ。
0977デフォルトの名無しさん
2007/04/10(火) 17:07:45そ
うで
す
か
0978デフォルトの名無しさん
2007/04/11(水) 22:51:30ぽっか〜ん(´・ω・`)このあとどうすればいいんだろ
0979デフォルトの名無しさん
2007/04/11(水) 23:02:46使い倒して世界一のプログラマになるに決まってるだろ?
0980デフォルトの名無しさん
2007/04/11(水) 23:40:06俺に預けるといいよ
0981デフォルトの名無しさん
2007/04/12(木) 11:55:46上を目指そうぜ?
0982デフォルトの名無しさん
2007/04/12(木) 12:30:36MFCマルチスレッドプログラミング
UIスレッドワーカースレッド両方使用
スレッド数40ほど
デバッグモードでは動作は正常だったのですが
デバッグ無しモードだと動作が不安定になります
他スレッドの変数を変えて制御してますが
同じスレッドに同時に変更するようなところは見当たりません
デバッグモードでやるとブレークポイントをつけているわけでもないのに
正常に動作します
このような場合の原因はどんなことがあるのかわかりますか?
0983デフォルトの名無しさん
2007/04/12(木) 13:17:34あと、どんな処理をしてるかとかあればもっと答えが出やすいかもよ?
お前が人に聞かれて答えるのに別の質問で似たような表現されてわかるか?
0984デフォルトの名無しさん
2007/04/12(木) 13:32:47スレッドAがループで止まっていてスレッドBが各スレッドの変数を変えに
行っていますスレッドCが条件を充たすとスレッドBにスレッドAのループを
抜けるように変数の値を変えにいきます
ループを抜けたいのに抜けなかったり抜けたくないのに抜けたりします
ループを制御してる変数を
他スレッドから変数を変えにいってるはずが変えられてなかったりしてます
デバッグモードだけで成功するような状況はどういうことなのか教えてください
0985デフォルトの名無しさん
2007/04/12(木) 13:35:55同期はメモリを直接参照するのではなく、ちゃんと同期オブジェクト使わんと遺憾よ。
0986デフォルトの名無しさん
2007/04/12(木) 15:26:21同士よ、とりあえず自分は「質問が出来る」ようになる事を
第一の目標としてるorz
0987デフォルトの名無しさん
2007/04/12(木) 15:43:40volatileをつけてみましたが一緒でした
同期オブジェクトはCCriticalSectionでいいのでしょうか?
CCriticalSectionのオブジェクトを作ろうとしたのですが
error C2501: 'CCriticalSection' : 識別名を宣言するのに、型が指定されていません。
とでます
0988デフォルトの名無しさん
2007/04/12(木) 15:45:07DebugでうまくいってReleaseでうまくいかないケースは
最適化の影響か、領域破壊バグの可能性が高い。
まずは>>985のvolatileを入れるべきとこ探してみたら。
0989デフォルトの名無しさん
2007/04/12(木) 15:46:40Releaseで最適化切ってリビルドして実行してみたら
0990デフォルトの名無しさん
2007/04/12(木) 17:25:38俺はVisualC++6.0買った時、1年位手をつけずに放置した。
0991デフォルトの名無しさん
2007/04/12(木) 17:33:19// TODO: この場所にネイティブ データ用の描画コードを追加します。
の後に
pDC->MoveTo(100,100);
pDC->LineTo(300,300);
と書いてもコンパイルできません。
pDC->TextOut(0,0,"ようこそ");
と書いてもコンパイルできません。
本ではそう書いてあるのですが何故でしょうか?
プロジェクトはMFCアプリケーションのデフォルトで作りました。
0992デフォルトの名無しさん
2007/04/12(木) 17:38:45エラーメッセージをどうぞ。
0993デフォルトの名無しさん
2007/04/12(木) 17:42:16/*pDC*/のコメントを外さないといけないようです。
0994デフォルトの名無しさん
2007/04/12(木) 18:27:48つ変数の未初期化
0995デフォルトの名無しさん
2007/04/12(木) 21:29:58CCriticalSectionを使うためのヘッダファイルが指定してないんだろうな。
でも、この場合CCriticalSectionは適さない。
だって排他制御したいわけじゃないよね。
俺も変数の初期化とvolatile関係と思う。
volatileがどうしても駄目ならそこの関数の最適化を制限するとか。
#pragmaで指定でできるはず。
変数じゃなくて同期オブジェクトを使いたいなら、同期イベントがいいんじゃない。
MFCならCEvent。
ところでスレッドをたくさん使うんですね。
0996デフォルトの名無しさん
2007/04/12(木) 21:55:35ウィンドウズフォームアプリケーションで
MainMenuが表示されません
Formのデザイン画面でもFormの下の方に
ちょこっと表示されるだけで
デバッグ開始すると消えます。
どうすれば表示されるようになるのでしょうか
0997デフォルトの名無しさん
2007/04/12(木) 22:49:42コマンドラインコンパイラを使いたくて、
使用前に必要な手続きであるらしい下のバッチファイルを一発かましています。
C:\Program Files\Microsoft Visual Studio 8\VC\bin\vcvars32.bat
ところでこの手続きPCを起動するたび(?)にやり直しになるんですが、
効果を持続させる方法はないでしょうか。
というかこの手続きは何をしているのでしょうか。
0998デフォルトの名無しさん
2007/04/12(木) 23:05:51内容についてはvcvars32.batの中身を見ればいいさ。
いいやり方は知らない。
いまちょっくらためしたら出来た。
適当にショートカットを作って、そのプロパティで
リンク先を
%windir%\system32\cmd.exe /k "C:\Program Files\Microsoft Visual Studio 8\Common7\Tools\vsvars32.bat"
作業フォルダを
E:\work2
としたらできてるっぽい。
当然スペルは適当に直せよ。
無論コマンドプロンプトを出すときはこのショートカットを使え。ショートカット
実際にコマンドラインコンパイラが動くかは試してねーけどよ。
0999デフォルトの名無しさん
2007/04/12(木) 23:09:05コマンドプロンプトの起動を、
スタート→プログラム→Visual C++ 2005 Express Edition→Visual Studio Tools
→Visual Studio 2005 コマンド プロンプトから行うようにしろ。
10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。