★初心者にVisual C++を教えるスレ★ Part11
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
NGNGお兄ちゃん達が優しく、時には厳しく回答してくれるスレッドです。
■質問するにあたって
・エラーや警告のときはエラーメッセージを書きましょう。
・開発環境も書きましょう。
・できるだけ具体的に。
質問の仕方については次のページが大変参考になります。
http://www.hyuki.com/writing/techask.html
http://www.geocities.co.jp/Beautycare/4965/public/template.html
■回答するにあたって
・回答する場合はその答えに至るための「コツ」も書いてあげると良いでしょう。
(MSDNのどの項目だとか、何のキーワードでGoogleするとか)
・ネタや煽りは軽く流しましょう。
満員電車で携帯なんか使うなよ
0002デフォルトの名無しさん
NGNG>満員電車で携帯なんか使うなよ
???
0003デフォルトの名無しさん
NGNG0004デフォルトの名無しさん
NGNGって感じで書きますが5ずつ増やしたりするばあいはどうやってかいたらいいんでしょうか?
おしえてください。
0005デフォルトの名無しさん
NGNG0006デフォルトの名無しさん
NGNG0007デフォルトの名無しさん
NGNG0008デフォルトの名無しさん
NGNG優先座席以外ではいくらでも使っていいんだよ
0009デフォルトの名無しさん
NGNG電波脳に屁こかれて鼻詰まりながら氏ね
0010デフォルトの名無しさん
NGNG本にはのってないのでわかりませんでした。
もうひとつあるんですけど論理演算子の
左辺と右辺がtrueの場合にtrueになる縦棒2本
みたいなやつってどうやって出したらいいんでしょうか?
ちなみにC++です。
0011デフォルトの名無しさん
NGNGシフト押しながら|
0012デフォルトの名無しさん
NGNGシフト押しながら\を押す
バックスペースの1個右
0013デフォルトの名無しさん
NGNG0014デフォルトの名無しさん
NGNGどちらも偏ってるしスレ違いだからいい加減にしとき。
0015デフォルトの名無しさん
NGNGBOOL GetImageInfo( int nImage, IMAGEINFO* pImageInfo ) const;
nImage :イメージの 0 から始まるインデックス。
を用いて、たとえばリストの3番目のIMAGEINFOを得ようと、 nImage に2といれても、
イメージリスト全体の情報が取られるようで、
そこから得られた HBITMAPを描画すると、イメージリストの全体の画像が表示されます、
リストの特定の番目の IMAGEINFO が得られるような雰囲気がある関数なんですが、
そうなってくれません。
任意の IMAGEINFO が欲しいときはどうしたらいいでしょうか?
0016デフォルトの名無しさん
NGNGvs2003です。
0017デフォルトの名無しさん
NGNG0018デフォルトの名無しさん
NGNGWM_SETFONTでしょ
0019デフォルトの名無しさん
NGNG順番にたどっていくしかないのでしょうか?
0020デフォルトの名無しさん
NGNG{ i+=5; }
もあり
0021デフォルトの名無しさん
NGNGとりあえずこんなこと(※)してみたら怒られました。
ite += 5;
※↑こんなこと。
0022デフォルトの名無しさん
NGNG*(ite+5)
これでアクセスできんじゃないの?
駄目なん?
0023デフォルトの名無しさん
NGNGせんきゅーです。
よく見たらありますね。
使ったことないんでわかりませんでした。
0024デフォルトの名無しさん
NGNGerror C2678: 二項演算子 '+' : 型 'std::list<_Ty,_Ax>::iterator' の左オペランドを扱う演算子が見つかりません
というエラーがでてしまいます。
0025デフォルトの名無しさん
NGNGポインタと同じには使えないのか。
for(int i=0; i<5 ; i++) ite++;
*ite;
これはどーだ?
0026デフォルトの名無しさん
NGNGこれもオペレータオーバーロードで
簡単に実装できるんだから、STLで実装してくれれば
いいのになぁ。
0027デフォルトの名無しさん
NGNGそれならいけます。
ただちょっと面倒なのでなんとかならないものかと考えていました。
やはりみんなfor文書いて苦労しているのでしょうか?
0028デフォルトの名無しさん
NGNG0029デフォルトの名無しさん
NGNGFor eachでひとつの文でできる言語もあるよ。
0030デフォルトの名無しさん
NGNG何か勘違いしてないか?
0031名無し@沢村
NGNGヌヒ等は、std::advance()も知らんのか
0032デフォルトの名無しさん
NGNGvoid advance(InIt& it, Dist n);
このテンプレート関数は、it を n 回インクリメントして前に進めます。
InIt がランダム アクセス反復子型である場合は、式 it += n を評価
します。それ以外の場合は、各インクリメントを実行するのに ++it を
評価します。InIt が入力反復子型または前方反復子型である場合、
n は負でないものとします。
なるほど。
0033デフォルトの名無しさん
NGNGフォーカス位置にオーナードローしなかったときに出てくる
点線枠(みたいなのでちょっと色が変)も出てきやがるんです。
そしてもう一度フォーカスを当てるとその枠は消えるんですけど、
それまではずっと描画されたまま・・・
VC++6.0 sp5 MEでコンパイルしたものは上の現象が起きます。
でも、VC++6.0 XPでコンパイルしたものは正常です。
コンパイル環境というより、実行するときのOS依存かな?
どこをどうしたら出なくなるのかさっぱりわけ分からんです。
心当たりのほどをお伝えください。
0034デフォルトの名無しさん
NGNG003533
NGNGWM_SETFOCUS あたりでなにかすればいいのかと思って調べましたが、
HideCaret() とかでは消えないし、
かといって WM_SET(KILL)FOCUS で return すると、
点線枠は消えるけど WM_DRAWITEM も親ウィンドウに届かないみたいだし。
>>34 僕にも伝えてください(泣
0036デフォルトの名無しさん
NGNGその枠はFocusRectかな?
DrawFocusRectで無理やり消すとかはどうでしょ。
2回目の描画でXORされるはずだが。
0037デフォルトの名無しさん
NGNGおお!ありがとうございます。
でもなんで戻り値ないんでしょうねw
advance(ite,5);
*ite;
これじゃ
for(int i=0;i<5;i++)ite++;
*ite;
と変わらない気が・・・
STL作った人センス悪いんですかね。
0039デフォルトの名無しさん
NGNGと
for(int i=0;i<5;i++)ite++;
が変わらないと思うセンスが信じられん
0040デフォルトの名無しさん
NGNG例外 unknown software exception 〜とでてしますのですが、配列の大きさは限度があるのでしょうか?
メモリは1Gが積んでいて、メモリ以内の大きさにはしてあるのですが。
0041デフォルトの名無しさん
NGNG0042デフォルトの名無しさん
NGNG限度があります。
0043デフォルトの名無しさん
NGNGで、いくらにしたのよ?
0044デフォルトの名無しさん
NGNGとりあえず20000あたりでエラーが発生しました、希望としては100000ぐらいまでとりたいのですが
callocで出来ない物かとやってみてはいるのですが使い方がさっぱりと・・・
0045デフォルトの名無しさん
NGNG40過ぎたらD言語!
0046デフォルトの名無しさん
NGNGその動かないコード晒してみ
0047デフォルトの名無しさん
NGNGオブジェクトのサイズも言ってみよう
004840
NGNG#include <stdio.h>
#include <math.h>
#define NUM 20000
int main()
{
int i;
double x[NUM], y[NUM], z[NUM];
for(i = 0; i < NUM; i++){
x[i] = i;
y[i] = i*i;
z[i] = sqrt(i);
}
for(i = 0; i < NUM; i++){
y[i] = y[i]/x[i];
y[i] = y[i]/z[i];
printf("%f %f\n", y[i], z[i]);
}
return 0;
}
これは実験的に作ってみた奴だけどこんな感じで
実際にはメンバにdouble型を10個ほどもってる構造体配列使いたいんだけど。
0049デフォルトの名無しさん
NGNGで0除算してる
0050デフォルトの名無しさん
NGNG配列をグローバル変数にするとかstatic付きで宣言するしか。
0051デフォルトの名無しさん
NGNGdouble型だったらエラーにならんだろ。
0052デフォルトの名無しさん
NGNG0.0で割れば0除算になるぞ。
0053デフォルトの名無しさん
NGNGヒープにしろ。
0054デフォルトの名無しさん
NGNG6万個だろ
0056デフォルトの名無しさん
NGNGとても覚えきれないよ。やってる人って全部正確な関数名
まで覚えているの?
それとMFCからととベタ書き?みんなどっちでアプリ開発している
の。よかったら聞かせて。
0057デフォルトの名無しさん
NGNGMSDNライブラリを参照したり、ここの連中を活用したり。
0058デフォルトの名無しさん
NGNG何が何から派生してるか覚えるだけで覚えること減ると思う。
0059デフォルトの名無しさん
NGNGAPI使ってWinアプリを書くよりも、ウイザードとMFCを
使ったほうが楽だよ。良書はいっぱい出てるから、まず
そこから始めるのがいいと思う。
0060デフォルトの名無しさん
NGNGデストラクタ自体は明示的に呼び出すことができるわけですが
明示的に呼び出す必要がある、または呼び出した方が効率的にプログラムを組めるときってどんなときですか?
0061デフォルトの名無しさん
NGNG値が変になるだけで、エラーにはならんだろ。
0062デフォルトの名無しさん
NGNGC/C++の基礎があれば、AppWizardから簡単にアプリが組めるのがVCの良いところ。
MFCはWindowsのインタフェースに沿ってクラスが整理されてるし、どのコントロール
使ったらどのクラスなのかってことはすぐ分かる。後はリファレンス本かヘルプでその
クラスにどんなメンバがあるかをつらつら見ていって、使える関数(使いたい関数)から
覚えていけば良い。
0063デフォルトの名無しさん
NGNGあらほんとだ
0064デフォルトの名無しさん
NGNG虚構への逃げ
それはプログラマが絶対にしてはいけないことで
プログラマは常に現実を見なければならない。
その分ストレスも溜まるだろうし、もうプログラムを
書くのは止めようなんて思ったりすることもある。
だけど、それを乗り越えて一日一日、精進していけば
いつか、一流プログラマになれるからガンバレ!
0065デフォルトの名無しさん
NGNG0066デフォルトの名無しさん
NGNG正しくNaNにならないか?
006756
NGNG0068デフォルトの名無しさん
NGNGplacement new の後始末
0069デフォルトの名無しさん
NGNGC++でよく使う関数をまとめてクラスライブラリを
作ろうかと思っています。提供方法の選択肢としては
1) ソースコード
2) LIB
3) DLL
の3つがあると思うのですが、ユーザーがクラスの
継承をすることを考えると、選択肢としては 1) or 2)
ということになるでしょうか?
Cでの利用は考えていないのですが、それでも
DLLでクラスを使うのは難しいですか?
現在想定しているのは小規模のライブラリなので
スタティックリンクでもいいかとは思っているのですが、
今後のことを考えるとダイナミックリンクでの作成方法
があるのであれば知っておきたいもので。
この辺に詳しい本ないですかね? あればご紹介
いただけるとありがたいです。
0070デフォルトの名無しさん
NGNG0071デフォルトの名無しさん
NGNGライブラリのクラスを継承する必要があるのなら無理と思った方がいい。
純粋仮想関数のみのインターフェイスクラスを作るのが、
DLLでクラスを使うときのたしなみですから。
0072デフォルトの名無しさん
NGNGうーむ。難しいんですね。
COMもちょっと見たんですが、めちゃくちゃ面倒で
とても手軽に使える/作れる印象ではないので。
Longhorn になるとAPIがクラスライブラリになると
別スレで読みましたが、DLL関係も改善され
るんでしょうか?
とりあえず、*.LIBかソースコードで提供することにしまふ。
0073デフォルトの名無しさん
NGNGそのソースだと動くと思うが・・・
他の人も言ってるようにスタックにデカい配列を作るなよ。
デフォルトだと1MBが上限だ。
static 変数かグローバル変数か malloc() だろ?
0074デフォルトの名無しさん
NGNG藻まえの作ったクラスライブラリなんか危なくて使えないだろうから
ソースコードにしとけ。
0075デフォルトの名無しさん
NGNGMFCってデバイス独立ビットマップ(DIB)を扱うクラスって
あります? API使うしかないのかな?
0076デフォルトの名無しさん
NGNG印刷を行うプログラムを作っています。
GetDeviceCaps()関数の引数にPHYSICALOFFSETXとPHYSICALOFFSETY を
指定すれば、紙の上辺と左辺からの印刷不能領域の長さが
取得できますが、下辺と右辺からの印刷不能領域の長さは、
どのようにすれば取得できるのでしょうか?
上辺=下辺、右辺=左辺なのかとも思ったのですが、
自分のプリンタでは、上辺と下辺の印刷不能領域の長さが
違っているようで、悩んでおります。
0077デフォルトの名無しさん
NGNGあんたが質問しているドライバはMSで認定されているか?
もし認定されているなら、ガンガン文句言ってやれ。
0078デフォルトの名無しさん
NGNGPHYSICALWIDTHからPHYSICALOFFSETXと
HORZRESを引いた残りが右余白でないの?
0079デフォルトの名無しさん
NGNGVisual C++.net 2003はVisual C++ 6.0の後継なんでしょうか?
Visual C++ 6.0以降でコンパイルしなさいと書いてある場合、
Visual C++.net 2003でコンパイルするのはその条件を満たしてますか?
0080デフォルトの名無しさん
NGNG>Visual C++.net 2003はVisual C++ 6.0の後継なんでしょうか?
yes
>Visual C++ 6.0以降でコンパイルしなさいと書いてある場合、
>Visual C++.net 2003でコンパイルするのはその条件を満たしてますか?
たぶんだいたいはyes。
0081デフォルトの名無しさん
NGNGありがとうございます。
これで買う決心が付きました。
0082デフォルトの名無しさん
NGNGあんま試してないんだけど、
ペゾルド本のVC6向けのサンプルコードは
VC.NET2003でもそのままコンパイル&実行
できました。
これからはC#とかも使う時代だから、
ちょっと奮発してVS.NET2003アップグレード
買った方がいいかも。今なら4万円くらいで
買えるし。
008379
NGNGありがたいアドバイスですが、貧乏学生なもので・・・
できるだけ費用は最小限に抑えようかと。
今のところC/C++で事足りるソースしか書けないので、
C#も必要になったら検討します。
そのときにはバージョンも上がってるだろうし。
0084デフォルトの名無しさん
NGNGあるじゃないですか、あれってメインのダイアログに貼り付けられるんですか?
またできるなら参考になるサイト教えてください。
おねがいします
0085デフォルトの名無しさん
NGNG0086デフォルトの名無しさん
NGNG貧乏学生なら、アカデミック版買うチャンスだぞ。
めちゃ安いからw
0087デフォルトの名無しさん
NGNG学生なら2万円でVS.NET買えるぞ!
【太っ腹?】VSもらえるStudent Day【囲い込み?】
http://pc2.2ch.net/test/read.cgi/tech/1076512706/
MSはタダで配る計画まで持ってるらしい。
0088デフォルトの名無しさん
NGNGアカデミックは商用もOKだけど、
アクティベーションがあるようです。
0089デフォルトの名無しさん
NGNGウゲゲゲゲ
イラネー
0090デフォルトの名無しさん
NGNGでも2万だし。正規品の1/5の価格です。
0091デフォルトの名無しさん
NGNGクラック出来ねーの?
0092デフォルトの名無しさん
NGNGhttp://shop.vector.co.jp/service/campaign/lib/
でも俺は(゚�听)イラネ。
0093デフォルトの名無しさん
NGNGMFCならPreTranslateMessageで何とか出来ますが
MFCを使わないでやるにはどうしたら良いでしょうか。
MFCのソース覗いた所メッセージループ内でPreTranslateMessageを
TranslateMessageの前に呼び出して実現していることが分かりましたが
DialogBoxで作成したダイアログでは自前のメッセージループでは無いので
実装することができませんでした。
0094デフォルトの名無しさん
NGNGVC6.0+MFCで開発したプロジェクトが
.NET2003でビルドできませんでした。
単純には移行できないらしい。
0095デフォルトの名無しさん
NGNGメッセージループで TranslateMessageを
呼び出す前に自前のPreTranslateMessage関数を
呼び出したらどう?
0096デフォルトの名無しさん
NGNGこのコード、GCCだとコンパイル通るのですが、
VC++6.0だとコンパイルできないのです。
通したいのですがなにか技ないですか?
#include <iostream>
class A { public: int a1; char *p; int a2;};
class B {public: int b1; int b2;};
union C { A aa; B bb;};
C c = { aa:{ 1, "hoge", 2 } };
C d = { bb:{ 3, 4 } };
int main(){ std::cout<< c.bb.b2 << "\n"; return 0;}
0097デフォルトの名無しさん
NGNG何だそのコード。gccで通るのか確かめたくもないな。
コンパイル通すだけなら、
C c;
で切っといてmain内で
c.aa.a1 = 1;
とかをそれぞれやれば?
009893
NGNGですからDialogBoxで作成したダイアログでは自前のメッセージループでは無いので
それが出来ないんですよ。
MFCみたくCreateDialogで作成後自前のメッセージループ回すか
システムフック使えば何とかなるかとも思いますがどちらもスマートでない・・・。
0099デフォルトの名無しさん
NGNGAPIオンリーでダイアログ使ってるの?
0101デフォルトの名無しさん
NGNGAPIで記述してもWinMain()のメッセージループはあるのですよね?
子ウインドウ作った場合も、メッセージはWinMain()のメッセージループ
で取得されて、目的のウインドウ目掛けてディスパッチされると思うんですが。
MSGにターゲットのhWndが含まれているから、こういうことができる。
これじゃ回答になってない?
0102デフォルトの名無しさん
NGNGおまえWin32APIでモーダルダイアログ作ったこと無いだろ。
>>100
スマートな方法は無い。
010393
NGNG一応、メッセージループは存在しますがその前で
DialogBoxを使用しダイアログを作成しているので
そのメッセージループは基本的には使われることは有りません。
最初、そこに飛ばされるものだと思ってコード組んでたのですが
どうもうまく行ないので調べてみたら件の事に気が付いた次第です。
ですのでMainのメッセージループでは取得出来ません。
0104デフォルトの名無しさん
NGNGCreateDialogだっけ?
そっちじゃダメなん?
010593
NGNGですからMFCみたくCreateDialogで作成後自前のメッセージループ回すか
システムフック使えば何とかなるかとも思いますがどちらもスマートでないので
何か良い方法は無いかなぁとお知恵を拝借しに参った次第です。
0107デフォルトの名無しさん
NGNGVC6だけど、APIレベルで定義されてる大文字の構造体
(WNDCLASSとか)だと表示されない気がする。
なんとかならんのかな。
0108デフォルトの名無しさん
NGNG0109デフォルトの名無しさん
NGNG前は"->"みたいな時に候補がずるっと出てきたけど、
ある日OS再インストールした後からは出てこなくなっちゃったなぁ…。
これもなんか設定とかあるのかな…。
一通り探したつもりなんだけど結局よくわからなくて諦めたんだ。
再インストール前も後も同じVC6なのに挙動が違うから、最初は気持ち悪かった。
0110デフォルトの名無しさん
NGNG*.ncbファイルを削除してプロジェクトを立ち上げる
と、出てくるかも知れぬ。
あと、メンバじゃ無くて関数になるけど、
VC6だと日本語で終わるコメントの後は出てこないような気がする。
// ぬるぽ
::MessageBox( <- ヒント出ない
/* ぬるり */
::MessageBox( <- ヒント出る
0111デフォルトの名無しさん
NGNG>>93
ダイアログプロシージャで、IDCANCEL、でESCはつかまる。
あと、WM_DLGCODE WM_*DOWN UP とかで、
どのキーもなんとかなるような気がするけど、
実はもちっと細かいところで俺も苦戦中。
0112デフォルトの名無しさん
NGNGつまない答えありがとう
0113デフォルトの名無しさん
NGNGまったく手の付けようがなくて困っています。
どこかに、そういったサンプルソースはないでしょうか?
0114デフォルトの名無しさん
NGNGなぜか「定義されていない識別子です」ってエラーが出ます。
なにかこの関数特有の問題にぶつかっているのか、他に根本的な問題を見落としているのか
ド素人なのでちょっと見当がつかないのですが、
こういった場合どんな問題が考えられるでしょうか。
どなたか助けてください。お願いします。
0115デフォルトの名無しさん
NGNGmmsystem.hがインクルードされてないからだろ。
WIN32_LEAN_AND_MEANか何かが定義されてるとこのヘッダはインクルード
されなかったような気がする。
0116デフォルトの名無しさん
NGNGまさにWIN32_LEAN_AND_MEAN定義をしてあります。
他のプロジェクトでは特にヘッダファイルもいらないのに
何でこのプロジェクトだけエラーがでるのかなぁと思って悩んでたんですが、
おかげさまで解決しました。
ありがとうございました。
0117デフォルトの名無しさん
NGNG簡単に済ませたいなら「MCI 録音」あたり、
とことんやるなら「waveInOpen 録音」あたりでぐぐれ。
0119デフォルトの名無しさん
NGNGありがとう。
0120デフォルトの名無しさん
NGNGプロジェクトの設定で「MFCを使用しない」にすると
リンクタブのオブジェクトライブラリモジュールに
システムライブラリ(user32.libとか)が出てきますが
「MFCを使用する」にすると出てきません。
これは一体どういうことでしょうか?
MFCのDLL中にあるということでしょうか?
0121デフォルトの名無しさん
NGNGVisual C++.net 2003を手に入れるには、買いなおす
しかないのでしょうか?
0122デフォルトの名無しさん
NGNGそのとおり。
0123121
NGNGガーン
・・情報ありがとうございまうす。
・・と思っていたら、私の質問に誤りがありました!
私が使っているのはもっぱらVisual C++なのですが、
パッケージは、VisualStudio.net 2002でした。
買い換えるとますます高いわけですが、やはり無償アップデート
等はありませんか?
0124デフォルトの名無しさん
NGNGあるわけねーだろ。
0125デフォルトの名無しさん
NGNG…っとそれっぽいのが。
ttp://pcweb.mycom.co.jp/news/2003/04/22/25.html
今はどうなってるか知らんけどな。
ただ、アカデミックは無理とか言う話だった気がする……
うちは、2003から入った人だからよく覚えとらんなぁ…
0126デフォルトの名無しさん
NGNG0127デフォルトの名無しさん
NGNG無償アップデートは終了してるよ。
0128デフォルトの名無しさん
NGNGttp://www.microsoft.com/japan/msdn/vstudio/specialoffer/default.asp
0129デフォルトの名無しさん
NGNGVSならステップアップグレードに汁。
4万円くらい。
0130121
NGNG情報ありがとうございます。
期間終了とのことですが、しかし私が持っているのは
アカデミックだったので、どちらにしろ無意味でした・・。
それにちなんで、もう一つ質問があるので、宜しくお願します。
私がVC++しか使わないのにStdioを買っていたのはC++の最適化コンパイラ
が欲しかったからなのですが、2003でもVC++の方には最適化コンパイラが
搭載されていないのでしょうか?
0131デフォルトの名無しさん
NGNGVCにはつーか、Standardにはない。
そしてProfessional版以上はVSしかないという現実。
0133デフォルトの名無しさん
NGNG0134デフォルトの名無しさん
NGNG実行速度。
0135デフォルトの名無しさん
NGNG12 34
なるファイルがある場合
このファイルを読み込んで
12 34 と
ウインドウに表示する、表示するサンプルプログラムを
教えてください。
0136デフォルトの名無しさん
NGNGif ((strcmp(txt, "12 34") == 0)
printf("12 34\n");
0137デフォルトの名無しさん
NGNGすいません。質問が悪かったです。
バイナリモードでファイルを読み込んで
その内容をウインドウに表示プログラム
です。
0138デフォルトの名無しさん
NGNGCString cs;
char uc;
unsigned char ucc;
int a;
if(cf.Open("ファイルのあるばしょ",CFile::modeRead)==0)
return;
cf.Read(&uc,1);
ucc=(unsigned char)uc;
a=atoi(&uc);
cs.Format("%x",ucc);
MessageBox(cs,MB_OK);
cf.Close();
これで一応表示されるとみた デモなんか無駄なことばかりしてると思う
初心者だもの
0139138
NGNG0140デフォルトの名無しさん
NGNGchar *buf;//ここにデータを受けておく
char DumpBuf[8];
//以下をループ
wsprintf(DumpBuf, "%02x", (UCHAR)buf[i]);
スペースや改行を適当な場所に入れること
0141140
NGNGCString DumpStr = "";
にしておいて
DumpStr += DumpBuf;
とかして出力文字列を集めていくんだよ
0142デフォルトの名無しさん
NGNGなんで DumpBuf[8] なのだ? 3だろ?
0143140
NGNGUCHARキャストしてるのであり得ないんだけど、万一化けたことを考えて
いちおう32bit分取ってみたが。部分的に書き換えてキャストし忘れとかも
あるかもしれないし。
こういうのはダメ?
0144デフォルトの名無しさん
NGNG0145デフォルトの名無しさん
NGNGbufはchar型へのポインタなんで1byteを超える事は無いと思われ。
それに "%02x" も1byte以上は処理しないだろうし。
char DumpBuf[2] なんてプログラムを書いて
たまたま動いていた漏れが言うのもなんだが。w
char DumpBuf[sizeof("FF")]; と宣言するのが良いかも。
0146デフォルトの名無しさん
NGNGつーかUCHARキャストしないとunsignedで処理されるので0x80以上は
頭にFFFFFFが付いて8字になるよ。"%02x"は「最低2字」だからオーバー
するなら無視されて2字を超えるものが入る。
0148デフォルトの名無しさん
NGNG宿題なら宿題スレへ。
そうでないなら、ちっとはその使えない頭を使ってみようと言う努力くらいはして見せろ。
0149デフォルトの名無しさん
NGNG>UCHARキャストしないとunsignedで処理されるので
「signedで処理されるので」だな
%xが32bit幅だからということで
0150デフォルトの名無しさん
NGNG{
char TempBuf[9];
CString DumpStr = "";
for(UINT i = 0; i < size; i++){
ZeroMemory(TempBuf, 9);
wsprintf(TempBuf, "%02x", (UCHAR)buf[i]);
DumpStr += TempBuf;
if((i + 1) % 8 == 0){
if((i + 1) % 16 == 0)
DumpStr += "\r\n";
else
DumpStr += " ";
}
else
DumpStr += " ";
}
return DumpStr;
}
0151デフォルトの名無しさん
NGNG0152デフォルトの名無しさん
NGNG0153デフォルトの名無しさん
NGNG現在時間の表示の仕方教えてください。
現在時間の取得の仕方が分かりません
0154デフォルトの名無しさん
NGNGhttp://www.google.com/search?num=50&hl=ja&ie=Shift_JIS&c2coff=1&q=VC%2B%2B+%8C%BB%8D%DD%82%CC%8E%9E%8A%D4%82%CC%8E%E6%93%BE&btnG=Google+%8C%9F%8D%F5&lr=lang_ja
0155デフォルトの名無しさん
NGNGそこは一応書き込む前に見ました。
でもよく分からなくて…
0156デフォルトの名無しさん
NGNG0158デフォルトの名無しさん
NGNGどうもです、これなら分かりそうです。
0159デフォルトの名無しさん
NGNGその割にはちゃんとコンパイルできてるし。
#include <iostream>
using namespace std;
int main()
{
cout << "aaaaa\n";
return 0;
}
これだけでも死ぬほどエラー吐くし。
STLの中の人が原因?
0160デフォルトの名無しさん
NGNGエラー出ないよ
0161159
NGNG0162デフォルトの名無しさん
NGNGそれならincludeにパスが通ってないんじゃないか?
0163デフォルトの名無しさん
NGNGQuickCのころは警告度最大でコンパイルしてたけど、
VCだと最大にするとwarning出まくりで気持ち悪いから
デフォルトの警告度にしてる。
0164デフォルトの名無しさん
NGNG親ダイアログ作成
↓
子ダイアログを親ダイアログAを親にしてDialogBoxで作成。
↓
子ダイアログの子ウィンドウスタティックテキストをサブクラス化。
↓
子ダイアログを閉じる。
↓
すると親ダイアログも自動的に閉じてしまう。
0165デフォルトの名無しさん
NGNG0166デフォルトの名無しさん
NGNGいろいろ検索してみましたが、有力な情報を得ることができませんでした。
そこで質問があります。
MFCで、そういったアプリケーションは作れるのでしょうか?
作れるのであれば、詳細な情報をいたたけると幸いです。
0167デフォルトの名無しさん
NGNG#pragma warning(disable:4786)
0168デフォルトの名無しさん
NGNG無理と思う。
MFCではビットマップすらロクに扱えない。
DirectX とか .net になるのでは?
0169デフォルトの名無しさん
NGNG>カメラとマイクからの入力をキャプチャして、
このような機能はないので、MFCを使ってもその部分で楽はできない、だろ
0170デフォルトの名無しさん
NGNG0171デフォルトの名無しさん
NGNGわかりました。
DirectXでがんばります。
0172デフォルトの名無しさん
NGNGint aとかchar *aとかオブジェクト指向とか16進数とか
もっと単純にしる!
0173デフォルトの名無しさん
NGNG0174デフォルトの名無しさん
NGNG1.開式の辞
2.卒業証書授与
3.式辞 校長
4.祝辞 理事長
5.祝辞 来賓
6.送辞
7.答辞
8.閉式の辞
0175デフォルトの名無しさん
NGNG複雑でない(かもしれない)プログラミング言語
http://www2.airnet.ne.jp/sardine/complang/ABCintro.html
0176159
NGNGhttp://support.microsoft.com/default.aspx?scid=kb;ja;154419
Q10 : コンパイラ警告 "C4530: C++ 例外処理を使っていますが、アンワインド セマンティクスは有効にはなりません。-GX を指定してください。" が発生します。この意味を教えてください。
A10 : 標準 C++ ライブラリを使用するプログラムは、C++ の例外処理を有効にしてコンパイルする必要があります。C++ の例外処理は、次の方法で有効にできます。
[プロジェクトの設定] ダイアログ ボックスで、[C/C++] タブの [C++ 言語] カテゴリにある [例外処理を有効にする] (Visual Studio .NET 以降では [C/C++] タブの [コード生成] カテゴリにある [C++ の例外処理を有効にする]) をオンにします。
または
/GX コンパイラ スイッチを使用します (Visual Studio .NET 以降では /EHsc です) 。
0177デフォルトの名無しさん
NGNG0178デフォルトの名無しさん
NGNG複雑なコードを単純にするために必要なのさ坊や
0179147
NGNGお手数おかけしました。
0180デフォルトの名無しさん
NGNG1.
リファレンスは初期化時以外に参照先を変更できない。
関数から返ってきたら、引数を渡した時とは別の変数を指していたり、
はたまたNULLが入っているというポインタのような技法が使えない。
リファレンスはポインタを制限強化したものといえる。
2.
リファレンスではオーバーロードできない事がある。
例えば、
void func1(int a);
void func2(int& a);
はどちらも同じ呼び出しになるので区別できない。
3.
リファレンスだと再帰的な処理が一貫して同じ形式で呼び出せる。
(a = b = c = d ; とか)
0181180
NGNG自己訂正。2の関数名はどっちもfuncということで。
0182デフォルトの名無しさん
NGNGstd::time_t systime = std::time(0);
std::tm *cur = std::localtime(&systime);
を実行して得られたsystimeの値を hh:mm:ssのようにするにはどうすればいいのでしょう?
初心者ですいません。
0183デフォルトの名無しさん
NGNGそのアプリからダイアログを表示したりすると1回目だけ
16k〜32k程使用メモリが増えたりするんですけど
こういうものなんでしょうか?MDIのアプリを作って
ウィンドウを切り替えたりした時とかも同じ様に
使用メモリが微妙に増えていくんですが・・・。
メモリリークやらオブジェクトの解放漏れやらが心配です(´Д`;)
0184182
NGNG質問するついでに漏れの質問にも答えてくれ!
0185デフォルトの名無しさん
NGNGhttp://pc2.2ch.net/test/read.cgi/tech/1077985164/173
マルチのくせに生意気な
0186デフォルトの名無しさん
NGNG> MFCではビットマップすらロクに扱えない。
LoadImage()とCBitmapを組み合わせれば、それなりにできますがね。
あと、あなたはCImageを知らないようですね。
0187デフォルトの名無しさん
NGNG算数の世界
0188デフォルトの名無しさん
NGNGとかよく言われますが、例えばVCでも
Cのランタイムdll(MSVCRT.dll)が
必要なので一緒だと思うのですが、
なぜなんでしょうか?
0189デフォルトの名無しさん
NGNGvbvmはバージョンごとに自分で用意しないといけないから
「ランタイムが必要」という認識が生じる。
0190デフォルトの名無しさん
NGNG0191188
NGNGレスありがとうございます。そういうことなんですね。
ところでMFCにはスタティックライブラリを使用するのを
プロジェクトの設定で出来ますがCのランタイムについては
どうすればできるのでしょうか?
0192デフォルトの名無しさん
NGNGそれが閉じられてしまって起動するのですが、これって
どうにかならないのでしょうか?オプションを見ても
それらしき設定がないのですが...
0193デフォルトの名無しさん
NGNGvc6?
0194192
NGNG0195デフォルトの名無しさん
NGNG>プロジェクトの設定で出来ますがCのランタイムについては
msvcr71.dllとかのバージョン番号つきはMFCのDLLの設定と同じみたいだが
msvcrt.dllは設定できないみたい。
0196デフォルトの名無しさん
NGNGフォルダオプションの関連付けのアクションでDDEを使用しないように汁。
0198188=191
NGNGレス遅れてすみません。
どうもありがとうございます。
VS6.0しかないのですが、VS.net
だとMFCの設定に合わせてCランタイム
もスタティック、ダイナミックリンクされる
んですね。
でもMSVCRTってMSのうえにVCってもろに
ついているのにシステムライブラリ扱いなんですね。
他のC++処理系(BCBとか)はどうやってるんだろう。
(.netのMSCOR LIB.dllみたいな感じで、どのコンパイラ
メーカーもウィンドウズだとこれを使うんですかね。
それにしてもVCってついているのはちょっと...)
0199デフォルトの名無しさん
NGNG>プロジェクトの設定で出来ますがCのランタイムについては
プロジェクトの設定 -> C++ -> コード生成 -> 使用するランタイムライブラリ
じゃないのか?
0200デフォルトの名無しさん
NGNGMFCでSDKのテクニックは全て使えるのでしょうか?
MFCであえてSDK流にAPIをダイレクトに呼び出す様な・・・
(SDK + α = MFC ?)
0201デフォルトの名無しさん
NGNGAPIをダイレクトに使わねばならないことは
多い。
0202デフォルトの名無しさん
NGNG0203200
NGNGと言うことでよろしいでしょうか?
0204デフォルトの名無しさん
NGNG0205デフォルトの名無しさん
NGNG0206デフォルトの名無しさん
NGNGそのとおり。
無駄にならないどころかAPIの知識が必須です。
0207200
NGNGこれで、心置きなく勉強できます!
0208デフォルトの名無しさん
NGNG0209デフォルトの名無しさん
NGNG0210デフォルトの名無しさん
NGNG0211デフォルトの名無しさん
NGNGほとんどそれで間に合うし下手なコード書くより出来上がってるクラスとメンバ関数
組み合わせた方が間違いも少ないだろうし。win32APIは必要に応じてちょこっと
使う程度で良いんだし。
0212デフォルトの名無しさん
NGNG↓
MFCを見るとそこに(使いにくいなりに)ある。
なので、MFCを使わない理由がない限りMFC中心と言う>211の意見に賛成。
0213デフォルトの名無しさん
NGNG作ってどういうメンバを置いたら良いかが何となく分かるようになっていく。プロが
作ったクラスの設計として手本にするのも良いと思う。
0214デフォルトの名無しさん
NGNG0215デフォルトの名無しさん
NGNG引数にchar*を取るWin32APIを見ると思わず std::stringを使うようにラップする関数を作ってしまうのですが
いい加減面倒になってきました。
他の皆さんはcharでちゃんとbufを確保して渡す等をその場で行っているんでしょうか?
バリバリのC職人の方はともかく、C++から入った人とかは。
0216デフォルトの名無しさん
NGNGSTLの string は使わないからよく分からないんだけど、
APIに文字列を渡すときはCStringのインスタンスを
strBuf.GetBuffer() / strBuf.ReleaseBuffer 使ってるな。
Cの文字列と互換性を持たせるやつ。
そんな頻繁には使わないから関数にはしないケド。
MFCやってて、FromHandleとか、一時的なオブジェクトを
返すのがあるけど、あれ、背後で確保したリソースをどういう
風に解放してるのかと思ってソースを追ったら、結構複雑な
ことやってんのね。やっぱガベコレないと面倒なんだなぁと
思った次第。
0217デフォルトの名無しさん
NGNGこんな感じでSDIで作りたいのですが、
ダイアログみたいなのはどうやって貼り付けたらいいんですけ?
おねがいします。
0218217
NGNGグロ画像のUPする場所にアップしたんで決してグロ画像じゃないです。
0219デフォルトの名無しさん
NGNG0220デフォルトの名無しさん
NGNGそんなやつには教えたくない
0221デフォルトの名無しさん
NGNG0222デフォルトの名無しさん
NGNG参考になるサイトありませんか?
0223デフォルトの名無しさん
NGNGhttp://www.google.co.jp/search?q=mfc+cformview&ie=UTF-8&oe=UTF-8&hl=ja&btnG=Google+%E6%A4%9C%E7%B4%A2&lr=lang_ja
0224デフォルトの名無しさん
NGNGありがとうございます
0225デフォルトの名無しさん
NGNGオープンソースのソフトのソースをいくつか見てみたんです、が!
なんかCViewとかそんなん全然でてこんですよ
0226デフォルトの名無しさん
NGNG0227デフォルトの名無しさん
NGNGマニュアル見てもそれらしい事が書いてある場所が見つけられなかったんで・・・良かったら教えて下さい。
0228デフォルトの名無しさん
NGNGexe(アイコンの状態)にファイルをドラッグ&ドロップすると起動し、
ファイルが開かれている状態にしたいのですが、
その場合のドラッグしたファイルを受け取る方法が分かりません。
どうか教えてください。
0229デフォルトの名無しさん
NGNGつまりドロップしたファイル名とかね、を
渡すんだよ。
0230デフォルトの名無しさん
NGNGコマンドライン引数(文字列)を取得なら下記二つのいずれかが簡単
* GetCommandLine()
* __argv[i]
あるいは
MFC CCommandLineInfo
0232デフォルトの名無しさん
NGNG'C:\XXX\XXX.cpp'
ファイルを保存できません。ファイルが他のアプリケーションで使用されている可能性があります。
というメッセージが頻繁に表示されます。
他のアプリケーションでファイルを開いてもいません。
正常に保存される場合もあります。
VSなどの開発環境をインストールするときに、やってはいけないことをやったがために、
こういう状態になったと思われます。解決方法をご存知の方教えていただけないでしょうか?
0233デフォルトの名無しさん
NGNG'C:\XXX\XXX.cpp'
ファイルを保存できません。ファイルが他のアプリケーションで使用されている可能性があります。
というメッセージが頻繁に表示されます。
他のアプリケーションでファイルを開いてもいません。
正常に保存される場合もあります。
VSなどの開発環境をインストールするときに、やってはいけないことをやったがために、
こういう状態になったと思われます。解決方法をご存知の方教えていただけないでしょうか?
0234デフォルトの名無しさん
NGNGいないか確認。VC++がクラッシュしたりすると画面には出てなくても
プロセスがそのまま残っていたりして、知らずにもう一回VC++を
立ち上げて使っているとそういうようなエラーが出ることがある。
0235デフォルトの名無しさん
NGNG--------------------------------------------------------------
A * a; // 抽象クラス
AA * aa = new AA(); // A の派生クラスその1
AB * ab = new AB(); // A の派生クラスその2
(中略)
void func(A * arg)
{
// ここで arg が AA を指すのか AB を指すのかを知りたい!
}
--------------------------------------------------------------
上記のように抽象クラスのポインタを引数にとる関数の中で、
そのポインタが派生クラスのどのオブジェクトを指すのかを
知りたいのですが、さっぱりわかりません。
ご存知の方教えていただけないでしょうか?よろしくお願いします。
0236デフォルトの名無しさん
NGNG------------------------
if ( arg == AA型 )
// 処理1
else if ( arg == AB型 )
// 処理2
------------------------
こんな感じです。
0237デフォルトの名無しさん
NGNG0238デフォルトの名無しさん
NGNGC++だと設計から見直す。RTTI使わなくても何とかならないか?
0239デフォルトの名無しさん
NGNG> // 処理1
>else if ( arg == AB型 )
> // 処理2
普通はこーゆーことをするために仮想関数がある
0240デフォルトの名無しさん
NGNGお前は何でもかんでも仮想関数でやるのか。
すごいな。
0241デフォルトの名無しさん
NGNGオレは>>239じゃないがそれも一つの方法じゃないの?
他人を批判するならおまいの正しいと思う方法を書けよ
いずれにせよクラス設計の問題になると思うけど
0242239
NGNGここは初心者スレなのでC++初心者を考慮してヒントを書いただけ
>お前は何でもかんでも仮想関数でやるのか。
「普通は」と書いてある。実際に仮想関数にするのであれば
>>238,241 が指摘しているように設計の問題になると思う。
自分の場合、時間がない場合はRTTIを使うか、クラスを判別する仮想関数を追加する。
しかし、基本的には設計を見直して仮想関数内で処理するほうが正しいと思う(個人的には)。
0243デフォルトの名無しさん
NGNG>>236だけだと「普通は仮想関数使う」と言えるほどの情報では無いかと。
0244デフォルトの名無しさん
NGNG0245235
NGNG------------------------
if ( dynamic_cast<AA *>(arg) )
// 処理1
else if ( dynamic_cast<AB *>(arg) )
// 処理2
------------------------
とりあえずは期待した動作をしているようです。
回答してくださった方、ありがとうございました。
0246デフォルトの名無しさん
NGNG0247235
NGNG------------------------
#include <typeinfo>
if ( typeid(*arg) == typeid(AA) )
// 処理1
else if ( typeid(*arg) == typeid(AB) )
// 処理2
------------------------
この方法でも >245 と同じ動作をしてくれました。
どちらの方法が正しいやり方なんでしょうか?
0248デフォルトの名無しさん
NGNG「普通は」というやつは、質問者を馬鹿にしてる。
質問者は他の言語で仮想化くらい知っているかもしれないだろう。
自分のしきたりを押し付けるなよ。
おまえ、押し売りに向いているかも。
0249デフォルトの名無しさん
NGNG0250デフォルトの名無しさん
NGNG0251デフォルトの名無しさん
NGNG意味の解りやすさから言えば247か? ただ、
239じゃないけど、やっぱりC++としては仮想関数でなんとかするのが普通だとおもう。
class A;が更新できないとか言うのなら、しかたないけど。
0252デフォルトの名無しさん
NGNG0253デフォルトの名無しさん
NGNGお前の考え方は一人でやる分には十分だよ。
でも、普通、多人数でやる分にはオブジェクト指向は、あんたみたいな奴が
100%ならいいが。ぷ。
0254デフォルトの名無しさん
NGNG「それは詭弁です。」っと。
0255デフォルトの名無しさん
NGNG0256デフォルトの名無しさん
NGNG0257デフォルトの名無しさん
NGNG見たんだけど、プログラム苦手&はっきり言って嫌いな俺にとってはもう
頭グチャグチャになっちゃいましたYO
しかもあと2,3個プログラムが残ってる・・あああ・・
短いからまだいいものの、長いプログラムなんてソース読んで
どうやって中身を知るんでしょうネェ。不思議でなりませぬよ。
えーっと、質問は、随分前にC++のプログラムが〜って話をしたら
えらく馬鹿にされてC++に未来なんてねーなんて言うことを低脳野郎に
言われたんですが、プログラムとしてはどうなんでしょう。未来なくても
使えるなら使いますがね(使いたくないよ・・。
0258デフォルトの名無しさん
NGNGいってLisperにでもなりなさい(w
0259デフォルトの名無しさん
NGNGスレ違いな予感。
0260デフォルトの名無しさん
NGNG給食喰えるなら、幾らでもプログラム作るぞ。はぁはぁ。
0262デフォルトの名無しさん
NGNGC++はまともなライブラリがないから、
短期で開発したい企業はC#やJavaでやるんじゃないかな。
0263デフォルトの名無しさん
NGNG。はぁはぁ
0264デフォルトの名無しさん
NGNG0265デフォルトの名無しさん
NGNGプリンタで印刷を行うプログラムを作っています。
「MS Pゴシック」「9ポイント」を指定し、
TEXTMETRIC 構造体の tmAveCharWidth を確認すると
15 となっているのですが、実際に20文字を横一列に
印刷すると、30mmではなく約31mm の長さがあります。
tmAveCharWidth ×(文字数) で、印刷される文字の長さが
取得できると思っていたのですが、間違っているのでしょうか?
ご存知の方は、ご教授ください。お願いします。
0266257
NGNGLISP ってなんでしょう。
>>260
あは〜っ、素晴らしい人ですね、あなた。憧れますよ。
1000個以上の2次元配列データを隣り合わせに次々外積計算するプログラム書けッ
っと言われて挫折した不肖ワタクシ、配列にデータを入れるのが精一杯でした・・。
>>262
ライブラリの話はなんか聞いた記憶があります。
でもないことが不満になるような経験がないっす。
そんなに悪いという印象はないんですがネェ。知らないだけですが(w
プログラマの頭は宇宙 と思った一日でした。
0267デフォルトの名無しさん
NGNG貧乏人をイジメルナヨ。
0268デフォルトの名無しさん
NGNGMS PゴシックでなくMS ゴシックの方を使ってください。あるいは、
「P」持つ、「プロポーショナル」の意味や。AveCharWidthのAve(rage)の
意味を噛みしめませう。
0269デフォルトの名無しさん
NGNG0270デフォルトの名無しさん
NGNGロケーるを読んで、今は、右カキかとか読んで、結局、日本語縦書き、
と、朝鮮語の横書きは嫌だな。ぷ。
0272デフォルトの名無しさん
NGNGへへ、まあがんばれよ。あと、後ろを以下略。ぷ。
0273デフォルトの名無しさん
NGNG追加するのはどこで指定すればいいんでしょうか?
vc6の頃には設定画面にkernel32.lib user32.lib...なんて書いてあるところが有って、
そこに付け足せば良かったような気がするんですが。
0274デフォルトの名無しさん
NGNGローカルっていう読み方しかないのですが
ホントにアメリカ人とかはそう呼んでいるのですか?
0275デフォルトの名無しさん
NGNG定義したかったんですが、間違えて MYDLG としてしまいました・・・
気を取り直して"MYDLG"と入れなおしたところ、
「この名前のシンボルは既に存在します」というエラーで弾かれていまいます。
この辺のシンボル情報を削除したいのですが、
どこを弄ればよろしいのでしょうか?
ちなみにIDを"MYDLG2"と全く別のものにすると、
コンパイルもプログラムも正常に動きます。
0276デフォルトの名無しさん
NGNG俺はモビールだな、で、いいのだ。
0277デフォルトの名無しさん
NGNGテキストファイルから名前、日にちなどchar型とかint型とか違うのを読み込まなきゃいけないんですが。
2次元配列とかかなと思うんですけど、出来ますかね?
0278デフォルトの名無しさん
NGNGおそらくロカイルかもな。ぷ。
0279デフォルトの名無しさん
NGNGご指摘ありがとうございます。
それで、申し訳ないのですが、265 は書き込みミスで、元々MS ゴシックを
使っていました。(等幅フォントでないと計算できないですよね)
それでも、計算上で30mm のはずが、実際は31mm になります。
自分としては、tmAveCharWidth がLONG型で表現されているが、
実は小数点レベルが丸められてしまっている or 文字と文字の
間の長さ(tmInternalLeading?取得すると0なのですが)を
計算に加味する必要があるのか、などと原因を考えてみています。
0280デフォルトの名無しさん
NGNG外国見るならで鮮度+アセンド=日本のアセンド
で何なんだ。いまいち日本語タイプセットは嫌だ。
0281デフォルトの名無しさん
NGNG0282デフォルトの名無しさん
NGNG0283デフォルトの名無しさん
NGNGプロジェクトのプロパティの「リンカ」の「コマンドライン」って所に
入れればいいんちゃうかな。
もしくは
#pragma comment(lib, "*.lib")
0284デフォルトの名無しさん
NGNGプロジェクトのプロパティのリンカの入力の一番上だろ?
0285デフォルトの名無しさん
NGNG0286デフォルトの名無しさん
NGNGfinancial:フィナンシャル、finance:ファイナンス
mobil:モービル、mobile:モバイル
product:プロダクト、produce:プロデュース
0287デフォルトの名無しさん
NGNGadministrator : アドミニストラトー
orange : オランゲ
alt : graph
0288デフォルトの名無しさん
NGNGそれともただたんにソースが悪いだけなんでしょうか…
0289デフォルトの名無しさん
NGNGVC7.1の導入。
それがいなやら
#pragma warning(disable : 4786)
0290289
NGNG0292やは。あ〜るくんだよ。
NGNG0293デフォルトの名無しさん
NGNGかたくなに守り通しているんでしょうか?
0294デフォルトの名無しさん
NGNGありがとうございました。
無事リンクされました。m(_ _)m
0295デフォルトの名無しさん
NGNG学校だけでなく自宅でも学ぼうと思いましてVCを購入しようと思うのですが
まだ何の知識もないのでどれを購入すべきか迷っています。
スタンダードかプロフェッショナルか…
よろしかったらアドバイスお願いいたします!
0296デフォルトの名無しさん
NGNG仕様の公開されてないDLLからヘッダーファイルを
生成するとなるとどうすればいいんかね…?
何とかきばってLIBファイルは生成したんだがそこで行き止まり…。
よろしくおながいします…。
0297デフォルトの名無しさん
NGNGVC単品ならスタンダードしか選択肢がないよ
0298デフォルトの名無しさん
NGNGアカデミックでVisual Studio.NET 2003 (2万3千円円)を買うか、
アップグレード版の VS.NET2003 (3万5千円)を買うべし。
前者はアクティベーションあり。
後者はアクティベーションなし&インスコに元バージョンも不要。
これから勉強するならC#とかも視野に入れておいたほうがいいから、
VSをオススメしますよ。
0299デフォルトの名無しさん
NGNG学習用途ならVC何ぞ要らん。
BCCやGCCでタダでやれ。そのほうが勉強にもなるし。
0300デフォルトの名無しさん
NGNG0301デフォルトの名無しさん
NGNG学割でVS
0302デフォルトの名無しさん
NGNG学校と同じものを買う
0303デフォルトの名無しさん
NGNGそんなことできんのか?
0304デフォルトの名無しさん
NGNG<algorithm>というヘッダーファイルがあるけど
0305デフォルトの名無しさん
NGNGVC6.0でMFCベースのDoc/View形式SDIアプリケーションを作成しています。
ダイアログに付けたボタンにリソースのビットマップをデバイスコンテキストで
貼り付けているのですが、CDialogメンバ関数の役割分担がいまひとつ分からず、
ダイアログを開いた初期状態でそのビットマップが描画されません。
とりあえずOnCtlColorの中に書いて、同じダイアログ内のスクロールバーを
動かしたときには描画されているので、デバイスコンテキストの使い方は
間違っていないと思います。
OnInitDialogに書くと落ちてしまいますし、どうか初期化を行う正しい関数をご教授ください。
0306デフォルトの名無しさん
NGNGCBitmapButtonを使えばいいのでは?
今はCButtonから別のクラス作ってオーナードローで書いてる?
0307デフォルトの名無しさん
NGNGピクチャボックスにビットマップを描画するのと同じ要領で、
BitBlt等使って描画していました。
CBitmapButtonもオーナードローも知りませんでした。勉強しなおします。
ありがとうございました。
0308295
NGNG>>297>>302
学校ではVisualC++のプロフェッショナルを使うらしいのですが…
スタンダードのほうが安いので支障なければそっちで、と思ったんです。
>>299
検索してみます!情報ありがとうございます。
>>298>>301
VisualStudioですか。その方が後々役に立ちそうですね。
と、まだ迷っている感じです。
何の学習も始まってないのにちょっと先走ってしまったのかな、と
反省しております。
アドバイスを参考にさせていただきます。ありがとうございました!
0309デフォルトの名無しさん
NGNGわかっていたよそんなことは。フフフフ
0310デフォルトの名無しさん
NGNGいやいや、 Time == Money だよ
0311デフォルトの名無しさん
NGNG0312デフォルトの名無しさん
NGNG0313デフォルトの名無しさん
NGNG用意されてないんですか、、、。TRACE()はMFCのみなのかな、、
0314デフォルトの名無しさん
NGNG_RPT1(_CRT_WARN, "%s", "ウンコー\n");
0315デフォルトの名無しさん
NGNGCButtonクラスにSetBitMap()というのがあるよ
(CBitmapButtonはひとつのボタンに4つのビットマップを割り当てるのに使う)
0316デフォルトの名無しさん
NGNGどうしたらいいのでしょう?
0317デフォルトの名無しさん
NGNG0318デフォルトの名無しさん
NGNG俺はいつもこうやってる。
CString csData = "TEST";
LPTSTR lpszData = new TCHAR[csData.GetLength() + 1];
_tcscpy(lpszData, csData);
もっと効率いい方法があったら誰か教えてくれると嬉しい。
0319デフォルトの名無しさん
NGNG0320デフォルトの名無しさん
NGNG汎用変換マクロは基盤となる機構を形成します。上のマクロの例で示した A2W はこうした "汎用" マクロの一例です。これは OLE とは特に関係はありません。汎用マクロの一覧を以下に示します。
A2CW (LPCSTR) -> (LPCWSTR)
A2W (LPCSTR) -> (LPWSTR)
W2CA (LPCWSTR) -> (LPCSTR)
W2A (LPCWSTR) -> (LPSTR)
0321質問です!
NGNGとはどのようにすれば宜しいのでしょうか?
0322321
NGNGwinmm.libの居場所は突き止めました。
0323デフォルトの名無しさん
NGNG#pragma comment(lib,"winmm.lib")
0324デフォルトの名無しさん
NGNGどうもです。
やってみます!
0325デフォルトの名無しさん
NGNGCString csData = "TEST";
CString lpszData;
lpszData = csData;
0326デフォルトの名無しさん
NGNGどうもありがとう、できました。
0327デフォルトの名無しさん
NGNGそもそも変換の必要すらないはずなのだが・・・
0328デフォルトの名無しさん
NGNG0329デフォルトの名無しさん
NGNGLPCWSTR unko = L"ウンコー";
CString string = unko;// OK
LPCWSTR unko2 = string;// NG
0330デフォルトの名無しさん
NGNGUNICODEビルドにする
0331デフォルトの名無しさん
NGNG0332デフォルトの名無しさん
NGNGCStringにoperator LPCWSTR なんてもうありませんが、何か?
0333332
NGNG0334デフォルトの名無しさん
NGNG何勝手に条件つけてんだ
0335デフォルトの名無しさん
NGNGで、>>328-329の何が間違ってるの?
0336デフォルトの名無しさん
NGNGVisualC++.net 、 Windowsフォームアプリ(C++マネージ拡張)で
複数のフォームをもったアプリを書こうかとおもうんだけど、
自分以外のフォームを閉じようとするにはどうすればいいんだろ?
0337デフォルトの名無しさん
NGNG思ってることちゃんと説明しろよ。傍で見てても誰がどっち向いて言ってんのか
よくわからんよ。
0338デフォルトの名無しさん
NGNG間違いない。
0339デフォルトの名無しさん
NGNGソフトをバージョンアップしたのですが、シリアライズしたいデータが増えてしま
いました。ファイルの読み込み・保存はMFC標準のC<ソフト名>Docクラスの
Serialize関数で行っています。そこで、以前のバージョンとファイルの互換性
を持たせるにはどのように実装するのが一般的なのでしょうか?互換性に関し
ては、古いバージョンのファイルが最新のバージョンで読み込めて、最新のバー
ジョンで保存したファイルと同じ形式のファイルで保存できればいいです。
調べてみたところ、GetObjectSchema関数を使ってオブジェクトのバージョンを
取得し、Serialize関数内でオブジェクトのバージョンごとに分岐させて処理すれ
ばうまくいきそうですが、これが一般的なのでしょうか?
0340デフォルトの名無しさん
NGNG0341デフォルトの名無しさん
NGNGレスありがとうございます。
0342デフォルトの名無しさん
NGNGソースファイルが500を超えてきて、
ソリュージョンエクスプローラで該当のソースコードを探し出すのに時間がかかってしまいます。
フォルダを作る以外に何か良い方法はありませんか?
0343デフォルトの名無しさん
NGNGVCのバージョンは?
0344r
NGNGプロジェクト分けれ。
0345デフォルトの名無しさん
NGNG0346デフォルトの名無しさん
NGNG一度に全部のソースが必要なのかー?
プロジェクトを分けて lib に汁。
0347デフォルトの名無しさん
NGNGたぶんアレだ。ゲームだから、
class CEnemy{};
class CEnemySURAIMU public CEnemy{};
class CEnemyBESU_SURAIMU public CEnemy{};
class CEnemyHOIMI_SURAIMU public CEnemy{};
class CPartner{};
class CPartnerSENSI public CPartner{};
class CPartnerSOURYO public CPartner{};
みたいに派生させてて、さらに1クラス1ソースファイルになってるんじゃないかな?
0348デフォルトの名無しさん
NGNGboost::regexは商用利用可だと思うけど、自信ないのでちゃんとライセンス読んで。
0349デフォルトの名無しさん
NGNGTemplate ですね。VC++ 6.0 で動くかな。。
0350デフォルトの名無しさん
NGNGregexとかはほぼだいじょーぶ。
ttp://boost.sourceforge.net/regression-logs/cs-win32-RC_1_31_0.html
0351デフォルトの名無しさん
NGNG現状では、LIBがすでに3つに分かれていまして、
汎用ライブラリ、ポリゴンエンジン、ネットワークエンジン。
exeプロジェクトは2つ、クライアント、サーバーです。
ネットワークエンジンとポリゴンエンジンは共用しています。
この環境において、
たとえばゲームのメインを編集している時に、
ちょっと爆発エフェクト増やしたいなって思ったら、エフェクト用のクラスBombEffect.cppをファイル一覧から探して開いて編集開始、
BombEffect編集中にポリゴンエンジンの機能不足を感じたら、さらにポリゴンエンジンまで戻り、ポリゴンエンジンで行列演算の間違いに
気がついたら、こんどはジオメトリライブラリまでさかのぼる事になります(極端な例ですが・・)。
一度この修正に入ると、Try&Errがしばらく続くので、その間は複数のクラスを同時に編集する機会が発生します。
ファイル数が少ないうちは良いのですが、ファイル数が増えてきたために、ファイル間移動自体に時間がかかるようになってきました。
みなさまは、こういった問題をどのように解決してるのか、参考意見をいただければと思いました。
私は、最終呼び出し順に並んでくれるようなブックマーク(できればメソッド名まで)や、自分でランドマークが付けられる機能があれば、
5〜6箇所前後の修正を同時にしなきゃいけないケースでも、メインルーチンとサブルーチンの行き来がスマートだなぁとおもうのですが、
こういう機能は無いんですかね?
今は、クラスのメソッドを右クリック>定義位置にジャンプ といった方式で行ったり来たりしていますが、深いと結構手間です・・。
0352デフォルトの名無しさん
NGNGそうそう、1クラス1ファイルです。ひょっとして皆さんは数クラス1ファイルなんでしょうか?
0353デフォルトの名無しさん
NGNGVS2003なら、必要なファイル以外のタブは表示しないというのはどうすか?
0354デフォルトの名無しさん
NGNG0355デフォルトの名無しさん
NGNG始めはそれでやっていたんですが、すぐに一覧から外れちゃうんですよね。イチイチ閉じるのもめんどくさくて。
0356デフォルトの名無しさん
NGNGマクロで何か出来ませんかねー。
0357デフォルトの名無しさん
NGNG0358デフォルトの名無しさん
NGNGまぁ、xyzzyじゃなくてもいいんだが。
要は、エフェクトクラスのソースを一つの(マルチバッファな)エディタで開き、
ポリゴンエンジンのソースを一つのエディタで開き、
ってな具合にやると結構捗る。
で、基本は1クラス1ファイルだが、場合によっては複数入れてるなぁ。
0359デフォルトの名無しさん
NGNGなるほどー。別エディタも平行して考えて見ます。
ところで、マニュアルを検索したところ、
>ブックマーク, ソース ファイル内の行にブックマークを付ける
という物が、俺が求めていたものに近いらしい。
しかし、名前なしのブックマークしか出来ない・・。ひょっとしてprofessionalだから?(涙)
引き続き調べ中・・。
0360デフォルトの名無しさん
NGNGhttp://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/vsintro7/html/vxtsknavigatingtext.asp
の
>タスク一覧のショートカット ("名前付きブックマーク") を追加するには
を使う事にしました。生産性アガッタ。
0361デフォルトの名無しさん
NGNG0362デフォルトの名無しさん
NGNG0363デフォルトの名無しさん
NGNG(10)は配列ではないですよね?
0364デフォルトの名無しさん
NGNGおまいなあ
配列だったら[x]だろ・・・
0365デフォルトの名無しさん
NGNGコンパイル時にCPtrListのコンストラクタが呼び出される?
0366デフォルトの名無しさん
NGNGclass aaa
{
static CPtrList bbb;
}
の初期化か。
>365
プログラムが生まれてもいないのに呼べる訳ないだろ。
0367デフォルトの名無しさん
NGNG0368デフォルトの名無しさん
NGNGbbb=10;
0369デフォルトの名無しさん
NGNG0370デフォルトの名無しさん
NGNGCPtrListのコンストラクタはCPtrList()だと思うのですが?
そのソース、コピペできる?
そのソース、コンパイルできる?
そのソース、実行できる?
そのソースの実行結果、検証できる?
0371デフォルトの名無しさん
NGNGclass aaa {
int gvaaa ;
public:
aaa() {}
aaa( int i ) {
gvaaa = i ;
this->p() ;
}
void p( void ) {
printf( "gvaaa=%d\n", gvaaa ) ;
}
} ;
つづく
0372デフォルトの名無しさん
NGNGclass bbb {
public:
bbb() {}
static aaa a ;
} ;
aaa bbb::a(10) ;
main() {
bbb *b ;
b = new bbb ;
b->a.p() ;
}
以上
0373デフォルトの名無しさん
NGNG0374デフォルトの名無しさん
NGNGウィンドウプロシージャのWM_MOVEで(ウィンドウが動かされたら)もとの位置にMoveWindowすることでも一応できるのですが
「動かす→戻す」の間のブレがちょっと見苦しいんです。
0375デフォルトの名無しさん
NGNG時計のアプリケーションとかで、ウィンドウ自体にリージョン設定して、
どこを押してもドラッグできるアプリケーションってあるけど、
アレの逆をすればいいんじゃないかなと思うんだけど…どうかな?
たしか、クライアント領域でマウス左ボタンを押下しても、
バーの部分で押されたとみなして処理する…とかそんな処理だったと思うけど…。
それのやり方を解説してるサイトは結構あると思う。
…ここまで書いてナンだけど、もっとスマートなやり方ありそうだ…。
0376デフォルトの名無しさん
NGNG1. タイトルバーをなくす
0377デフォルトの名無しさん
NGNG0378デフォルトの名無しさん
NGNGpSysMenu->DeleteMenu(SC_MOVE,MF_BYCOMMAND);
0379デフォルトの名無しさん
NGNG0380デフォルトの名無しさん
NGNGお見事!
0381デフォルトの名無しさん
NGNGWindows SDK編 第1部のイントロダクションのことで質問です。
コピーしてプロジェクトに挿入して実行してみたんですが、エラーが起きます。
エラーメッセージは、
「error C2440: '=' : 'void *' から 'struct HBRUSH__ *' に変換することはできません。(新しい動作 ; ヘルプを参照)
'void*' から非 'void' 型への変換には明示的なキャストが必要です。」
てな感じです。どこが悪いのか教えてください。
宜しくお願いします。
0382デフォルトの名無しさん
NGNG0383デフォルトの名無しさん
NGNG0384デフォルトの名無しさん
NGNG結局解決できずSDKやめて別サイトのMFC解説に走った覚えが。
0386デフォルトの名無しさん
NGNGttp://www.kumei.jp/c_lang/setvc.htm
↑の下の方にある蛇足を見れ
0387デフォルトの名無しさん
NGNGそれを書いた当時(VC++4.2)だとコンパイルエラーにはならなかったんじゃ無かったっけ?
あと純粋にCだとエラーにならない(VC6)。拡張子を.cにしてコンパイルしてみそ。
0388デフォルトの名無しさん
NGNG>あと純粋にCだとエラーにならない(VC6)。拡張子を.cにしてコンパイルしてみそ。
( ゚д゚)ポカーン
0390デフォルトの名無しさん
NGNGん ? 何か間違ってるか ?
0391388
NGNGC++コードの拡張子を.cにしちゃだめだろうと言いたかったんですが、
じつはこっちだったんですね。
ttp://www.kumei.jp/c_lang/sdk/sdk_00.htm
失礼しました。m(_ _)m
0392デフォルトの名無しさん
NGNGコレにファイルをドロップしたら、
エディットコントロールにファイルのフルパスを入れたいわけなんです。
ちょっといろいろ探しているのですが、ダイアログボックスに張ったコントロールに
ドロップされたファイル名の拾い方がわかりません。
やり方とかしってる方がいたら教えてもらえるとありがたいです。
0393デフォルトの名無しさん
NGNGCOleDropTarget
0395デフォルトの名無しさん
NGNGexeファイルをcgiにリネームしてもダメでした。
VC++を持ってるんですけどこれでできるのですか?
0396デフォルトの名無しさん
NGNG鯖環境を書け。まずはそれからだ。
0397デフォルトの名無しさん
NGNGEDITをサブクラス化してWM_DROPFILESを拾うっていうのはダメか?
0398デフォルトの名無しさん
NGNGAAA!CAFEです。
コンパイル済みのファイルをアップロードするそうなのですが。
0399デフォルトの名無しさん
NGNGwinじゃないだろ
0400デフォルトの名無しさん
NGNG0401デフォルトの名無しさん
NGNG開発したマシンではないマシンで動かすと、
MFC71.dllがないとかいわれてしまいます。
どうしたらエラーを解決できますか?
0402デフォルトの名無しさん
NGNG足りないdllを入れる
0403デフォルトの名無しさん
NGNGスタティックリンクする。
MFCをやめる。
0404デフォルトの名無しさん
NGNG今時、「MFC共有DLLの使用」なんていう貧乏くさいことはおやめなさいってことよ。
HDDの容量も腐るほどあるんだし。
0405デフォルトの名無しさん
NGNGそのアプリケーションを窓から投げ捨てる
0406デフォルトの名無しさん
NGNG0407デフォルトの名無しさん
NGNGラジャー。
0408デフォルトの名無しさん
NGNG0409デフォルトの名無しさん
NGNGclass hogehoge{
bool flag;
HANDLE hHoge;
public:
hogehoge(){
flag = 0;
}
~hogehoge(){
CloseHandle(hHoge);
}
DWORD WINAPI KuSoSuRe(){
while(flag){Sleep(1000);}
}
hogestart(){
flag = 1;
hHoge = CreateThread(NULL,0,KuSoSuRe,0,0,NULL);
}
hogestop(){
flag = 0;
}
}
'CreateThread' : 3 番目の引数を 'DWORD (LPVOID)' から 'LPTHREAD_START_ROUTINE' に変換できません。 (新しい機能 ; ヘルプを参照)
スコープ内でこの名前を持つ関数でターゲット型に一致するものはありません。
どうすればいいんですか?
0410デフォルトの名無しさん
NGNGstatic にして、第4引数にthisを渡しましょう。
0411デフォルトの名無しさん
NGNGariko
0412デフォルトの名無しさん
NGNGDLL 中で malloc() して文字列を返す場合、この領域はいつまで保たれるのでしょうか?
呼び出し元のアプリが終了した時点で開放されるのか、あるいは自分で開放する必要があるのか。
DLL の関数が終了した時点で失われるということはないですよね?
環境は次の通りです。
Windows XP
Visual C++ 7.0
Delphi 5
VC で DLL を作って Delphi のアプリから呼び出すことを考えています。
よろしくお願いします。
0413デフォルトの名無しさん
NGNG>DLL 中で malloc() して文字列を返す場合、この領域はいつまで保たれるのでしょうか?
死ぬまで。
死ねば記憶(記憶領域の管理)は失われます。
これはDLL内の関数だろうが、アプリ本体だろうが同じ。
>呼び出し元のアプリが終了した時点で開放されるのか、あるいは自分で開放する必要があるのか。
あなたのプログラミングスタイルが「アプリが終了した
時点で解放されるなら、自分で解放する必要はない」と
いうものなら、自分で解放する必要はありません。
0415デフォルトの名無しさん
NGNGCのプログラムを書く場合はどのアイコンをクリックすればよいのでしょうか?
本当にしょーもない質問ですいません
0416デフォルトの名無しさん
NGNG1.スタートメニューからMSVS.NETを起動(横8の字のアイコン)
2.スタートページで「新しいプロジェクト」
3.win32プロジェクト
4.名前を付けてOK
5.アプリケーションの設定で何を作るのか決める
0418デフォルトの名無しさん
NGNGhttp://msdn.microsoft.com/vstudio/downloads/updates/sp/vs6/sp6/default.aspx
0419デフォルトの名無しさん
NGNG「おまえ今日このVBコード C++に張り替えておいてくれ
5時までな!!といって客先に出ていってしまいました。」
20ラインくらいなのですが変換てつだってください。
おねがいします。動作環境で不具合が出たらしくいそいでいるのです
0420デフォルトの名無しさん
NGNG0421デフォルトの名無しさん
NGNGとりあえず閉じかぎかっこの位置が変だな
0422419
NGNG'備考呼び出しCall StrReplace(OutputLine(StrInt), vbLf, vbCrLf)
’LFをvbCrLfに置換する処理
Public Function StrReplace(ByRef strExp As String, _
ByRef strFind As String, _
ByRef strRep As String, _
Optional ByVal lngStart As Long = 1, _
Optional ByVal lngCount As Long = -1, _
Optional ByVal lngComp As Long = vbBinaryCompare) As String
Dim strBuffer As String '置き換え結果一時格納バッファ
Dim lngPos2 As Long 'InStr 関数用文字検出位置
Dim lngMidSize As Long 'Mid$ 関数で抜き出される文字数
Dim lngTotalSize As Long '置き換え開始ポインタ
Dim lngExpLen As Long '置き換えの対象となる文字列のサイズ
Dim lngFindLen As Long '検索される文字列のサイズ
Dim lngRepLen As Long '置き換えされる文字列のサイズ
Dim lngBufSize As Long '予約された文字列のサイズ
Dim lngMargin As Long '予約バッファサイズと置換サイズの差
Dim lngRepCnt As Long '置き換えを行った回数
lngExpLen = Len(strExp) 'strExp のサイズを得る
lngFindLen = Len(strFind) 'strFind のサイズを得る
lngRepLen = Len(strRep) 'strRep のサイズを得る
If lngExpLen = 0 Or lngFindLen = 0 Then 'strExp または strFind がサイズ 0 だった場合
StrReplace = strExp '何も置換せずに関数を抜ける
Exit Function
End If
0423419
NGNGlngBufSize = lngExpLen + ADD_SIZE 'バッファサイズを strExp より ADD_SIZE 多く確保
Else
lngBufSize = lngExpLen
End If
strBuffer = String$(lngBufSize, vbNullChar) 'strBuffer を NULL 文字で埋める
If lngStart <= lngExpLen Then '正しい検索開始点が設定されている場合
If lngStart <> 1 Then
Mid(strBuffer, 1, lngStart - 1) = Left$(strExp, lngStart - 1) '検索開始点より前の文字列をバッファにコピー
End If
lngTotalSize = lngStart
Else '正しい検索開始点が設定されていない場合
StrReplace = strExp '何も置換せずに関数を抜ける
Exit Function
End If
0424419
NGNGlngPos2 = InStr(lngStart, strExp, strFind, lngComp) '文字を検索し、その位置を返す
If lngRepCnt = lngCount Then lngPos2 = 0 '置換回数が設定回数に達した場合、見つからなかったことにする
If lngPos2 Then '文字が見つかった場合
lngMidSize = lngPos2 - lngStart '見つかった文字までのサイズを得る
If (lngTotalSize + lngMidSize + lngRepLen) > lngBufSize Then '次回置換時に予約サイズを超えてしまう場合
lngMargin = (lngTotalSize + lngMidSize + lngRepLen) - (lngBufSize + ADD_SIZE) '次回置換時に必要なサイズとバッファサイズの差分を得る
If lngMargin <= 0 Then 'ADD_SIZE 増加するだけで事足りる場合
strBuffer = strBuffer + String$(ADD_SIZE, vbNullChar) 'ADD_SIZE の数だけ NULL を増やす
lngBufSize = lngBufSize + ADD_SIZE
Else 'ADD_SIZE 増加するだけではサイズが足りない場合
strBuffer = strBuffer + String$(lngMargin, vbNullChar) 'lngMargin の数だけ NULL を増やす
lngBufSize = lngBufSize + lngMargin
End If
End If
0425419
NGNGlngMidSize = lngExpLen - lngStart + 1
If (lngTotalSize + lngMidSize + lngRepLen) > lngBufSize Then '次回置換時に予約サイズを超えてしまう場合
lngMargin = (lngTotalSize + lngMidSize + lngRepLen) - (lngBufSize + ADD_SIZE) '次回置換時に必要なサイズとバッファサイズの差分を得る
If lngMargin <= 0 Then 'ADD_SIZE 増加するだけで事足りる場合
strBuffer = strBuffer + String$(ADD_SIZE, vbNullChar) 'ADD_SIZE の数だけ NULL を増やす
lngBufSize = lngBufSize + ADD_SIZE
Else 'ADD_SIZE 増加するだけではサイズが足りない場合
strBuffer = strBuffer + String$(lngMargin, vbNullChar) 'lngMargin の数だけ NULL を増やす
lngBufSize = lngBufSize + lngMargin
End If
End If
Mid(strBuffer, lngTotalSize, lngMidSize) = Right$(strExp, lngMidSize) '対象文字列の最後までを抜き出す
lngTotalSize = lngTotalSize + lngMidSize - 1
End If
0426419
NGNGStrReplace = Left$(strBuffer, lngTotalSize) '置き換え結果を返す
End Function
長文すみません以上です
0427デフォルトの名無しさん
NGNG{
int i = 0;
while(true) {
i = str.Find("\n", i + 1);
if(i == -1) break;
str.Delete(i);
str.Insert(i, "\r\n");
}
return str;
}
0428デフォルトの名無しさん
NGNG{
return str.Replace("\n", "\r\n");
}
0429デフォルトの名無しさん
NGNGできるとしたらどうすればいいですか?
よろしくお願いします。
0430デフォルトの名無しさん
NGNG0431デフォルトの名無しさん
NGNGSP6 キタァァァァァーーーー!!
待ち望んでたぜ……
…でも、VC7.1で慣れちゃったけどな。
0432デフォルトの名無しさん
NGNGvc++6.0使っているのですが、
クラス内でvectorを使うにはどうしたらいいですか?
普通に#include<vector>して、
using namespace std;
vector<hoge> a;
しているのですが、どうですか?
0434デフォルトの名無しさん
NGNG0435432
NGNG#include "hoge.h"
using namespace std;
vector<hoge> a;
と、記述して、ビルドすると、
'hoge' : 定義されていない識別子です。
'vector' : クラスのテンプレート名で仮引数リストの指定がありません。
と、エラーが出るのですが、どこが間違っていますか?
0436デフォルトの名無しさん
NGNGhoge.hの内容が分からないのに答えられないよ。
0437432
NGNGhoge.hはただのクラス定義なのですが。。
クラスの内容も関わってきますか?
0438デフォルトの名無しさん
NGNG(ここに何かかいてあるんじゃねーの?) 'hoge' : 定義されていない識別子です。
(ここに何かかいてあるんじゃねーの?) 'vector' : クラスのテンプレート名で仮引数リストの指定がありません。
情報の小出しうぜぇ。つか、hogeの定義が間違ってるんだよ。ヴォケ。
0439デフォルトの名無しさん
NGNG0440432
NGNG情報の小出しですいません。質問に慣れていないので。
(ここに何かかいてあるんじゃねーの?)
のところには、
クラスファイルのパスとエラー箇所の行数、
とエラー番号(error C2065 <= こんなんでした)が書いてあるだけです。
mainやメンバ関数無いにvectorを宣言した時はビルドが通るのですが、
メンバ変数として、クラスのヘッダに記述した時だけ
上記のエラーがでます。
0441デフォルトの名無しさん
NGNG相変わらず VBだけは 起動時に SP6 と 起動画面に 入るのですが
VC には、入りませんね。。 ちゃんと入っているか不安です(笑)
いったい何が変わったのでしょう?
0442デフォルトの名無しさん
NGNG> クラスファイルのパスとエラー箇所の行数、
> とエラー番号(error C2065 <= こんなんでした)が書いてあるだけです。
この辺が重要なわけで。
とりあえず、>>1でも読んで出直してきた方が良いと思われます。
0443デフォルトの名無しさん
NGNGだまっておしえれ
0444デフォルトの名無しさん
NGNG教わりたかったら情報提供しろ。それができないなら来るんじゃね。
0445デフォルトの名無しさん
NGNG俺は教える側。
0446デフォルトの名無しさん
NGNG前方宣言と一言書けばすむことだろ。
0447デフォルトの名無しさん
NGNGまた直ぐにSP6が出るだろうと思いそのままにする事2年ぐらいたつか・・・
でもつい最近、好い加減もう出ないだろうと諦めSDKを入れた序にSP5も導入。
そしたらまた直ぐにSP6ですか。全くナンダヨー。
SP5とSDKセットのバックアップCDまで作ったのにさぁ。
0448デフォルトの名無しさん
NGNG?
0449デフォルトの名無しさん
NGNGprintfでデバッグ情報を吐かせたいんですが、
この場合標準出力はどこになっているんでしょうか。
0450デフォルトの名無しさん
NGNGなんでそういう無理なことするの?
もっと自然なやり方があるんじゃない?
0451デフォルトの名無しさん
NGNG自分で開かなければ、どこでもないです。
ふつうは、OutputDebugStringを使ってVSの出力ウインドウに
表示させます。
0452デフォルトの名無しさん
NGNG負け組乙w
0453デフォルトの名無しさん
NGNGと言ってみるでつ
0454デフォルトの名無しさん
NGNGいいですね。
0455デフォルトの名無しさん
NGNG疑問に思ったので質問させてください。
ウインドウを表示するプログラムを作成し、そのプログラムのデバック中に
表示されているウインドウにフォーカスがある状態でF12を押すと、
test.exe の 0x77fa144b でハンドルされていない例外が発生しました : ユーザー設定のブレークポイント。
と言われ停止するのですが、これは仕様なのでしょうか?
調べてもF12に何か割り当てられている様子がないです。
それとも自分の環境がおかしいだけなのでしょうか?
ちなみに環境はVS2003 + Win2000です。
0456デフォルトの名無しさん
NGNG0457デフォルトの名無しさん
NGNGSP6入れた後、CPU命令とか使える?
0458455
NGNG他の環境でも同じ症状がでると言うことが分かっただけでも有難いです。
例外と言ってはいるもののcatch出来ません。
DebugBreak呼んでるのと同じ動作をするようです。
F12を押したら何かアクションを起こすようにしたかったのですが・・・
意外と問題になってないのが不思議です。
回避策が見つからないのでひとまず諦めます。
どうもありがとうございました。
0459デフォルトの名無しさん
NGNG#include <dprintf.h>
すれば dprintf で printf 見たく使えるから そっちが楽でしょう。。
P.S.
VC6 で STL 標準の使えるんですか? 今日から使おうと思って。。 STLport を入れました。ライブラリ無しで。
0460デフォルトの名無しさん
NGNGほんなら vsprintf()とOutputDebugString()を組み合わせた関数を
自分で作りなさい。
0461デフォルトの名無しさん
NGNG#include <dprintf.h>
すれば dprintf で printf 見たく使えるから そっちが楽でしょう。。
0462デフォルトの名無しさん
NGNGなんのこっちゃ・・・
0463デフォルトの名無しさん
NGNGdprintf 使えば ってこと。。 案外知らない人が多いんだね。。。
0464デフォルトの名無しさん
NGNG馬鹿は書き込むな
0465デフォルトの名無しさん
NGNGで、dprintfはVCに標準で入ってるわけ?
0466デフォルトの名無しさん
NGNG入っています!
#include <dprintf.h>
してね!
0467デフォルトの名無しさん
NGNGあら、本当だ。
MSDNライブラリに書いてないのにね。
0468デフォルトの名無しさん
NGNG外したい時は逆に面倒になる悪寒。
0469デフォルトの名無しさん
NGNG0470デフォルトの名無しさん
NGNG0471デフォルトの名無しさん
NGNG結局、デバッグ版とリリース版で切り替える処理を自分で入れなきゃいけないんだな。
そう便利でもないな。
0472デフォルトの名無しさん
NGNG0473デフォルトの名無しさん
NGNG何かインクルードする必要でもあるのでしょうか?
環境
Visual C++6.0
Windows XP
Microsoft Outlook2002
a.cpp
<<<<<<< ここから
#import "C:\Program Files\Microsoft Office\Office10\MSOUTL.OLB" \
no_namespace exclude("_IRecipientControl", "_DRecipientControl")
int main()
{
return 0;
}
<<<<<< ここまで
0474473
NGNGエラー内容は下記のとおりです。
コンパイル中...
a.cpp
c:\program files\microsoft visual studio\myprojects\test\debug\msoutl.tlh(971) : error C2146: 構文エラー : ';' が、識別子 'Assistant' の前に必要です。
c:\program files\microsoft visual studio\myprojects\test\debug\msoutl.tlh(971) : error C2501: 'AssistantPtr' : 識別名を宣言するのに、型が指定されていません。
c:\program files\microsoft visual studio\myprojects\test\debug\msoutl.tlh(971) : error C2501: 'Assistant' : 識別名を宣言するのに、型が指定されていません。
c:\program files\microsoft visual studio\myprojects\test\debug\msoutl.tlh(975) : error C2146: 構文エラー : ';' が、識別子 'COMAddIns' の前に必要です。
c:\program files\microsoft visual studio\myprojects\test\debug\msoutl.tlh(975) : error C2501: 'COMAddInsPtr' : 識別名を宣言するのに、型が指定されていません。
c:\program files\microsoft visual studio\myprojects\test\debug\msoutl.tlh(975) : error C2501: 'COMAddIns' : 識別名を宣言するのに、型が指定されていません。
c:\program files\microsoft visual studio\myprojects\test\debug\msoutl.tlh(981) : error C2146: 構文エラー : ';' が、識別子 'LanguageSettings' の前に必要です。
c:\program files\microsoft visual studio\myprojects\test\debug\msoutl.tlh(981) : error C2501: 'LanguageSettingsPtr' : 識別名を宣言するのに、型が指定されていません。
c:\program files\microsoft visual studio\myprojects\test\debug\msoutl.tlh(981) : error C2501: 'LanguageSettings' : 識別名を宣言するのに、型が指定されていません。
c:\program files\microsoft visual studio\myprojects\test\debug\msoutl.tlh(985) : error C2146: 構文エラー : ';' が、識別子 'AnswerWizard' の前に必要です。
c:\program files\microsoft visual studio\myprojects\test\debug\msoutl.tlh(985) : error C2501: 'AnswerWizardPtr' : 識別名を宣言するのに、型が指定されていません。
以降省略。
0475デフォルトの名無しさん
NGNG0476473
NGNG0477デフォルトの名無しさん
NGNG迷っています。ですが、友達からC++のソフトMicrosoft Visual C++ 6.0を
貰って、それをインストールしました。
これでも、C++のソフトでもC言語はできるのでしょうか?
あと、他にイイ言語があれば教えてください。
よろしくお願いします
0478デフォルトの名無しさん
NGNGできます。
0479デフォルトの名無しさん
NGNGそれと、勉強するのにココのサイトがわかりやすぞ!っていうサイトが
あったら教えてもらえませんか?C++でも、Cでもいいので・・・
いくつも質問してすみません。
0480デフォルトの名無しさん
NGNG0481デフォルトの名無しさん
NGNGここ。<判りやすいぞ
0482デフォルトの名無しさん
NGNG本当にありがとうございました☆
0484デフォルトの名無しさん
NGNG変な癖がつきそうだし、ansi違反のサンプルだし…
0485デフォルトの名無しさん
NGNGもうちょっとましなのあったら教えてあげて。
残念ながら自分は知らないです。
よろしくお願いします。
0486デフォルトの名無しさん
NGNG具体的にどこらへんが悪い?
特に良いと思うわけでもないが、そんなに問題があるようにも見えないので。
0487デフォルトの名無しさん
NGNGまぁ、printf()如きに「しょうがないなぁ〜」とか言われたくないよな。
0488デフォルトの名無しさん
NGNG(*^▽^*) (*^▽^*) (*^▽^*) (*^▽^*) (*^▽^*) (*^▽^*) (*^▽^*)
(*^▽^*) (*^▽^*) (*^▽^*) (*^▽^*) (*^▽^*) (*^▽^*) (*^▽^*)
(*^▽^*) (*^▽^*) (*^▽^*) (*^▽^*) (*^▽^*) (*^▽^*) (*^▽^*)
(*^▽^*) (*^▽^*) (*^▽^*) (*^▽^*) (*^▽^*) (*^▽^*) (*^▽^*)
(*^▽^*) (*^▽^*) (*^▽^*) (*^▽^*) (*^▽^*) (*^▽^*) (*^▽^*)
(*^▽^*) (*^▽^*) (*^▽^*) (*^▽^*) (*^▽^*) (*^▽^*) (*^▽^*)
(*^▽^*) (*^▽^*) (*^▽^*) (*^▽^*) (*^▽^*) (*^▽^*) (*^▽^*)
(*^▽^*) (*^▽^*) (*^▽^*) (*^▽^*) (*^▽^*) (*^▽^*) (*^▽^*)
(*^▽^*) (*^▽^*) (*^▽^*) (*^▽^*) (*^▽^*) (*^▽^*) (*^▽^*)
(*^▽^*) (*^▽^*) (*^▽^*) (*^▽^*) (*^▽^*) (*^▽^*) (*^▽^*)
(*^▽^*) (*^▽^*) (*^▽^*) (*^▽^*) (*^▽^*) (*^▽^*) (*^▽^*)
0489デフォルトの名無しさん
NGNGvoid main()
0490デフォルトの名無しさん
NGNGgets()
空白の入れ方が変。
口調が丁寧に見えて実は独り善がり。
(asciiコードで書くべき)サンプルに2バイト文字を使用している。
自ら指摘しているミスをサンプルで犯している。
ざっと見ただけでこんなに出てくるんだからお郷が知れるよ。
0491デフォルトの名無しさん
NGNG俺がちゃんとしたテキストとして読んで勉強になったのは、
http://www.asahi-net.or.jp/~yf8k-kbys/
ここと猫だけ。
0492デフォルトの名無しさん
NGNGそこは少なくとも丁寧には書かれているね。
疑問点はないではないんだけどまぁいいか。
0493デフォルトの名無しさん
NGNG#import "C:\\Program Files\\Common Files\\Microsoft Shared\\Office10\\MSO.DLL" named_guids
#import "C:\\Program Files\\Microsoft Office\\Office10\\MSOUTL.OLB" \
no_namespace exclude("_IRecipientControl", "_DRecipientControl")
後、不必要なファイルをインクルードしていると同様なエラーが出る事がある。
ゴミファイルが影響する事もあるので、
Debugフォルダ内のすべてのファイルを削除してから、
再コンパイルする事。
0494493
NGNGttp://www.codeproject.com/com/outlookcontacts.asp
0495DLLのデバッグ
NGNG環境はWindows2000でのVisualC++6.0です。
IISのエクステンションを作ってそれをデバッガーでデバッグしたいと
思っています。VC++から新規作成でISAPI Extension Wizardを使って
サーバー拡張オブジェクトを作成し、デバッグモードでビルドします。
ビルドされたDLLはIISによりアクセスできるInetPub/wwwroot/以下の
ディレクトリに置き、アクセス権限も与えます。
dllは正常に作動し、ブラウザで起動するとDefault()の中で指定され
ているメッセージが返ってきます。
ここで、デバッグの為にプロジェクトの設定の中のデバッグタブにある
デバッグセッションの実行可能ファイルをC:\Winnt\system32\dllhost.exe
に設定し、Default()中にブレークポイントをつけて、ブラウザでDLLを
呼び起動させてみました。DLLは正常に動作しますが、デバッグモードには
入りません。デバッグセッションの実行可能ファイルをC:\Winnt\system32\
inetsrv\inetinfo.exeにしてやってみたりしましたが、うまく行きません。
MSDNにあるDLLのデバッグに関するページを参考にしているのですが、
ttp://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/vsdebug/html/_core_debugging_dlls.asp
うまく行きません。Inetinfo.exeのバージョンは5.0.2195.6620
dllhost.exeのバージョンは5.0.2195.6692です。
どなたかよくご存知の方、教えていただけますでしょうか。
よろしくお願いします。
0496デフォルトの名無しさん
NGNGVCでコードを編集中にキーボードのどこかに手があたって、タブのところに ^ がスペースのところに ` が表示されるようになったのですが、どこを触ったらこうなるのでしょうか。
0497デフォルトの名無しさん
NGNG[編集] -> [高度な操作] -> [空白の表示]
0498デフォルトの名無しさん
NGNGDLLから適当な時期にDebugBreakを呼んで、
そこおからデバッグかければいいんでないか?
0499DLLのデバッグ
NGNGDebugBreak() 入れてやってみましたが、うまく行きませんでした。
通常のEXEプログラムに DebugBreak() 入れますとその場所でデバッガー
が起動しますが、DLLの中途に入れてもデバッガーは起動せず、また
DLL自身も動作しませんでした。
なにか、他に設定しなければいけないところとかあるのでしょうか。
0500デフォルトの名無しさん
NGNGビルド
+-- アクティブな構成の設定
がReleaseになってるとか。
0501473
NGNGありがとうございます。
でもうまく動きませんでした。
自分も紹介して頂いたページを参考にしてやっていたのですが
最小限のコードにしてもうまくいかずどうしたものか困っていたところです。
ダウンロードしたソースも同じエラーが出てしまっています。
0502473
NGNG解決できるような気がするんですが、どこで定義しているのでしょう。
知っている方いませんか?
0503デフォルトの名無しさん
NGNG<complex.h>が#includeできません。
フォルダ検索したら無かったです。
代わり(?)にcomplex(拡張子無し)があったんですが、
これはどうやって使うんですか?
0504デフォルトの名無しさん
NGNGお使いの処理系のマニュアルをご参照ください。
ま、complex.hなんて過去のものを使っているような資料は捨てろってこった。
0505デフォルトの名無しさん
NGNG検索したい文字列を右クリックして
「定義位置を表示」とか「定義へ移動」とか
0507デフォルトの名無しさん
NGNG>493の指摘した行はちゃんと追加したのか?
0508デフォルトの名無しさん
NGNGprintf("%.100lf",a);
としてdouble型変数を表示しているのですが,
少数点以下17桁までしか表示されません.あとは0です.
Cライブラリの%lf変換が切っているのだと思うのですが,
ccなどと同じように少数点以下63桁まで表示したい場合,
どこの設定を変更すればいいのかどなたか教えていただけませんか?
0509デフォルトの名無しさん
NGNGVC6では15なので、doubleはそもそも、63桁も有効精度がない。
だから、doubleを使うのは止めろ。
http://www.google.com/search?num=50&hl=ja&ie=Shift_JIS&c2coff=1&q=%91%BD%94%7B%92%B7+%95%82%93%AE%8F%AC%90%94%93_&lr=lang_ja
0510508
NGNGご忠告いただいたことを心掛けたいのですが,
OS,マシン毎のprintf()表示によるdoubleの誤差を調べることをやろうとしているのです.
とりあえず,doubleのビットをポインタ参照で調べて,
それを手計算で正規化して,printf()で表示された値と比較したいので,
とりあえず63桁の出力がほしいのです.とりあえず,DBL_DIGの値を変更してみようと思います.
0511デフォルトの名無しさん
NGNGぉぃぉぃ。。。まぁ、ヒントでも。
http://www.google.com/search?hl=ja&ie=Shift_JIS&q=%91%BD%94%7B%92%B7%90%AE%90%94+%22C%2B%2B%22&btnG=Google+%8C%9F%8D%F5&lr=lang_ja
0512デフォルトの名無しさん
NGNG>OS,マシン毎のprintf()表示によるdoubleの誤差を調べることをやろうとしているのです.
OSやマシンで計算誤差が出るのか・・・・
0513508
NGNG勉強不足ですいません.結局ヒントをいただいたのにわかりませんでした.
crtのoutput.cやfptrapあたりを見てますが
変換ルーチンはintel\*lib\conv.libの中にあるみたいでソースがないです.
とりあえず,どこか変換ルーチンの中のループを多くするようにどこか書き換えることになりそうです.
あきらめるしかないのでしょうか.0.1の表示さえ見れればいいのですが…
>>512
x86なんか特にOS毎に違った値になると聞いたのですが,BSDとLINUXは今のところ同じですねぇ.
0514デフォルトの名無しさん
NGNGMSO.DLLだと思う。
つーか自分でやったところではそれで行けてるんだが・・・
新しくプロジェクト作ってやってみた?
0515514
NGNGデバッグフォルダを一度削除してやって見れ。
それでもムリならこれコンパイルして見ろ。
ttp://www.42ch.net/UploaderSmall/source/1081038116.zip
0516デフォルトの名無しさん
NGNGちょっとだけ判ってきたけど、もっと明確に説明してくれないか?
どこの誤差を比べたいのかね?
0517デフォルトの名無しさん
NGNG_control87, _controlfp あたりで調べるとなにか判るかも。
このあたりになると数値演算コプロセッサに依存してくるので、そのあたりは自分で調べてください。
大昔、数値演算コプロセッサが付いてないCPU用に数値演算エミュレータみたいなのがあって、コ
ンパイル時にどっち使うか選択できたんだけど今はどうかわからん。
0519デフォルトの名無しさん
NGNG混乱させた罰として、どう考えてどう解決したのか報告することを要求する。
0520473
NGNG0521473
NGNG0522473
NGNG0523デフォルトの名無しさん
NGNGここ↓のhttp-client.cをダウンロードして、VisualC++で動かすと・・・・
ttp://x68000.startshop.co.jp/~68user/net/c-http-1.html
7: #include <sys/socket.h>
8: #include <netdb.h>
9: #include <netinet/in.h>
10: #include <sys/param.h>
11: #include <sys/uio.h>
12: #include <unistd.h>
これらが、開けないぞとエラーがでます。
これらをぐぐって拾ってしまえと思ったら、なかなか見つからず「これはC言語のインクルードファイルじゃなくて
本当にUNIX系OSだけのものなのか」と疑問を抱き、質問レス投稿した所存でございます。
こいつら、拾うもんなの?それともVisualC++では名前が違うだけで機能が同じようなインクルードファイルがあるの?
優しくてエロイ人、回答して。
0524デフォルトの名無しさん
NGNGそれはUNIX向けソース。win環境ではwinsockを使ったソースに書き換えないと
ダメ。ネットワーク・プログラミングは機種依存が色々あるから、winでやりたい
ならwin向けのソースから勉強を始めるべき。基本は似ているので、どっちかを
ちゃんとやれば追々移行についても理解できるようになるかと思う。
0525デフォルトの名無しさん
NGNG0526523
NGNG0527デフォルトの名無しさん
NGNGなぜか残像(前回描画された画像)が残ってしまいます。
事前にバックバッファを白で塗りつぶしているので残らないはずだと思うのですが、
何か勘違いしているでしょうか。。。どなたか教えてください。よろしくお願いします。
以下ソースです。
GetCursorPos (&mpos);
ScreenToClient(hWnd,&mpos);
hdc=GetDC(hWnd);//表バッファ
hdcmem = CreateCompatibleDC(hdc);//裏バッファ
hBmp = (HBITMAP)LoadImage(hInst,"map.bmp",IMAGE_BITMAP,0,0,LR_CREATEDIBSECTION | LR_LOADFROMFILE);
BitBlt(hdcmem,0,0,300,300,NULL,NULL,NULL,WHITENESS);
SelectObject(hdcmem, hBmp);
BitBlt(hdc,mpos.x,mpos.y,32,32,hdcmem,0,0,SRCCOPY);
DeleteObject(hBmp);
DeleteDC(hdcmem);
DeleteDC(hdc);
0528デフォルトの名無しさん
NGNGなぜか残像(前回描画された画像)が残ってしまいます。
事前にバックバッファを白で塗りつぶしているので残らないはずだと思うのですが、
何か勘違いしているでしょうか。。。どなたか教えてください。よろしくお願いします。
以下ソースです。
GetCursorPos (&mpos);
ScreenToClient(hWnd,&mpos);
hdc=GetDC(hWnd);//表バッファ
hdcmem = CreateCompatibleDC(hdc);//裏バッファ
hBmp = (HBITMAP)LoadImage(hInst,"map.bmp",IMAGE_BITMAP,0,0,LR_CREATEDIBSECTION | LR_LOADFROMFILE);
BitBlt(hdcmem,0,0,300,300,NULL,NULL,NULL,WHITENESS);
SelectObject(hdcmem, hBmp);
BitBlt(hdc,mpos.x,mpos.y,32,32,hdcmem,0,0,SRCCOPY);
DeleteObject(hBmp);
DeleteDC(hdcmem);
DeleteDC(hdc);
0529528
NGNG0530デフォルトの名無しさん
NGNGその状況とは直接関係ないと思うが、
最後のDeleteDCはReleaseDCでないか?
0531デフォルトの名無しさん
NGNG追加クラスはMFCクラスです。
0532デフォルトの名無しさん
NGNGリソース・ビューから該当コントロールのプロパティを出して
「イベントコントロール」や「メッセージ」のページを開いてみる
0533デフォルトの名無しさん
NGNGVC++ではデータベースあんまり使わないのですか?
サンプルリンクおながいします。
0534デフォルトの名無しさん
NGNGBitBlt(hdcmem,0,0,300,300,NULL,NULL,NULL,WHITENESS);
SelectObject(hdcmem, hBmp);
BitBlt(hdc,mpos.x,mpos.y,32,32,hdcmem,0,0,SRCCOPY);
この辺をもうちょっと考えた方がいいかも。
メモリDCに対して必要な大きさのビットマップをSelectObjectで選択しておいて
それを白で塗り潰して、そのメモリDCに対して別のメモリDCに展開したmap.bmpを
マウスカーソルの位置へBitBltして最終的にDCに全体をBitBltしてあげるみたいな。
0535デフォルトの名無しさん
NGNGVBと全く同じように使える。
ただし参照設定の代わりにimport文を使用する。
>>493のようにADOのDLLを指定する。
あとはMSDNのヘルプにのっている。
キーワード→ADO→Visual C++でのコードの例
0537デフォルトの名無しさん
NGNGリンク時にエラーが出るのですがエラー内容が表示されず困っております
main.obj : LNK2001:
Debug/Hoge.exe : LNK1120:
↑
と表示されて、外部シンボルの未定義エラーだと思うのですが具体的に何が
エラーだかが表示してくれません。
設定で外部シンボル未定義エラーの非表示設定のようなものがあるのでしょうか。
知っております方がおりましたらお願いします。
0538デフォルトの名無しさん
NGNG社内で誰も修正に協力してくれないので 途方モードです。
もし簡単に実現するなら方法を教えてください。
MFCで作成したデカイEXEがあるのですが 起動すると
メモ帳のようなメイン画面が表示されます。
このEXEをてっとり早くDLL化しないといけなくなったのですが
安全にDLLに移行するのはどうすればいいでしょう?
DEFファイルとヘッダーファイルに外部宣言して
画面を呼び出す処理をEXPORT宣言にすればいいのでしょうか?
0539デフォルトの名無しさん
NGNG禿しく使いづらいんですが
機能も落ちてるし
0540デフォルトの名無しさん
NGNGウィザードでMFCを使うdllのスケルトンを作って、そこにexeのコード
を一生懸命コピー。公開したい変数、関数、クラスを_declspec(dlllexport)
とか、AFX_EXT_CLASSを使ってエクスポートする。DEFファイルでもいいですが。
という手順だと思います。高度というよりは面倒ですね。exeとdllは
エントリーポイントが違うので基本的には作り直しが必要です。
0541デフォルトの名無しさん
NGNGどういう方法取るにしろかなり手間がかかると思う。
「簡単に」っていう方法があるならオレも知りたい。
0542デフォルトの名無しさん
NGNGどういった場合に参照とポインタを使い分けるのですか?
0543デフォルトの名無しさん
NGNG0544デフォルトの名無しさん
NGNG0545デフォルトの名無しさん
NGNGNULL等無効な値を取りたい場合はポインタ
それ以外は参照
って俺はしてる。
0546デフォルトの名無しさん
NGNG付いてくるが開発用途以外には使えないので
そのXPで2chとかには書き込めない。
0547デフォルトの名無しさん
NGNG0548デフォルトの名無しさん
NGNG参照でことが足りるときは参照。
参照でもNULLなどの無効な値は表現できるので無問題。
0549デフォルトの名無しさん
NGNGclass CTest{};
void func(CTest& test){}
int APIENTRY _tWinMain(/*略*/)
{
func(NULL); // error C2664:
return 0;
}
漏れなんか勘違いしてる?
0550デフォルトの名無しさん
NGNGキャストすれば?
0551デフォルトの名無しさん
NGNG俺は2chしながら自作ソフトが動作するかの長期テストをしている最中だよ。
0552デフォルトの名無しさん
NGNGあらゆる視点から検証している最中だよ。
0553デフォルトの名無しさん
NGNGVCの設定でMFCスタテイックライブラリ使用と
共有DLLでMFC使用
のふたつってどういう違いがあるんでしょうか?
前者だとデバッグモードでかなりサイズが大きいファイルができますが
後者だと小さいサイズのファイルができあがりますよね?
0554デフォルトの名無しさん
NGNG前者は使用しているMFCライブラリがexeに組み込まれている(単独で完結)。
後者はクライアントにMFCのDLLファイルが存在する事を前提にexeが出来る。
(DLLが無いと動かない)
0555デフォルトの名無しさん
NGNGWriteFileメソッドを用いて、ファイルに書き込みたいのですが、
よくわかりません。
time_t temp;
time(&temp);
temp = temp - start; //経過時間(startには、ある処理を開始した時刻を保持)
これで、経過時間を計測しています。
このtempをWriteFileで書き込むためにはどうすればよいでしょうか?
よろしくお願いします。
0556デフォルトの名無しさん
NGNGDWORD dwBuf;
WriteFile(hFile, &temp, sizeof(temp), &dwBuf, NULL);
0557デフォルトの名無しさん
NGNGありがとう。できました。
0558デフォルトの名無しさん
NGNGありがとうございます。他環境で使う事を予測して
スタティックで設定しました。
あともう一つ教えてください。
TestApp:InitInstance()内で
m_pMainWnd = new TestWindow();
という具合でメニューウインドウのインスタンスを作ろうとしているんですが
デバッグ時(実行時にも)
ここのステップで応答が返ってこなくなります。
ヘッダには
class TestWindow : public CFrameWnd
{
public:
TestWindow();
};
のように定義しています
0559558
NGNG他の処理で永久ループしていただけでした
0560デフォルトの名無しさん
NGNG開発用途以外使えないの?
・・・ネタでしょ?
0561デフォルトの名無しさん
NGNG2.1 一般的なライセンスの許諾
お客様が個人の場合、お客様のみが
本ソフトウェアを使用することを条件として、
マイクロソフトは、お客様のソフトウェア製品の設計、
開発、テストおよびデモンストレーションを行う目的に限り、
本ソフトウェアの使用、および本ソフトウェアのコピーを
作成および使用する属人的かつ非独占的な権利をお客様 1 名のみに許諾します。
0562ミナツキ サヤ ◆SAYAC2HJWE
NGNG/ i レノノ))) \
(人il.゚ ヮ゚ノ人 これからもミナツキ サヤ ◆SAYAC2HJWEを
ヽ Yi/ 宜しくお願いしますね〜。みるまら〜♪
く_ :|〉
し'ノ
0563デフォルトの名無しさん
NGNG何か困るのか?
0564538
NGNG>>540で教えていただいたように とりあえずDLLに移行して
コンパイルまでは通るようになりました。
デバッグをおこなうと
CmdShow = AfxGetApp()->m_nCmdShow;
という部分で本来EXEだった時に正常に取得できていた値【1】が
取得できず。0が返ってきます。これにより処理に不具合が出ているのですが
問題を解決する方法があれば助言ください。
思うところインスタンス取得時にEXEの場合とDLLの場合で
呼び出されるMFCソースが異なってきますよね?
DLL→ DLLMODUKE.CPP
EXE→WINMAIN.CPP
この違いによりなんらかの不具合がでてるように思うのですが
対処方法がわからないのです。。。
0565538
NGNG× DLL→ DLLMODUKE.CPP
すみません。。。
0566デフォルトの名無しさん
NGNGDLLって何かと制約多かったですよねぇ。。。
1つの完結したアプリケーションをDLLにするメリットが
サッパリわからんですな。
漏れなら、2つ起動してプロセス間通信するよ。
ほとんど、それで事足りるんじゃね?
0567538
NGNG今までは接続ダイアログに手入力で情報を入力していたのですが
パラメタをもった関数としてコールするように作り替えないといけなくなったのです
セキュリティ上の問題からアカウントやユーザー名の漏洩防止に
もとから起動する側のメニューより該当サーバへ
定数でもたせた情報をもとにDLL内の関数間でやりとりを行う仕様になります
0568デフォルトの名無しさん
NGNGパラメータですよね?それならそこに明示的にCmdShow=SW_SHOWNORMAL
とか書いておけばいいのではないでしょうか。MSDNではアプリケーションは
一度m_nCmdShowを呼び出さなくてはならないと書いてますが、dllなら
おそらくそこまですることは不要で、最初から直接指定出来るのでは
ないかと。かな?
0569538
NGNGとおもいきや次の不具合が
EXEだった頃のビュー表示に関する処理で不具合が発生してしまいました
デバッグで見るとWINCORE.CPPの(AfxCallWndProc)に切り替わった直後
混合モードに切り替わり77E42267 Call で処理が停止してしまいます。
EXEの場合は混合モードに切り替わったあと正常にこの番地をクリアし
次の処理を継続しているようです。
混合モード上での追跡しかできないのでどこが悪いかわからず
途方にくれています。
よろしければ助言いただきたいと思います。
追跡の方法等でもうれしいです。
0570デフォルトの名無しさん
NGNG見てみれば?try-catchがあるからそこに
ひっかかるんじゃないかな。メッセージ処理に関するものだね。
0571538
NGNGありがとうございます
確かにメッセージ系のような気がします
コールバック使っているのでこの辺りの画面の再描画でなんらかの
不具合になってるんでしょうかね
0572デフォルトの名無しさん
NGNGを作りたいのですが、手順もしくは参考になるサイトなどを教えていただけないでしょ
うか?
0573デフォルトの名無しさん
NGNG今さらながらだけど、exeにCOMインタフェースを付けた方が早かったんだけどね。
0574538
NGNG確かにそうおもいます。今となっては1.2Kくらいあるので
だれも触りたがりません。運わるく今回の開発でわたくしが
担当することに
作り替えるわけにいかず そのままソースのみ代用で
関数のコールにより接続後のビューまで表示しないといけないのです
どうやら コールバック宣言部分に間違いないようです
この部分ってどうしてもデバッグで動きみれないんでしょうかねえ
直前までのパラメタ値やウインドウハンドル取得問題なさそげなんですが
0575デフォルトの名無しさん
NGNGいやいや、作り替えるんじゃなくて、今あるソースに追加できるんだよ。
やり方はCodeProjectとかにあるけどね。
0576デフォルトの名無しさん
NGNG#include <iostream>
using namespace std;
int myabs( int n );
int main()
{
cout << "-10の絶対値:" << myabs(-10) << "\n\n";
return 0;
}
int myabs( int n )
{
cout << "整数用のmyabs()\n";
return n<0 ? -n : n;
}
どうして出力が
整数用のmyabs()
-10の絶対値:10
となるのでしょうか?↓のように、左側の引数から順番に処理すると思ってたのですが
-10の絶対値:整数用のmyabs()
10
教えてください、お願いします。
0578デフォルトの名無しさん
NGNG2番目、1番目、3番目の引数の順に処理をするということで良いのでしょうか?
0579538
NGNGありがとうございます。一度参考に見てみます。
駄目元でいろいろ解析していくうちに致命的な不具合個所があったようです
外部からコールされた関数に直接Window::Window()
をコールしていたためにどこかでインスタンスの作成がぬけており
コールバック関数から呼び戻しして画面の再描画時にエラーになってるみたいです
もともとEXEだった頃の起動時の一番最初の処理って
どの部分をコールすればいいんでしょうかね?
そこを呼べば正常に動くような気がします
0580デフォルトの名無しさん
NGNGモードレスのダイアログで開発をしています。
ダイアログの破棄をOnCloseでDestroyWindowで行っています。
これで行けると思ったんですが、Escキーを押した場合のみ、OnCloseイベントが発生しません。
その為、2回目にCreateした時に例外で死んでしまいます。
Escキーをフックして、そこでOnCloseを呼ぶようにしたらちゃんと動くようにはなりました。
これって、他の方法で回避できるんでしょうか?
モードレスの正しい実装がちょっとよくわかっていないもので。
0581デフォルトの名無しさん
NGNG0582デフォルトの名無しさん
NGNGESCキーはOnCancelあたりが来てるんじゃねーか?
0583デフォルトの名無しさん
NGNGESCキーはWM_COMMAND wp=ID_CANCELが受信できなかったっけ?
ここでOnCloseを呼ぶなり、WM_SYSCOMMAND wp=SC_CLOSEを発行するなり。
0585デフォルトの名無しさん
NGNGそういう用途のクラスライブラリって存在しますか?
0586デフォルトの名無しさん
NGNGしている。
少なくともその手のアプリを作っている会社の社内には。
0587580
NGNGレスサンクスです。
色々調べたところ、OnOK、OnCancelをオーバーライドして、
その中でDestroyWindowを呼ぶのがスマートな方式らしいですね。
Escキーをわざわざフックしなくても、OnCancelが発生するので。
とりあえず解決しました。どーもです。
0588デフォルトの名無しさん
NGNGこれを","(カンマ)区切りで配列data[3]にそれぞれ
data[0] = "aaaaaaa"
data[1] = "ieiei"
data[2] = "12345"
となるようにしたいのですがどうすればいいでしょうか?
0589デフォルトの名無しさん
NGNGカンマのある位置をFindしたらそこまでの
文字列をMidで抽出してdata[0]に代入
みたいな操作を行う
0590デフォルトの名無しさん
NGNG………
0591588
NGNGなんとか出来ました。
0593デフォルトの名無しさん
NGNG0594デフォルトの名無しさん
NGNG今ここをやっていたのですが、このとおりに書くと正常に動くのに下のように
long data[5]の上に関数を書くと「構文エラー : ';' が 'type' の前に必要です。」というエラーが発生します。まわりのセミコロンも半角で書いてあるのになぜこのようなエラーが起こるのでしょうか?
初歩的な質問ですみません。
int main(void)
{
printf("");
long data[5];
input_data(data);//データ入力関数
sort_data(data);//並べ替え関数
show_result(data);//結果表示関数
return 0;
}
0595デフォルトの名無しさん
NGNGC++なら途中でもオケー
0596デフォルトの名無しさん
NGNGそのようにやってみます。
0597デフォルトの名無しさん
NGNG途中OKになったとか聞いたが、
本当なの?
0598デフォルトの名無しさん
NGNGすみませんが教えてください。
C++5.5のコンパイラでC言語を打ちコンパイルすることは
できますでしょうか?
0599デフォルトの名無しさん
NGNGタダで使えるBorland C++ Part3
http://pc5.2ch.net/test/read.cgi/tech/1054390397/
0600デフォルトの名無しさん
NGNGな…なんか自信なくなってきちゃったけど出来るんじゃないかな。
うん。きっとできるような気がするよ…。
帰ったらパスタにしよう。うん。パスタ。
0601デフォルトの名無しさん
NGNG1.ウイザードで新規作成からプロジェクト->Win32Application を選び
空のプロジェクトを作成。
2.そのプロジェクトにC++ソースファイル を、拡張子.cで追加
3.そのソースファイルに、
#include <stdio.h>
int main(){
printf("hello");
return 0;
}
と書いて、ビルドすると、
test.c
リンク中...
LIBCD.lib(wincrt0.obj) : error LNK2001: 外部シンボル "_WinMain@16" は未解決です
Debug/test.exe : fatal error LNK1120: 外部参照 1 が未解決です。
link.exe の実行エラー
上記のエラーが出ます。文法的にはさほど間違っていないと思うのですが、
どの辺が引っかかっているのでしょうか?
0602デフォルトの名無しさん
NGNG0603デフォルトの名無しさん
NGNGありがとうございます。試してみましたが、やはり下記のような
エラーが出てしまいました。
リンク中...
LIBCD.lib(wincrt0.obj) : error LNK2001: 外部シンボル "_WinMain@16" は未解決です
Debug/test.exe : fatal error LNK1120: 外部参照 1 が未解決です。
link.exe の実行エラー
test.exe - エラー 2、警告 1
0604デフォルトの名無しさん
NGNGint main()ならコンソールアプリにしる。
0605デフォルトの名無しさん
NGNGΣ( ̄ロ ̄|||)!! ありがとうございます。
ビルドできるようになりました。
0606デフォルトの名無しさん
NGNG下記のように、適当なファイルをバイナリ指定でオープンしてデータ書き出しをしているのですが、
メモ帳でのぞいてみると、文字がそのまま表示されてしまい、バイナリになっていません。
書式のどこかに勘違いがあるのだと思いますが、どうしても確認できなくて困っております。
開発環境はVB.NET2003でMFCアプリケーションで作成しています。
何か気がつく点がありましたら教えてください。
//変数宣言
CStdioFile fout;
CString csNewData;
//ファイルオープン
if(!fout.Open(DEF_FILE_NAME,CFile::modeCreate | CFile::modeWrite | CFile::typeBinary)){
return;
}
//データ書き出し
csNewData = "TestData";
fout.Write(csNewData,csNewData.GetLength());
//ファイルクローズ
fout.Close();
ちなみに、fopenでwbオプションでファイルを開いてfwriteでデータを書き出しても
バイナリ出力にならず、アスキーでした。orz
0607デフォルトの名無しさん
NGNGVB.NETでMFCアプリケーションとは謎だな。
それはさておき、どちらのモードでもアスキー文字を書き込んだらアスキー文字なのは当たり前。
バイナリモードとテキストモードの違いが理解できていないようだね。
0608デフォルトの名無しさん
NGNG「メモ帳」でなくバイナリ・エディタで開いたら?
つーかこのレベルでプログラムが書けるっていうのが不思議なんだが
0609デフォルトの名無しさん
NGNGもう一度、お復習いしてきます。
言葉意味も間違っているかもしれないです。
>>608
三日前に始めたばかりなので、書けるなどとても言えませんが。
バイナリエディタとやらを探してきます。
0610デフォルトの名無しさん
NGNG0611デフォルトの名無しさん
NGNG0612デフォルトの名無しさん
NGNGa_to_系
str_to_系
atoi
strtol
等
0613デフォルトの名無しさん
NGNG画面の再描画と文字列の送受信をOnIdleで行いたいのですが
ブレークかけてもこのイベントが全く発生していません。
メッセージキューが空いている時に呼び出されるとの事ですが
そもそも
どの状態がメッセージキューが空いているといえるのかも理解していません
この初心者にどうかおたすけを
0614デフォルトの名無しさん
NGNGMFCのDLLを作成しているのですが
OnIdleイベントが発生しないんです。このメンバ関数って
もしかしてEXE(アプリケーション)のみ有効なメッセージ制御なのでしょうか?
DLLの場合 これに変わる処理ってどれにあたるかご存知ありませんか?
要はInitInstanceで構築したビューにメッセージキューがない場合
(ユーザーが何も命令を送らない間)
常に発生させたいです
0615デフォルトの名無しさん
NGNGビルドするとかなりの確率で戻ってこなくなります。
ビルドの中止を選んでも反応なしで結局タスクマネージャで
MSDEV.EXEをいったん殺してから再起動すると一応ビルドは
できてる。
何ですかこれは(つД`)
おんなじ様な人いない?
OS:WindowsXP メモリ:512MB CPU:Celeron2GHz
0616デフォルトの名無しさん
NGNGサービスパックは?
0617デフォルトの名無しさん
NGNG入れてなかったので今から入れてみます。
0618デフォルトの名無しさん
NGNG0619デフォルトの名無しさん
NGNG0620デフォルトの名無しさん
NGNG0621デフォルトの名無しさん
NGNGGetFocus() → 調べたい窓と比較。
0622デフォルトの名無しさん
NGNGできました、ありがとうございます!
0623デフォルトの名無しさん
NGNGある瞬間を境に、何度プログラムの実行をしても、
LINK : fatal error LNK1168: 書き込みモードで Debug/****.exe を開けません
と出るようになりました
ググってみたところ、まだ****.exeが実行中なんじゃないかなとのことですが、
既にもう2回も再起動しました。直りません
Debugフォルダの****.exeをリネームしてみたらどう?とも書いてありませんが、
やってみたところ、ムダでした。また****.exeを作って、同じように書き込みモードで開けませんと出ます
これは一体、いかがなものでしょうか
0624デフォルトの名無しさん
NGNGプロジェクトの設定で実行モジュール名を既存のファイルと同じにしてしまったとか、
じぶんのやったことをよく見詰め直すんだね。
0625623
NGNGしかし、見詰め直したところで、別段心当たりはありません。これはたぶん自分の知識不足が原因でしょうけど
あえて言うとすれば、for文の無限ループにひっかかって、****.exeを強制終了した後、そのままパソを再起動したくらいです
なんだかものすごい関係ありそうではありますが、再起動後に1回は普通に実行できてたと思います・・・たぶん
ちなみに再起動前は何十回も実行してました。これは確かです
新たなプロジェクトを作って、ソースファイルだけコピペと言う形を取ってみましたが、また同じfatal errorが出ました
ああ、今ものすごい中途半端位置でプログラムが止まってます
0626デフォルトの名無しさん
NGNGコールバック関数からグローバル変数呼ぶと
グローバル変数が0になるようで、
「なんちゃらが0x00000000を参照しますた。"read"出来るかヴォケ」
と怒られてしまいます。
具体的には
LPDIRECTDRAW7 lpDDraw7;
をグローバル変数として、
WM_PAINTがきたら描画用関数を呼び、
その描画用関数内でlpDDraw7->CreateSurface()
とやりたいのですが、lpDDraw7が0なんでエラー、ということになります。
ループ直前までは、グローバル変数は意図した数値を保持しているようなのですが
(if文で「0ならダイアログ吐かせる」としたもののなんともなし)。
コールバック関数内でグローバル変数を使うにはどうすりゃいいんでしょう。
誠に申し訳ありませんが、何卒ご教授願いたく申し上げます。
構成はXP SP1、VC++6、DirectX9、Celeron1.2A、
Radeon9000、512Mメインメモリ、となっております。
0627626
NGNGLPDIRECTDRAW7 lpDDraw7;
は、予め初期化用の関数に通しており、
GetMessage()直前までは数値が入ってます。
上の書き方だと「初期化忘れてるんじゃねえか」と
勘違いされかねない書き方だったので、一応。
0628デフォルトの名無しさん
NGNG0629デフォルトの名無しさん
NGNG0630デフォルトの名無しさん
NGNGきっと君があれこれ説明するよりソースを提示した方が早いよ。
>>625
ちょっと待て、毎回再起動後は一回は起動できるのか?
それなら、ターゲットプロセスをタスクマネージャで終了しろ。
0631623
NGNGすいません、書き方が悪かったです
for文に引っかかっての再起動前後には問題なく実行できてました(このあたりの記憶があやふやなのですが)
その件のちょっと後、突然起動しなくなったので、何か他に原因があるのかなと勝手に推測したというわけです
今は無駄な実行すればするだけタスクマネージャのプロセスのところに溜まっていきます
なんかよくわからんけど、とりあえず全部消してから実行を押しても駄目でした
0632623
NGNG質問にずばり答えると、今は何度再起動しても一度も起動できません
0633デフォルトの名無しさん
NGNGとりあえずDebugフォルダとReleaseフォルダを削除。
削除できないようなら、safeモードで消すか、
ttp://homepage3.nifty.com/t-sugiyama/
ココのRebootFileDeleterとかで消す。
消えたらビルドできるんじゃね?しらんけど。
0634damepg
NGNGクラスライブラリを使用使用とヘッダファイルに以下の文とコンパイルスイッチを切り替えて
#pragma once
#using <mscorlib.dll>
using namespace System;
using namespace System::IO;
c:\Program Files\Microsoft Visual Studio .NET\Vc7\PlatformSDK\Include\ServProv.h(99): error C2371: 'IServiceProvider' :
再定義されています。異なる基本型です。
c:\Program Files\Microsoft Visual Studio .NET\Vc7\PlatformSDK\Include\ServProv.h(92): error C2872: 'IServiceProvider' :
あいまいなシンボルです。
と出てビルドできません。
これはライブラリ内で起きている矛盾だと思うのですが、何故このようなエラーが出てくるのかさっぱりわかりません
もちろん'IServiceProvider' という定義を自分のソース上で定義していません。
どうすればこのエラーを回避できるでしょうか?
#using <mscorlib.dll> だけではエラーは出ないのでコンパイルスイッチではないと思います。
DirectXのライブラリを使っていますが、全部のソースをみましたが問題の語句はありませんでした。
orz... なんでこんなエラー出すんだよMS.... しかもエラー出してるインターフェイス使わないのに(鬱
このへんの問題を詳しく扱ってるサイトなどがありましたらご紹介ください。
よろしくお願いします。
0635damepg
NGNGhttp://msdn.microsoft.com/library/default.asp?url=/library/en-us/vcmxspec/html/vcmg_AmbiguousReferences.asp
高度な理由があるにしても、こういう事はもっとわかりやすいところに書いておいて欲しいorz......
0636623
NGNG削除は、プロセスを無理やり終了させたらできました
ただ、解決はしませんでした。何度実行しても、エラーチェックの後起動しません
ひょっとしたらVCがどうとかより、もっと何か根本的なところで異変が生じているのでしょうか
0637デフォルトの名無しさん
NGNGVC++はうんこ
0638デフォルトの名無しさん
NGNGどうしたらいいですか?
0639デフォルトの名無しさん
NGNG> 今は無駄な実行すればするだけタスクマネージャのプロセスのところに溜まっていきます
何が溜まってるんだ ?
あと、ウィルスチェックは大丈夫か ?
0640デフォルトの名無しさん
NGNGVC++はひよこ
0641デフォルトの名無しさん
NGNG0642623
NGNGなんだか本当に、何度も心配かけてすいません、ありがとうございます
溜まっている、という表現は良くなかったのかもしれませんが、どうもそれしか思い当たらなくて
実行の「!」などや、debugフォルダなどにビルドされたexeファイルを押せば押すだけ、
DXtest01.exe(今まで****.exeと書いてました)が増えて、プロセスに溜まっていくんです
http://venus.aez.jp/uploda/dat/upload6251.jpg こんな感じ。窓2000です
ウィルスの面はないとは思います・・・根拠は、どうも自分に責任があるような気がするから
でも一応調べては見ます
0643デフォルトの名無しさん
NGNGWM_QUITがきたときにメッセージループを抜けていないのでは?
0644デフォルトの名無しさん
NGNGお前の作ったプログラムが終了してないだけじゃねーかと...。
0645デフォルトの名無しさん
NGNGメッセージループは回りつづけてるっていうオチ。
0646デフォルトの名無しさん
NGNGkeybd_eventで $や_を表示するにはどうしたらいいですか?
0647623
NGNGでも、http://www.symantec.com/region/jp/index.html ここでチェックしたら、今だけで97の感染ファイルが見つかってます
一体ギコナビのN速のログファイルに何があったのか・・・と、ここまで質問する気はありません
今更新しい情報ですが、ビルド関係で問題が出はしますが、コンパイルするだけならエラーは0です
そして今試してみたんですが、典型的なハローワールドプログラムでは、
LIBCD.lib(wincrt0.obj) : error LNK2001: 外部シンボル "_WinMain@16" は未解決です
Debug/DXtest01.exe : fatal error LNK1120: 外部参照 1 が未解決です。
このようにでました
このエラープログラムなら今までに何度か目にして、その度に既に開かれてたexeファイルを閉じていたのですが、
やっぱり今回はそれが見つからないんです
そのメッセージループとやらは、何度も再起動した今でも、いまだに回りつづけているのでしょうか
どうやったら強制的にでも彼を止めることができるのでしょうか
0648デフォルトの名無しさん
NGNG0649デフォルトの名無しさん
NGNG0651デフォルトの名無しさん
NGNG$や_を入力する時にキーをどう打つか観察しろ。
統計学的に、1400人分も調査すれば十分信頼の置ける結果が出ると思われる。
0652643
NGNG>>647
> 今更新しい情報ですが、ビルド関係で問題が出はしますが、コンパイルするだけならエラーは0です
> そして今試してみたんですが、典型的なハローワールドプログラムでは、
> LIBCD.lib(wincrt0.obj) : error LNK2001: 外部シンボル "_WinMain@16" は未解決です
> Debug/DXtest01.exe : fatal error LNK1120: 外部参照 1 が未解決です。
> このようにでました
プロジェクトの設定がWin32 Console Applicationになってないのでは?
多分あなたが記述したエントリはWinMainでなくてmainでしょ?
> そのメッセージループとやらは、何度も再起動した今でも、いまだに回りつづけているのでしょうか
> どうやったら強制的にでも彼を止めることができるのでしょうか
こんなことも分からん香具師がDirectXですか?
ネットや書籍でウィンドウアプリケーションの基礎知識を身につけることをお勧めします。
で、結論...>>647さん、もちろん全部ネタですよね?
0653デフォルトの名無しさん
NGNG混合モードでのデバッグをしたいのですが、ニモニック
はみなさんどうやって勉強するのでつか?
0654646
NGNGキーを観察することによりVKシリーズ(ヴァーチャルキー)仮想キーコードが
存在する場合はなんとかなりそうなものですが
アンスコみたいにシフト押しながらのバックスラッシュキーとかって0x5fを捜すと 該当がVK_RWIN
になってたりするです。
0655デフォルトの名無しさん
NGNGWIN32コンソロルアプリで画像を取り込もうとして
インクルードディレクトとライブラリディレクトは取り込めたのですが
a.obj : error LNK2001: 外部シンボル "_DllBmpDeleteImage" は未解決です
・
・
a.obj : error LNK2001: 外部シンボル "_DllBmpReadImage" は未解決です
Debug/a.exe : fatal error LNK1120: 外部参照 12 が未解決です。
link.exe の実行エラー
と同じような物がいっぱい出てきましたがどうやって
リンクさせればよいのでしょうか?
0656デフォルトの名無しさん
NGNGそれってトリビアになると思うんです。
0657623
NGNG基礎知識がFatalに不足していると言う点については真摯に受け止めます。その通りです
こんなこともわからん香具師でもゲームを作れるいいライブラリがネット上に溢れているんです
でも、最初から最後まで、ネタではありません・・・いちいちこんなことを言う必要はないとは思いますが
マジレスしてくれた方、ありがとうございました。ご迷惑をおかけしました
"初心者"ですいませんでした
0658646
NGNG外部参照やエクスポートができてないエラーっぽいですね
ヘッダファイルが全て読めていないかinclude漏れがあるか
ヘッダに外部宣言されていない可能性があります。
元々あった外部宣言を削った場合はビルド時のObjファイル等に
ゴミ情報が残っていたりする為、一度キレイに削除後
リビルドを行えばうまくいく事があります。
DLLであればDefファイルも確認してみてはいかがでしょ?
0659デフォルトの名無しさん
NGNG0660デフォルトの名無しさん
NGNGいやいや、作れてないから。
WM_LBUTTONDOWN:
PostQuitMessage( 0 );
っていうのをウィンドウプロシージャにつけてみ?
マウス左ボタンを押したらプログラム終了するべ?
今度はタスクが残ったりしないことない?
0661デフォルトの名無しさん
NGNGありがとうございました!
丸一日の苦労が報われました。
0662デフォルトの名無しさん
NGNGVCでDMAの制御を行いたい場合、メモリの確保と確保したメモリの物理アドレスを
知る方法が解りません。そもそも、ユーザーモードで動いていると出来ないのでしょうか?
普通に、new(***) ; で得たアドレスは、仮想アドレスですよね。
0663デフォルトの名無しさん
NGNGMFCでビューを持っているDLLを作成しておりまして。
VBからDeclere宣言でこのDLLの関数をコールすると
InitInstanceでビューの初期化が行われウインドウに起動されます。
DLLのコールにはVBの画面よりコマンドボタンをクリックし
実行しています。
そこで問題なのですが、一連の処理が終わりビュー画面を閉じた時
VBの画面に戻るのですが、ここで再度同じボタンによりビュー表示処理
をおこなうにも ボタンを押しても反応がありません。
一度作成されたインスタンスが生きているので再呼び出しができないのだと
思うのですが最初の処理が終わった段階でDLL側にもっているインスタンス
等をDLL側でNothingかけるような方法はないでしょうか?
VBからCall する直前の状態にしたいのです。
要は何回ボタンを押しても動くようにしたいです
0664デフォルトの名無しさん
NGNGuS 単位のウェイトがどうしても必要になり、探しています。
2日ほど路頭に迷ってます。教えてくだされ〜!
0665デフォルトの名無しさん
NGNG0666デフォルトの名無しさん
NGNG遅刻することもありまつ。
0667デフォルトの名無しさん
NGNGwiile(1){
(メイン処理)
(windowsに一時的に返してフリーズもどきを解消したい)
}
(windowsに一時的に返すには、どう書けばいいのでしょうか?
0668デフォルトの名無しさん
NGNG・マルチスレッド
のどっちかかな。
0669667
NGNGVC++でDLLを作ってるのですが、
DLL内の関数がメインになっています。
アイドル処理がよさそうですか?
簡単な方でいいのですが。ネットで調べても文法の書き方が載ってませんでした。
0670デフォルトの名無しさん
NGNGそこでココ最近10レスくらいで話題のSleep()ですよ。
0671デフォルトの名無しさん
NGNGSleep()は韓国でも大流行しているんだゼ!
0672デフォルトの名無しさん
NGNG0673623
NGNG画像をメモリに読み込む関数と、その画像を画面に反映させる関数を削ると、何事もなく起動できました
ブロック崩しのブロックの部分を描くためにその関数を使っていたのですが、とりあえず今は簡単な四角形を描く関数で代用して続きを作っていきたいと思います
何回かのテストプレイではうまいこと言っていたのに、なぜ突然使えなくなったのかがわからない点ですが、
そのことについては恐らくこのスレで聞くようなことではないと思うので、とりあえず報告だけしておきます
0674デフォルトの名無しさん
NGNGじゃあ、その関数じゃん
0675デフォルトの名無しさん
NGNG0676デフォルトの名無しさん
NGNG0677デフォルトの名無しさん
NGNGwhile(1)
{
ブロック落とす();
if( ブロック着地した? == 着地した )
{
if( ライン消える? == 消える )
{
ライン消す();
}
if( 上まで詰まった? == 詰まった )
{
ゲームオーバー();
break;
}
次のブロック作成();
}
}
0678デフォルトの名無しさん
NGNG0679デフォルトの名無しさん
NGNG0680デフォルトの名無しさん
NGNGブロックが左右に動かないんですが?
0681デフォルトの名無しさん
NGNGブロック落とす();に含まれんじゃねーんの?
横からスマソ
0682デフォルトの名無しさん
NGNG禁じ手だけど、時々PeekMessage(,,,PM_NOREMOVE)を呼び出すとフリーズしない。
0683デフォルトの名無しさん
NGNGyyy.cpp
c:\xxx\yyy.cpp(0) : fatal error C1001: 内部コンパイラ エラー
(コンパイラ ファイル 'msc1.cpp', 行 2701)
Visual C++
ヘルプ メニューで、サポート情報コマンドを選択してください。またはサポート情報 ヘルプ ファイルを参照してください。
zzz.cpp
c:\xxx\zzz.cpp(0) : fatal error C1001: 内部コンパイラ エラー
(コンパイラ ファイル 'msc1.cpp', 行 2701)
Visual C++
ヘルプ メニューで、サポート情報コマンドを選択してください。またはサポート情報 ヘルプ ファイルを参照してください。
DEBUGでビルドするとこんなエラーがでるようになってしまいました。
Releaseではおこりません。
http://www.groupsrv.com/dotnet/viewtopic.php?p=84633
こんなページとかも見つけたんだけど英語は苦手なのでいまいち原因がわかりません。
MFCAppwizardで作ったんですが途中からMFCもATLもオプションから外していました。
いつもReleaseBuildでいつもビルドしていたのでなにが原因なのかわかりません。
コンパイラの問題なんでしょうか?
0684デフォルトの名無しさん
NGNGマルチしてるあなた自身が問題です。
0685初心者
NGNGMFCのEXEを作成しているのですが、起動しても画面はあがってこない作りです。
そしてある条件を満たした時ビューが表示され、その後自動的にビューが閉じます。
そして更に またある条件を満たした時、再度ビュー表示されないといけないのに
表示されたと思った次の瞬間、すぐに画面が閉じてしまいます。
原因を探っていくとOnPaint(WM_PAINT?)というクラスのメッセージが
exe 起動時に一度しか動かない為にこのOnPaintの内部に書いている初期化処理の
コードが実行されていないようなのです。
EXEを終了して再度起動すると同じく1度だけビューが表示されるのですが
問題点として EXEを終了せずにOnPaintを再度呼び出せるような初期化は
ないでしょうか?
0686デフォルトの名無しさん
NGNG>激しく初心者です。おながいします。
自分から初心者を名乗らない方がいい。
CWnd::UpdateWindowで、WM_PAINTを発行すれば良いんじゃないか?
0687デフォルトの名無しさん
NGNG指摘とご指導ありがとうございます。
UpdateWindowはどのタイミングで発行すればよろしいのでしょうか?
引き続きよろしくお願いします
0688デフォルトの名無しさん
NGNG>EXEを終了せずにOnPaintを再度呼び出せるような
のタイミング。
↓引続きよろしくお願いします。
0689685
NGNG同じように起動時の初回処理しか動いていない部分があり 壷にはまり込んでしまい
ました。引き続き助けていただきたいと思います。
不具合個所を整理してみます。
問題の部分は
BEGIN_MESSAGE_MAPの内部に定義している下記の部分です
//{{AFX_MSG_MAP(CTestView)
ON_WM_CHAR()
ON_WM_CLOSE()
ON_WM_DESTROY()
ON_WM_PAINT()
ON_MESSAGE(WM_USER_COMMOPEN,OnCommOpen)
ON_WM_ACTIVATE()
ON_WM_TIMER()
//}}AFX_MSG_MAP
メッセージマップ自体は2回目の処理でも通過してそうなのですが
この中でON_MESSAGE(WM_USER_COMMOPEN,OnCommOpen)で重要な
初期化をおこなっており、ブレークを設定しても その関数内で
とまってくれません。 つまりは その関数をスルーしてるっぽいのです。
おそらく秘密はON_MESSAGEのあたりに隠されているような気がするのですが
なんともヘルプを見ても謎がわかりません。一度しか通ってくれない部分を
スムーズに2度目も通るようにならないでしょうか?
0690デフォルトの名無しさん
NGNG0691685
NGNGはい
バッファの初期化
キーボードの初期化ソケットの初期化
テレネットの初期化等 いっぱいあります
これってドツボにどっぷり浸かっていますか?
0692デフォルトの名無しさん
NGNG0693デフォルトの名無しさん
NGNG0694685
NGNG�@APPメインのCPPファイル
�Aビューに関する処理のCPPファイル
�B詳細処理を行うCファイル
の三つに分かれていまして 問題の部分のコードと
メッセージマップのコードは�Aにおります
0695デフォルトの名無しさん
NGNG0696685
NGNG>>695呼び出し元はここのメッセージのみでございます。
ON_MESSAGE(WM_USER_COMMOPEN,OnCommOpen)
さらにその手前で不具合個所を発見しました。
先に述べたOnPaintの部分で画面が描画されるのですが
描画された後にやはり 閉じちゃってるみたいです。
これによりOnCommOpenの処理に移らなくなっている可能性があります
一番最初の処理起動時にペイント関連の処理が走り
そのあとうまく初期化できていないからなのでしょうか
だいぶ奥がふかまってまいりました とほほ
0697685
NGNGWINCORE.CPP
CWnd::OnWndMsg{//長い処理なので今回処理をとおる分のみ抽出
case AfxSig_vbWW:
(this->*mmf.pfn_vbWW)(m_hWnd == (HWND)lParam,
CWnd::FromHandle((HWND)lParam),
CWnd::FromHandle((HWND)wParam));
break;
}
↓
void CTestCmdUI::Enable(BOOL bOn)
{
m_bEnabled = bOn;
m_bEnableChanged = TRUE;
}
↓
LRESULT CALLBACK
AfxWndProc(HWND hWnd, UINT nMsg, WPARAM wParam, LPARAM lParam)
{
// special message which identifies the window as using AfxWndProc
if (nMsg == WM_QUERYAFXWNDPROC)
return 1;
// all other messages route through message map
CWnd* pWnd = CWnd::FromHandlePermanent(hWnd);
ASSERT(pWnd != NULL);
ASSERT(pWnd->m_hWnd == hWnd);
return AfxCallWndProc(pWnd, hWnd, nMsg, wParam, lParam);
//2回目の処理においてここで画面が急に閉じてしまう
}
0698デフォルトの名無しさん
NGNG0699デフォルトの名無しさん
NGNG仕事でPC向けアプリ開発が増えそうなのでVC++(VS6.0J購入予定)を
今のうちに覚えたいと思います。
C言語は理解している前提で、VC++を覚えるのに(C++言語だけでなく
MFCや操作そのもの含め)お勧めの市販本やWEBサイトがありましたら
レスお願いします。
0700デフォルトの名無しさん
NGNG0701685
NGNGげげ まじですかー
0702デフォルトの名無しさん
NGNG>HP-UNIX
HP-UXのことか?
0703デフォルトの名無しさん
NGNGC++.NETの動作対象には98が書かれてませんけど、win32止まりなら大丈夫ですよね…?
0704デフォルトの名無しさん
NGNG0705デフォルトの名無しさん
NGNG保証されてないし、そもそもまともに動かないと思われ。
メモリ積んでWin2kにしとき。
0706デフォルトの名無しさん
NGNGNTや2000やXPはWin32じゃ無いとでも言うのかね。
>>704
何に困ってるんだ?
フォルダまるごと持って行って問題出た?
0707デフォルトの名無しさん
NGNG> NTや2000やXPはWin32じゃ無いとでも言うのかね。
,.-‐ """''''''- 、
/ \
/ ノりノレりノレノ\ i
i ノcニつ ⊂ニュ ミ |
ノ | <@ ミ @ヽ. | |
イ | (o_o. | |
ノ ! ノ u 丶. ! ヽ
彡 ! (つ ! ミ モグモグ・・
ノ 人 " 人 ヽ
.NETかWin32かってことを言ってんじゃないの?
0708大学生
NGNG途中までやってみたのですが、どうも
出来ないのでアドバイス下さい。
問題は、キーボード入力した文字列を
逆から表示させるプログラムを作る、です。
#include <stdio.h>
main()
{
int i=0,l=0,s;
char a[20],b[20];
printf("文字列を入力して下さい:\n");
gets(a);
while(a[i] != '\0')
{
s=i++;
}
for(l=0;l<=s,l++,i;i>=1,i--)
{
b[l]=a[i-1];
}
b[i]='\0';
printf("%sは逆から%s",&a,b);
}
0709デフォルトの名無しさん
NGNG0710デフォルトの名無しさん
NGNG0711デフォルトの名無しさん
NGNGstr.reverse();
cout << str << endl;
// (・∀・)デキタ!
0712デフォルトの名無しさん
NGNG普通のクライアントウィンドウにAPIで直接CreateWindowで
エディットコントロールとかスタティックコントロールを貼り付けた場合、
これらの背景色や文字色を変更する事ってできますか?
0713デフォルトの名無しさん
NGNGWM_CTLCOLOREDIT
WM_CTLCOLORSTATIC
その他にもWM_CTLCOLOR○○○シリーズがいくつかあるよ。
0714デフォルトの名無しさん
NGNGCマガ2004/2号に書いてあったが、
「.NET」のついた開発製品では、.NET Framework用の開発「も」できるのであって
従来と同じ開発も可能
とあった。
Win2K で .NET インスコして、98でも動作可能な開発をすれば良いんじゃないかと…
でもなんか、.NET って会社で触ったんだが使いにくかった。(w
ま、俺みたいな貧乏人はまだ当分の間、Win98SE+VC6 抜けだせんが。ヽ(TーT)/
0715580
NGNGラジオボタンにアイコンを描画したいんですが、ボタンが大きいせいか、アイコンが縮小されてしまいます。
アイコンをボタンの大きさに合わせて拡大表示する方法ってあるのでしょうか?
アイコンをビットマップにしてやればうまくいきましたが、アイコンの背景が透明から白になってしまいます。
これだと、ボタンの色と同じ色にしないと透明を実現できません。
ボタンの色とかって環境によって違いそうで固定のいろにしてしまうとまずいような気がします。
ビットマップで透明にすることってできるんでしょうか?
0717デフォルトの名無しさん
NGNGアイコンというやつは固定サイズのものなので、アイコン・ボタンにするなら
ボタンをアイコンのサイズに合わせる。
任意のサイズの画像を貼りたいならビットマップにする。ビットマップはシステム
カラーを取得して背景色の設定した上で使う。
0718デフォルトの名無しさん
NGNG今、OleLoadPictureというものを使って
jpegファイルを表示する関数を作っているのですが、
(前半は省略)
short type;
HBITMAP hbmp;
OLE_HANDLE hOle = NULL; //←NULLで初期化しないとだめ
HDC ole_dc; //作業用のDC
//転送
p_IPicture->get_Type(&type);
if (type == PICTYPE_BITMAP){ p_IPicture->get_Handle(&hOle); }
else{ MessageBox(hwnd, "絵をロードしてください!!", "Load_JPG", MB_OK); }
hbmp = (HBITMAP)hOle; //BITMAPのハンドルに
ole_dc = CreateCompatibleDC(hDC.hFdc); //DC作成
SelectObject(ole_dc, hbmp); //読んだ画像と結びつける
勉強しているサイトでは、このあとBitBltして、
お片づけでは、
DeleteDC(ole_dc);
p_IStream->Release(); //開放(この書式でないとだめ)
p_IPicture->Release(); //開放(メモリ領域も一緒に開放)
GlobalUnlock(h_buffer); //ロック解除
CloseHandle(hFile); //ファイルを閉じる
という風にだけ書かれていたんですが、
hbmpはDeleteObjectしなくていいんですか?
ささいな疑問にこんな長文ですみません。
0719デフォルトの名無しさん
NGNGシステムフックによって、IEで開いたURLを取得することって
できるんでしょうか?
0721デフォルトの名無しさん
NGNGVisual C++.net を windows2000で使っています。
SDIでツールを作りました。
が、windows98上で動かそうと思い、そのExeファイルと、
Mfc70.dll、Msvcr70.dllをコピーして来て起動したのですが、
暫く使っていると、クライアント領域とタイトルのところが
真っ白になって固まってしまいます。
ウィンドウのサイズを変えていると、この現象が再現し易いです。
OnDraw関数で、やってはいけないこととかあるんでしょうか。
よろしくお願いいたします。
0722719
NGNGヒントいただけませんか。どのフックの種類を使うんでしょう?
ウィンドウがアクティブになったときのは WH_CBT で拾えてるんですが・・・
0723デフォルトの名無しさん
NGNGVC歴2ヶ月の初心者です。
質問、失礼します。
今、MFCでMDIタイプのソフトを作成中です。
子ウィンドウのViewを、"全て"再描画したいのですが、どの様にするのが良いのでしょうか?
pclMainFrm= (CMainFrame *)theApp.m_pMainWnd;
pclChildFrm= (CChildFrame *)pclMainFrm->GetActiveFrame();
while(1){
if(pclChildFrm== 0x00000000){break;}
pclView= (CViewTest *)pclChildFrm->GetActiveView();
pclView->RedrawWindow();
pclChildFrm= (CChildFrame *)pclChildFrm->GetNextWindow();
}
今のコードは、上記の様になっています。
現在は、再描画される子ウィンドウと、再描画されない子ウィンドウが混在してしまう状態です。
ご存知の方、よろしくお願いします。
Windows2000 VC++6.0 MFC
0724デフォルトの名無しさん
NGNGリソースメータ見とけば?
GDIリソースがリークしてるとかじゃねーの?
0725デフォルトの名無しさん
NGNGそもそも、MFCってdllコピっただけで起動可能でしたっけ?
0726デフォルトの名無しさん
NGNG可能。
単なるDLLはOCXなんかとは違う。
0727デフォルトの名無しさん
NGNGスタティックリンクすれば、dllのコピーさえ必要ない。
0728デフォルトの名無しさん
NGNGmutexを使って同じフォームアプリの二重起動は出来ない様にはできた。
さらに二重起動された場合、最初に起動されたフォームアプリををアクティブにしたくて、
win32のFindWindow等を使おうと、dllimportしようとしたんだけどコンパイルできない。
ヘルプにあるようなコードを書いても駄目。どうコード書いたらいいの?
0729728
NGNG0731デフォルトの名無しさん
NGNG解放し忘れているリソースがないか、一つ一つチェックしる。
0732デフォルトの名無しさん
NGNGpublic:
Matrix<X>();
friend Matrix<X> operator*<X>( Matrix<X> const &, Matrix<X> const &);
};
gccではなんの問題もなくコンパイルできたのですがVS7.1だと
operator*<X>が気に入らないみたいです。どうやったらコンパイルできるんでしょう?
0733デフォルトの名無しさん
NGNGどうしてですか?
0734デフォルトの名無しさん
NGNG0735デフォルトの名無しさん
NGNG0736デフォルトの名無しさん
NGNG正確な所はわかんないけど、んな感じ。
0737デフォルトの名無しさん
NGNGソースファイルをプロジェクトからはずす方法を教えてください。
ファイルがいらなくなった、名前を変えたいときなどに
ファイルを消すのですが、そうすると「ソース ファイルがオープンできません。」
となり、ビルドが出来なくなってしまいます。
0738デフォルトの名無しさん
NGNG「ワークスペース」ウィンドウは表示されているか?
(ふつーは) 左側にある、ツリー表示の…そう、それ。
そこからいらないソースを探してくれ。
見つけたら選択。マウスで、だぞ。
反転したか?したな?じゃあ、キーボードから Delete を探してくれ。
そして、勇気をもって押すがいい。
0740デフォルトの名無しさん
NGNGXP Visual stusio .NET
1.まず最初にファイルの作成: 新規作成でmanegedC++の空のプロジェクト を作成して、
新規項目でC++ファイル でいいのでしょうか?
2.入力された10進数を2進数に変えるプログラムを作成中なのですが、
入力を求めさせる場合は、たとえば main(int k)と書くだけでいいんでしょうか?
だめな場合は、調べるためのキーワードだけでもお願いします。
3.デバックすると、1瞬だけコマンドプロンプトが開いて、表示した瞬間に消えてしまいます。
窓をそのまま表示させておくにはどうすればいいのでしょうか?
複数の質問ですいません。
0741デフォルトの名無しさん
NGNG0742740
NGNGコマンドラインプログラムというのが、プロンプトを表示させて、
ユーザーに入力を求めるものであるなら、ですが。
0743デフォルトの名無しさん
NGNGIsDialogMessage()ではダメでした。
0744デフォルトの名無しさん
NGNG1.
「win32プロジェクト」で新規作成
ダイアログが出たら「アプリケーションの設定」を開き
「コンソールアプリケーション」にチェック
「完了」を押す
2.
入出力の基本くらいC++本とかで学んでくれ
3.
「!」アイコンで実行してみる(Ctrl+F5)
0745740
NGNG0746デフォルトの名無しさん
NGNGずっとVBをやっていたのですが、VBではexeとdllを1つのプロジェクト
グループ(VCのワークスペースのような感じ)にとりこんで、exeと
dllを一緒にデバッグできました。
これはVCでは不可能なのでしょうか?
もし不可能であれば、ワークスペースに複数のプロジェクトを
取り込めるメリットが他になにかあるのでしょうか?
0747デフォルトの名無しさん
NGNG∧_∧ (´<_` ) 兄者は十年後にはきっと、せめて十年でいいからもどってやり直したいと
煤i;´_ゝ`) / ⌒i 思っているのだろう。
/ \ | | 今やり直せよ。未来を。
/ / ̄ ̄ ̄ ̄/ | 十年後か、二十年後か、五十年後からもどってきたんだよ今。
__(__ニつ/ FMV / .| .|____
\/____/ (u ⊃
0748デフォルトの名無しさん
NGNGDirectX関係の関数やクラスを入力したときに、
引数やメンバリストが出なくて(ポップアップで)結構困ってます。
これは設定を変えれば表示するようにできそうなんですが、
色々いじってもなりませんでした。
表示する方法をご存じの方いらっしゃいましたら、教えてください。
よろしくお願いします。
0749デフォルトの名無しさん
NGNGhttp://msdn.microsoft.com/visualc/vctoolkit2003/
0750デフォルトの名無しさん
NGNGhttp://pc5.2ch.net/test/read.cgi/tech/1082177340/
0751デフォルトの名無しさん
NGNGDxヘッダをプロジェクトに入れる。
0752デフォルトの名無しさん
NGNGリソース言語を日本語に変えることのできるToolなどは
ないでしょうか?ぐぐったりしたのですが見つかりませんでした。
どなたか知っている方がいらっしゃったら教えてください。
よろしくお願いいたします。
0753753
NGNG0754デフォルトの名無しさん
NGNGオメ
0755デフォルトの名無しさん
NGNG変な警告がでるのですが 直す方法ありますか?
comdlg32.dllへの全ての参照は/OPT:REFによって破棄されます
と出るのですがコモンダイアログは意識して使っていないので
何がどこを見ているのか分かれば参照を外したいのですが。
要は流用ソースで作成したプロジェクトなので以前使っていた
コンポーネントの情報がどこかにリンク情報として依存しているんでしょか
0756デフォルトの名無しさん
NGNG使ってないから出るんだと思うが。
「デフォルトライブラリをすべて無視」してみ。
0757デフォルトの名無しさん
NGNG「comdlg32.dllをリンクする設定のようだが一回も使ってないっぽいので
リンクオプション/OPT:REFに従い 参照部分のコードをこっちで削っといたぞ」
という警告。
0758初心者
NGNGglutDisplayFunc(display)
などようにクラスのメンバ内でメンバ関数の void display()を処理
したいのですが括弧の中をdisplayにしてもdisplay()にしても通りません
いい方法ないでしょうか?
0759デフォルトの名無しさん
NGNGビジュアルしーぷらぷらって
何のためにつかうのでちゅか?
まさかGUI作成ではないでちゅよね?
っていうかこんにゃの使っているくちょ現場ってあるんでちゅか?
お客さんだまされてるんじゃないでちゅか?
えむえふちーただちゅかえることになんの意味があるんでちゅか?
使う目的はっきりしろやボケ!質問はそれからだ。
0760デフォルトの名無しさん
NGNGそれとも引用符の付け忘れだろうか。
0761デフォルトの名無しさん
NGNG入社早々デスマ乙!
こんなところで良かったら愚痴聞いてやるから死ぬなよ。
0762デフォルトの名無しさん
NGNG0763デフォルトの名無しさん
NGNGいや、愚痴はマ板の相応しいスレでよろしこ。
0764デフォルトの名無しさん
NGNG0765デフォルトの名無しさん
NGNGいままで動いていたプログラムをC++スタイルに書き直した。
ファイル拡張子が.cではclassで構文エラーになるから.cppにしてリコンパイル。
コンパイルまではいいとして、リンクでコケる。今までリンクできていたライブ
ラリの関数を参照してくれなくなった。環境設定ではちゃんとそのlibを読むよ
うに設定。詳細リストを見るとファイルは認識していて読んでいるのに、その
中の関数を無視する。関数名が一致しているハズなのに未定義扱いでエラー
ドバドバ。
つまり何か、Cで昔書いたlibはC++とリンクできないんか。
そんなに不便なのか?
何かやり方があるのでしょうか?
実際はどうなんでしょう。
0766デフォルトの名無しさん
NGNG>関数名が一致しているハズなのに
C と C++ では名前付け規則が違います。
(C++ では同じ名前で引き数が違う関数が
存在するため、プレフィックスがつく)
C から呼び出される可能性のある C++ の関数は
extern "C" {
:
関数の宣言/定義
:
}
とします。
0767デフォルトの名無しさん
NGNG>C から呼び出される可能性のある C++ の関数は
逆じゃねぇか?
0768765
NGNG0769デフォルトの名無しさん
NGNGなんつーソフトを買えば良いんですか?
学校のソフトだとVisual Studioナンチャラ・・・らしいんですけど・・・
0770デフォルトの名無しさん
NGNG0771デフォルトの名無しさん
NGNGなぜかわろた
0772デフォルトの名無しさん
NGNG0773デフォルトの名無しさん
NGNG画面があがった事で詳細処理が動くという作りの
アプリがあります。このアプリの画面をユーザーに
見せる事なく処理を実行したいのですが
SW_SHOWMINIMIZED等でタスクバーのみ表示、または画面がアクティブにない状態だと
処理が止まってしまいます。
画面はアクティブの状態を維持し 見た目画面に表示させないような
矛盾したコードを技術でカバーする方法はないでしょうか?
0774773
NGNGタイトルバーの高さサイズ最小くらいまで小さくする方法を教えてください
0775デフォルトの名無しさん
NGNG0776773
NGNGそれはどのようにすればよいでしょう?
客の希望はタスクバーにすらあがらない仕様を望んでいるので
困っています。
0777デフォルトの名無しさん
NGNG判らないから言い様も無いんだけど、まずなんで最小にする、或いは
非アクティブ状態になると処理が止まってしまうのかって事だね。
そのトリガが判れば通常アプリケーションが動いている間詳細処理を
実行し続ける方法も自ずと見えてくるんじゃないかな。
0778デフォルトの名無しさん
NGNG何を買えば良いのか分からんのよぅ・・・
0779デフォルトの名無しさん
NGNG学生ならVisual Studio学割で買っとけ。
フリーのコンパイラもあるが、多少身銭を切っといた方が勉強にも身が入るだろう。
0780デフォルトの名無しさん
NGNG得られると思うが、ってそこまで頭が回りませんか。
0781デフォルトの名無しさん
NGNG0782デフォルトの名無しさん
NGNGわかりやすいページがあったら教えてくれませんか?
猫のところは古いんで6.0だと不便なんで・・・
0784デフォルトの名無しさん
NGNG古くても6.0なら猫で十分。6.0も古いし。何が不便なの?
0785デフォルトの名無しさん
NGNG教えてください。
VB側からVCで作成したDLLを参照しているのですが
DLL側の処理が終わらない間にVB側へ操作が返ってきます。
(そのままモーダレスのような状態でDLL側は動きます)
これをVC側のエクスポート関数側でブロックしたいのですが
ここでWhileを使って応答が返るまで待機させようとしたのですが
このループに入った途端に処理側もフリーズしたような状態になりました
なんか上手い応答待機の方法ないですか?
0786デフォルトの名無しさん
NGNG0787デフォルトの名無しさん
NGNG何でもいいからC++の本を一冊読破しろ。
話はそれからだ。
0788デフォルトの名無しさん
NGNGお前アホか?
ちゃんと答えてやれよ、ボケ!
0789デフォルトの名無しさん
NGNG「二つのオブジェクトへの参照を引数にとり、値を入れ換える関数」が必要だとして、
を、整数用、浮動少数点用、構造体用、って 別々に用意するの、めんどいッショ。
0790デフォルトの名無しさん
NGNGインストールが正常終了してもmfc42.dllが更新されません。イベントログを見ると、
「保護されいるmfc42.dllが更新されそうになったから、元のバージョンに戻した」のイベントが残っています。
mfc42.dllを更新するには、手動でcab展開&コピーしないといけないのですか?
0791デフォルトの名無しさん
NGNG分割コンパイルをすると、クラスが定義されていない旨のエラーが出ます。
特別な設定が必要なのでしょうか?
0792デフォルトの名無しさん
NGNGプログラムの誤り。
0793デフォルトの名無しさん
NGNGVisual C++ スレで答える必要もないと思うが、春か…。
0794デフォルトの名無しさん
NGNG0795デフォルトの名無しさん
NGNG0796721
NGNGmainfrmの関数をオーバーライドするとします。
VC6.0とかでは、クラスウィザード(?)から
オブジェクトIDを指定できるじゃないですか。
あれって.netではどうやればいいのでしょうか。
メッセージをどこかに追加しなければいけないのでしょうか。
なんか説明しにくいのですが、
もしかして質問が支離滅裂でしょうか。
0797デフォルトの名無しさん
NGNGms-help://MS.MSDNQTR.2003FEB.1041/vccore/html/vcgrfWhereIsClassWizardInVisualCNET.htm
0798デフォルトの名無しさん
NGNGといったら吠える香具師↓
0799デフォルトの名無しさん
NGNG0800デフォルトの名無しさん
NGNG0802デフォルトの名無しさん
NGNG調べ方に慣れるのもかなり重要だから。
0803デフォルトの名無しさん
NGNGあれってどうやって実現しているんですか?
http://www.din.or.jp/~ch3/game.html
ここにある http://www.din.or.jp/~ch3/gba01w.zip の GBA.EXE をバイナリエディタでみると、コメントがあるんですが・・・
やり方がわかるひと。おしえてください。
#pragma comment( exestring, "...." )
ではないですよね?(vs.netでは使えないんですが)
0804デフォルトの名無しさん
NGNGコメントってどれのことだ?
私にはWin32アプリに必ず埋め込まれる
This program cannot be run in DOS mode
しか見当たらないが。
0805デフォルトの名無しさん
NGNG0806デフォルトの名無しさん
NGNG#pragma comment(linker,"/comment:ふんにゃか") とか?
0807デフォルトの名無しさん
NGNGListControlをレポートに設定して
それをダイアログベースのフォームに貼り付けたのですが
m_lcTest.InsertColumn( 0, "TEST");
と言う感じでカラム追加しても表示されません
デバッグモードでやると、例外が発生してるみたいです。
ちなみに、1つ目のダイアログに貼り付けると問題なく出来るんですが
1つ目からDoModalで表示したダイアログでやると失敗するんです。
何か特別な方法が必要なのでしょうか?
0808デフォルトの名無しさん
NGNG0809デフォルトの名無しさん
NGNGウィンドウスタイルを取得すればいいんだが、
API でやりたいのか?それとも MFC?
0810デフォルトの名無しさん
NGNGGetWindowPlacementなんて好き?
0811デフォルトの名無しさん
NGNGMoveWindowするためにゴチャゴチャやるときにしか求められないんですか?
0812デフォルトの名無しさん
NGNG言ってることがよくわからんが
GetWindowRectとGetClientRectして差分を出したらいいのか?
0813デフォルトの名無しさん
NGNGまさかGetSystemMetrics()を知らないんじゃないだろうね?
0814デフォルトの名無しさん
NGNGすみません、何か勘違いしていたようです・・・。学校で、
HWND hDesk;//デスクトップを操作する
RECT ScrnSize;//デスクトップの大きさを格納
hDesk = GetDesktopWindow();//デスクトップハンドルを取得
GetWindowRect(hDesk, &ScrnSize);//デスクトップの大きさを取得
このように習ったので、GetWindowRectはデスクトップの大きさしか取って来れない
と勘違いしてました・・・。ウィンドウのハンドルを指定すればいいんですね。
お騒がせしました・・・。
>>813
それは知らなかったです、調べてみますね。ありがとうございます。
0815デフォルトの名無しさん
NGNG「ランタイムで非表示」をチェックして作成したコントロールを
WTLのCAxDialogImplに貼り付けても、実行時にコントロールの表示が消えません。
とりあえずGetAmbientUserMode()で実行モードかデザインモードか判断して
描画しないようにしていますが、こんなやり方しかないのでしょうか?
0816デフォルトの名無しさん
NGNG今、Win32APIを使ってWindowsプログラミングの勉強してるんですけど
vcvars32.batに適切なコマンド?を渡せばIDEなんかを使わなくてもいけますか?
軽いエディタで作業したいので
0817デフォルトの名無しさん
NGNGダイアログベースで、左にリストがあり、そのリストを選択すると右の項目が変わるような
(netscapeなどの設定画面)画面を作りたいのですが、どのように構成にすればよくわかりません。
どなたか教えてください。よろしくお願いします。
開発環境は Visual C++ .net 2002 WindowsXPです。
0818デフォルトの名無しさん
NGNG急がば回れ。タブコントロールについて調べなされ。
0819デフォルトの名無しさん
NGNGネスケのPreferencesなんだからTreeコントロールだろ
0820デフォルトの名無しさん
NGNGCTreeを使って試してみることにします。
ありがとうございました。
0821デフォルトの名無しさん
NGNG>>817がわからないのは、
>そのリストを選択すると右の項目が変わる
ってのじゃないの?
って書こうとしたら>>820かよ。スマンカッタ。
0822デフォルトの名無しさん
NGNGCTreeが右を変えてくれると思ったら違いました…
その、右の項目を変えるにはどうすればいいんでしょうか。
0823デフォルトの名無しさん
NGNG途中まで作って、やっぱりスプリットウィンドウにしようとしたら、
プログラム終了時に、
〜でハンドルされていない例外が発生しました : ユーザー設定のブレークポイント。
と言われてしまいます。
MainFrame::OnCreateClientの中で下記のようにしています。
(m_spWndは、CSplitterWndのオブジェクトです。)
m_spWnd.CreateStatic(this, 1,2);
m_spWnd.CreateView(0,0,RUNTIME_CLASS(追加したビュー),CSize(200,0),pContext);
m_spWnd.CreateView(0,1,RUNTIME_CLASS(最初からあるビュー),CSize(0,0),pContext);
上記の2行目と3行目を入れ替えると(単純にそのまま行の順番を変えると)
例外が発生しなくなります。
自分で調べるべきなのでしょうが、どこからどう調べていいかわからず
途方にくれてます。
ヒントだけでも、お願いします。
0824デフォルトの名無しさん
NGNG>>818
0825デフォルトの名無しさん
NGNGTabライクなページ・ビューの切り替えね
指摘のMozのPreferencesみたいな設定ダイアログを起こす場合はCDialogでなくて
CPropertySheetを使い、CPropertyPageをそこにAddPage()で乗せていく。リソース
はダイアログのものでOKでクラスを作成するときにCPropertyPageにしてやる。
検索すればソースは出てくると思う。
単純なページでできているもので、もっと簡単にやりたいなら、普通のダイアログに
使いたいコントロールを重ねて貼って、ShowWindow(SW_SHOW)とか
ShowWindow(SW_HIDE)使って、コントロールを消したり出したりする方法もある。
0826デフォルトの名無しさん
NGNGよろしくお願いします。CFrameWndを使用しています。
ウインドウが作成されると白いバックグラウンドに黒の文字で
画面が表示されます。
顧客をだまくらかすのに必要なのですが、この画面を
VBのメッセージボックスのように灰色ダイアログ化して文字も
灰色にして中で何が行われいるかわからないようにしたいのです。
可視をいじくると不具合がでます。
※アクテイブにしていないといけないアプリです
さらに「しばらくお待ちください」のビットマップを
そこに貼り付けたいのです。
このあたりの制御コードに詳しいかた手順をお願いします。
0827デフォルトの名無しさん
NGNG>>825
なんとなく見えてきました。
CPropertyPageのAddPageする場所を表示するべき場所に指定するということですよね?
どうすれば出力すればいいのかが自分的な壁ですが、色々試してみたいと思います。
0828デフォルトの名無しさん
NGNG素直に文字を表示しなければいいだけじゃないの?
0829826
NGNG当初その予定だったのですが、顧客が文句を言ってきたのです。
画面が気になるから非表示にするかmsgbox化しろ との内容です。
ビューをダイアログに変えたいのですが、弊害があり
なるだけ既存のコードに大幅な変更を掛け図に 姑息な手で
稼動をへらしたいなあと思いました。
なのでお知恵を拝借させてください。
0830デフォルトの名無しさん
NGNG0831デフォルトの名無しさん
NGNG0832デフォルトの名無しさん
NGNG0833デフォルトの名無しさん
NGNGそれですな。そのウィンドウに
「現在処理中です」とでも書いとけばいいんでない?
0834デフォルトの名無しさん
NGNG0835デフォルトの名無しさん
NGNG書いておけばいい。
0836デフォルトの名無しさん
NGNG0837デフォルトの名無しさん
NGNG最近VS.NET2003アカデミックを使い始めて
いきなり理解不能なことにぶち当たってます。
新規プロジェクトでWin32コンソールプロジェクトを作成し、
以下のコードを書きます。
-------------------------
#include <iostream>
int main(void)
{
cout << "TEST" << endl;
return 0;
}
-------------------------
これをコンパイルするとcoutやendlが定義されてない識別子だと怒られます。
今までbccとgccと、大学でVC++6.0を触っただけの自分には
何がなんだかわかりません。
ごく普通にC++プログラムを作るにはどうしたらいいでしょうか?
0838デフォルトの名無しさん
NGNG0839837
NGNG今まであえて使う場面がなかったので忘れてました。
即レスありがとうございます。
0840デフォルトの名無しさん
NGNGその作戦でいこうと思います。
助かりました。
0841デフォルトの名無しさん
NGNG> #include <iostream>
iostream.h
0842デフォルトの名無しさん
NGNG0843デフォルトの名無しさん
NGNGっつうか.Netはiostream.hはいらないというか ない
0844デフォルトの名無しさん
NGNGstd::endl
0845デフォルトの名無しさん
NGNG0846デフォルトの名無しさん
NGNGメンドウだから別でコンソールを開いてそっちに表示しようよー。
0847デフォルトの名無しさん
NGNG進入社員なんだよね。少しだけ学校で6触っただけなんだよ
いきなりさ。コレ解析してくれって27のPMから押し付けられたソース
リリースで実行したら4回目でコケるわ デバッグに切り替えたら
デバッグ情報がないたら文句いわれるわ
わけわかめ どうしたらいいんだこれ?
0848デフォルトの名無しさん
NGNGTRACEマクロのことか
0849847
NGNGマルチポがどうとかキレられてしまいました。
口の利き方がどうとか回答だれもくれないとか罵られて
なんか凹んで来た。
訂正して改めて質問します。
メモリが”READ”になることはできませんでした
とか変な日本語が表示されるのですが、これは????メモリー?と呼ばれる
領域が読込めなかったと解釈していいメッセージなのでしょうか?
0850デフォルトの名無しさん
NGNG?
エラー状況と対処法として>>841はアリだと思うんだが
0851デフォルトの名無しさん
NGNG> メモリが”READ”になることはできませんでした
バッファ・アクセスに関しておかしなコードがあるとそういうエラーになる。
それだけじゃ何が悪いのか分からない。プログラムの規模も分からないし。
0852デフォルトの名無しさん
NGNGんー、それだけだとどうしようもない。
環境がダメなのか、ソースがダメなのかもはっきりしない。
とりあえず、そのREADなんたらにかんしてはgoogle検索でもしてみることをお勧めする
0853デフォルトの名無しさん
NGNG>とか変な日本語が表示されるのですが
まぁたしかに変な日本語だよな。
慣れちゃえば定型文なんだけど。
はじめて見る人はなんのことやらサパーリだろう。
0854デフォルトの名無しさん
NGNGこのスレ的に、お薦めのVC++入門書は何ですか? 教えてください。
0855デフォルトの名無しさん
NGNGアリなのと適切なのは違うよな。そのくらいわかるよな。
0856デフォルトの名無しさん
NGNGGUIに行く前にSTLの本読んどけ、っと言ってみるテスト。
0857849
NGNG何やらアルファサーバーにテレネットで
接続して コマンドを送るプログラムです
呼び出し元を閉じると
このエラーがでるよ
0858デフォルトの名無しさん
NGNG誰だっけか。この奇妙な文の理由を考察してたね。
英語だと "memory cannot be %s" というフォーマットを用意して,
%s に "read" や "write" を代入するだけで「メモリから読み出せませんでした」とか
「メモリに書き込めませんでした」になるんだよね。
同じ事を日本語でやるならば "メモリから%sませんでした" というフォーマットを用意して
"読み出せ","書き込め" というリソースを用意すれば,この部分に関してはクリア。
しかし,英語版Winだと "read" や "write" つー文字列リソースをいろんな場面で
使いまわしてるそうな。それを日本語に翻訳した時,どうしても "読み出せ","書き込め" を
使いまわせないような場面が出て来るそうな。
苦肉の策として,奇妙な言い回しを採用したそうな。
二人は仲良く暮らしましたとさ。めでたしめでたし。
0859デフォルトの名無しさん
NGNG0860デフォルトの名無しさん
NGNG0861デフォルトの名無しさん
NGNGMFCをつかう・使わないプログラムでも、
マルチスレッドでも、シングルスレッドでも、リンクできるライブラリ
を作成したいのです。
ライブラリの作成時にNODEFAULTLIBなどしてはいるのですが、
プログラムのリンク時に、
libcd.lib(dbgheap.obj) : error LNK2005: _malloc は既に msvcrtd.lib(MSVCR71D.dll) で定義されています。
libcd.lib(dbgheap.obj) : error LNK2005: __malloc_dbg は既に msvcrtd.lib(MSVCR71D.dll) で定義されています。
としかられます。
すいませんが、よろしくお願いします。
0862デフォルトの名無しさん
NGNG0863デフォルトの名無しさん
NGNG,;i|||||||||||||||||||||||||||||||ii;、 _/
/||||||||||||||||||||||||||||||||||||||ii;、 \
/ ̄ ̄\||||||||||||||||||||||||||||||||||||ii;゙ヽ, /
'" ̄ヽ ヽ!!|||||||||||||||| ||||||||||!!"ヘ < ロマンティックageるよ
ヽ ゙!!!|||||||||||| |||||||!! iヽ── /
|||l ゙゙ヽ、ll,,‐''''"" | ヽ|||||||||ロマンチックageるよ
|||l ____ ゙l __ \|||||||||
||!' /ヽ、 o゙>┴<"o /\ |'" ̄| ホントの勇気 見せてくれたら
\ / |ミミヽ──‐'"ノ≡- ゙'──''彡| |、 | |
 ̄| |ミミミ/" ̄ 、,,/|l ̄"'''ヽ彡|| |、/ / ロマンティックageるよ
ヽ、l| |ミミミ| |、────フヽ |彡l| |/ /_
\/|l |ミミミ| \_/ ̄ ̄フ_/ |彡|l/  ̄/ ロマンティックageるよ
\ ノ l|ミミミ| \二二、_/ |彡| フ
 ̄\ l|ミミミ|  ̄ ̄ ̄ |メ/ \トキメク胸に キラキラ光った
| \ ヽ\ミヽ  ̄ ̄"' |/ /
/ \ヽ、ヾ''''ヽ、_____// /_夢をageるよ
/ ヽ ゙ヽ─、──────'/|  ̄/
. / ゙\ \ / / \__
───'''" ̄ ̄ ゙゙̄ヽ、__,,/,-'''" ̄ ゙''─
0864デフォルトの名無しさん
NGNGOnInitDialog関数内でプロセスハンドルを取得したときと、
たとえば、ボタンを押したときにプロセスハンドルを取得する場合とで
取得できるプロセスハンドルが変化してしまうのですが、なぜでしょうか?
プロセスIDをみると同一なので、同じハンドルが取得できるはずだと思うのですが
なぜか変化してしまいます。
出来れば、ダイアログが立ち上がったと同時に自動的に別プロセスのハンドルを
取得したいのですがどうすればいいのでしょうか?
0865864
NGNGごめんなさい…
0866デフォルトの名無しさん
NGNG0867デフォルトの名無しさん
NGNG0868デフォルトの名無しさん
NGNGあるホームページのプログラミング初心者講座で文字を表示させるだけの作業
の方法が書いてありました。
ところがそれで使ってるコンパイラがVC++だったため、私が買ってしまった
Visual Studio .NET 2003ではどのようにその作業をするのかまるで分かりません。
vc++netの本もいくつか読んだのですが・・・。
ちょっとしたとっかかりだけでもいいんで教えていただけないでしょうか?
言ってることちんぷんかんぷんだったらすみません。
0869デフォルトの名無しさん
NGNGusing namespace std;
int main()
{
cout << "Hello World C++ \n";
return 0;
}
0870デフォルトの名無しさん
NGNG0871867
NGNGすみません。ソースの書き方が分からないのではなく(載ってましたし)、どうやって
ビルドするかが分かりません。
VC++はビルドを実行すると勝手にワークスペースが作られるようですが、どうも
これは違うようです。
ビルドを実行するまでの手順を教えていただけたらありがたいです。
(説明書わけわかんない・・・)
>>870
とりあえず新しい方がいいんだろうと思って買ってしまいました・・・。
0872デフォルトの名無しさん
NGNG�@C++プロジェクトでwin32アプリケーションを指定し、ファイル名を入力してOKボタン
�Aアプリケーションの設定をクリック、コンソールアプリケーションのチェックボックスをON
完了押せば
#include "stdafx.h"
int _tmain(int argc, _TCHAR* argv[])
{
return 0;
}
ができあがって、
そこに
using namespace std;
と
cout << "Hello World C++ \n";
を記述してビルド
0873デフォルトの名無しさん
NGNGとりあえず、猫でGO!
http://www.kumei.ne.jp/c_lang/
0874デフォルトの名無しさん
NGNG0875デフォルトの名無しさん
NGNGctrl+F5 連打
0876デフォルトの名無しさん
NGNG出来ました♪これが出来ない事には先に進めなかったんで本当に助かりました。
>>873
初めて知ったところですが、かなり良さそうですね。
これから活用したいと思います。本よりいい感じかも・・。
>>874
説明ちんぷんかんぷんですんません。
自分でも何書いてるのかよく分からないような気もしたんですが、
知識が全然ないんでどうしようもなかった・・・・。
皆さんレスありがとうございました!!
0877デフォルトの名無しさん
NGNG何階層目にあるのかを知る為には、
どのようにすれば良いでしょうか?
0878デフォルトの名無しさん
NGNG0879デフォルトの名無しさん
NGNG0880デフォルトの名無しさん
NGNG0881デフォルトの名無しさん
NGNGfor(int i=0 ;(hParent = GetParentItem(hParent)) != NULL && hParent != GetRootItem(); i++);
0882847
NGNG色々試してみたんだけど 全然改善されないよ
V呼び出し元のアプリを閉じたときに デバッグで不具合個所を見ても
NTDLL! アドレス番号? のとこでいつも同じコケ方してる
こういう時の解析ってどうするんですか?
0883デフォルトの名無しさん
NGNG>リリースで実行したら4回目でコケるわ
3回目までは正常に動作するの?4回目でコケるっていうのも、
正常に動作し終わった後でエラーになるの?
0885847
NGNG正確にいうとMFCのDLLで呼び出した関数を連続3回まで
正常に呼び出し成功して4回目にアプリケーションエラーで落ちる事が
あるんだけど、必ず という確立じゃなくて 不意に落ちる。
VBの中ではこの関数をループ内で使用していて
For i = 0 to 9
で明示的に10回連続でコールします。
ボタン一回押下するにつき10回関数が呼ばれるのだけど
そのボタンを4回押すとエラーが発生してしまうんで
何かが初期化されていないからか スタックとかメモリの領域が壊れるか
そのあたりがキーなのかな?とは思っているんだけど
いずれにしても一度ループで10回関数をコールしたあと
VB側を終了したらまた違う番地でのアプリケーションエラーがでている
ようっす。どうやって解析したらよいものか。。。
0886デフォルトの名無しさん
NGNG今までにそういう情報かいてたかモマエ・・・
0887デフォルトの名無しさん
NGNGしてるんだろう
0888デフォルトの名無しさん
NGNG0889デフォルトの名無しさん
NGNGデバッグしたいのはDLLなの?それとも、そのDLLは十分使用されていて
問題がないことがわかっていて、VBのアプリをデバッグしたいの?
まあたぶん前者なんだろうけど。
そのDLLを使用するVCのアプリを作ってデバッグしなよ。
そのDLLのソースもあるんだろな?
0890デフォルトの名無しさん
NGNG0891デフォルトの名無しさん
NGNGダイアログエディタのコントロールパレットを
軽い気持ちで消したら、
どうやっても出てこないんですが・・・
0892デフォルトの名無しさん
NGNG上のメニューが並んでる所の何も無い場所で右クリック→コントロールにチェック
0893847
NGNGVBは試験的につかってるだけだよ
この先MFCのEXEにする。MFCのウイザードで作ったEXEで
このDLLをロードしても終了時にアプリケーションエラーが
出るから多分DLL側に問題あるんだよな
>>889
もちろんDLLだよ。今まで単純にループなしで
あまりコールされなかった関数だったんだけど今回の開発で呼び元に手が入って
そのDLLが連続処理時に不具合でてるから解析してくれといわれた
>>890
まだデバッグも出来てないよ。何かわからんがDLLのプロジェクトを
開いてデバッグ実行するとデバッグ情報がありません と怒られて
無視してブレークの位置までF5を押していくとエラーになってた
0894デフォルトの名無しさん
NGNGhttp://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/vsdebug/html/vcoriDebuggingTechniquesForVisualC.asp
読んだ?
0895894
NGNGDLLは、デバッグビルドされた .dll ファイルじゃないとイカンよ。
で、呼び出し側のプロジェクトで、そのdllのソースがある場所を
設定してやるとよい。
0896847
NGNGはい その辺はきちっと押さえてて デバッグビルドDLLを
パスの通った場所に格納してデバッグ実行しているよ。
他のDLLだと問題なくデバッグでステップ実行できるんだけど
0897デフォルトの名無しさん
NGNG拡張子「.c」でC言語を実行したいのですが方法が分かりません。「.cpp」なら普通に実行されるんですが…
簡単なことかもしれませんが、教えて下さい。
0898894
NGNGんーとさ、呼び出し側のプロジェクトのメニューから、
[プロジェクト]→[設定]→[デバッグ]タブ→[カテゴリ]を[追加するDLL]
にして、その下のリストに使用するDLLを追加してある?
ここで指定するDLLファイルは、DLLのソースディレクトリ内の
debug ディレクトリの中にあるファイルを指定して。
そうすると、デバッグ中にそのDLLの関数に入ろうとしたときに
ソースファイルの場所を指定するダイアログが開かないかな。
0899894
NGNGhttp://www.borland.co.jp/qanda/lang/l0001912.html
取り急ぎ。もっと詳しいページもイパーイあるけど。
0900デフォルトの名無しさん
NGNGレス有難うございます。
しかし、プログラム的な質問じゃなくてVisualC++2003の使い方についての質問です。
質問の仕方が悪かったです。すいません。
0902デフォルトの名無しさん
NGNGSetDCPenColor関数やSetDCBrushColor関数を使いたいのです。
しかし、コンパイルすると「定義されていない識別子です。」とエラーが出てしまいます。
VisualC++のエディタ上ではSetDCPenColor(の"("を押すと、引数が表示されてるので、
認識されてはいると思うのですが。。。
どなたか分かる方、よろしくお願いします。
0903デフォルトの名無しさん
NGNGWINGDIAPI COLORREF WINAPI SetDCBrushColor(IN HDC, IN COLORREF);
WINGDIAPI COLORREF WINAPI SetDCPenColor(IN HDC, IN COLORREF);
#endif
こーなっとる
0904デフォルトの名無しさん
NGNGレスありがとうございます。
_WIN32_WINNTの値を0x0500にするとうまくいきました。
ただWindows2000では_WIN32_WINNTの値は0x0500だと思うのですが。
うまくいったからいいのですが、少し気になります。
でもどうもありがとうございました!
0905デフォルトの名無しさん
NGNG0906デフォルトの名無しさん
NGNGそうだったのですか、知りませんでした。
どうもありがとうございます!
0907デフォルトの名無しさん
NGNGOnDraw関数の中で、
CRgn aaaa;
aaaa.CreateRectRgn(10,10,300,300);
pDC->SelectObject(&aaaa);
…
aaaa.delete();
とかやりたいんすけど、selectしたままだと消せないと
聞きました。どうやってデリートしたらいいでしょうか。
0908デフォルトの名無しさん
NGNG0909デフォルトの名無しさん
NGNGSelectObjectの戻り値。
0910デフォルトの名無しさん
NGNG戻し方がわかりません。(すいません
>>909
CPenのオブジェクトとかは選択したときに元の
やつが戻り値に戻されると思うのですが、
CRgnの場合をヘルプで見ると、intが戻っている
ようなのですが…いかようにすればいいのでしょうか。
0911デフォルトの名無しさん
NGNGリージョンの場合は元に戻さなくてもいい。
0912デフォルトの名無しさん
NGNGあ、そうだったんですか。
どうもありがとうございます。
0913デフォルトの名無しさん
NGNGCPenは?CBrushは?CFontは???
0914デフォルトの名無しさん
NGNG0915デフォルトの名無しさん
NGNG0916デフォルトの名無しさん
NGNG0917デフォルトの名無しさん
NGNG0918デフォルトの名無しさん
NGNG0919デフォルトの名無しさん
NGNGそれは Visual C++ 6.0 でもできますか?
0920デフォルトの名無しさん
NGNGお願いします。
0921デフォルトの名無しさん
NGNGコンパイルのことならそういうスイッチがあったと思われ。
0922デフォルトの名無しさん
NGNG無い場合はどうやって取得したらいいんですか?
0923デフォルトの名無しさん
NGNGレジストリの値を参照すればいいんじゃないの?
0924デフォルトの名無しさん
NGNG0925デフォルトの名無しさん
NGNGそうです。「.c」だとコンパイルされず実行出来ないんです。
0926デフォルトの名無しさん
NGNGお前の独自用語の説明はわからん。エラーメッセージをそのまま貼れ。
0927922
NGNGHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\
にある8.0とか9.0がバージョンと思うんですが、
これって絶対に8.0から1おきに増加してるものなんでしょうか。
0928デフォルトの名無しさん
NGNG環境はVC++.Net2003です。
よろしくお願いします。
0930デフォルトの名無しさん
NGNGだとAは0x30000000になりますよね?
同じく int A = 255; A = A << 32;
だと A = 0 になるのでしょうか? 255 のままなのですが・・・・・・。
0931デフォルトの名無しさん
NGNG> (上位変換された) 左オペランドのビット数以上のときの結果は、未定義です。
未定義だから、文句言えないんじゃない?
0932デフォルトの名無しさん
NGNG(__stdcall *)〜に変換できませんというエラーがでます
0933デフォルトの名無しさん
NGNGttp://techtips.belution.com/ja/vc/0009/
0934デフォルトの名無しさん
NGNGありがとうございました。
なんとか作ってみます。
0935デフォルトの名無しさん
NGNG>int A = 255; A = A << 30;
>だとAは0x30000000になりますよね?
なりません。
>同じく int A = 255; A = A << 32;
>だと A = 0 になるのでしょうか? 255 のままなのですが・・・・・・。
>931の言うように未定義なので、警告が出るコンパイラもあります。
0936デフォルトの名無しさん
NGNG0937デフォルトの名無しさん
NGNG難問だな。
0938デフォルトの名無しさん
NGNGプロジェクト→依存関係
0939936
NGNGリリース版でコンパイルすればOKなんですね。
0940デフォルトの名無しさん
NGNG0941デフォルトの名無しさん
NGNGなぜVC++は単発の.cや.cppファイルをビルドできないのでしょうか?
0942デフォルトの名無しさん
NGNG用語が違うから。
0943デフォルトの名無しさん
NGNGCDaoRecordset *m_dbRecord = new CDaoRecordset(m_DB);
m_dbRecord->AddNew();
m_dbRecord->Update();
とすると、
「インデックスまたは主キーには、Null 値を使用できません。」という
エラーメッセージが表示され、レコードが追加されません。
追加するレコードの各々のフィールドの初期値を設定するには、
どのようにすれば良いでしょうか?
CDaoRecordset *m_dbRecord = new CDaoRecordset(m_DB);
m_dbRecord->AddNew();
?
?
m_dbRecord->Update();
0944デフォルトの名無しさん
NGNG0945デフォルトの名無しさん
NGNG> VisualC++.net 2003を使い始めました。
> 拡張子「.c」でC言語を実行したいのですが方法が分かりません。「.cpp」なら普通に実行されるんですが…
> 簡単なことかもしれませんが、教えて下さい。
拡張子が .c のファイルをVCで開いても、
ビルドのボタンが表示されないから困っている、ってことだろ。
空のプロジェクトを作り、新しい項目の追加でファイル名を拡張子まで書きhoge.cとしてやるか、
既存の項目の追加でhoge.cを指定してやればOK。
拡張子を書かなければ、自動的に.cppが付加されてしまう事に注意。
0946デフォルトの名無しさん
NGNGプロジェクトのビルドは
違うからね。
0947デフォルトの名無しさん
NGNG出来ました。有難うございます。
0948デフォルトの名無しさん
NGNGすげーよくわかったな(w
0949デフォルトの名無しさん
NGNG↑これの意味わかりますか?
0950デフォルトの名無しさん
NGNG0951デフォルトの名無しさん
NGNGよろしく
0952デフォルトの名無しさん
NGNG0953デフォルトの名無しさん
NGNGそれ、VC++とどう関係があるのか聞きたい。
0954デフォルトの名無しさん
NGNG1001000101001(2進) = 4649(10進)
で、ヨロシク
0955デフォルトの名無しさん
NGNGいやほんと d(゚Д゚)サンクス
0956デフォルトの名無しさん
NGNGせっかくだから
>>954
100111
くらい書けよ
0957デフォルトの名無しさん
NGNGあれ?2324じゃないかい?
0958957
NGNG0959デフォルトの名無しさん
NGNG0960デフォルトの名無しさん
NGNGMFCはC++なのでそのまま使え。
MFCを使わない時にもということであればMFCのソースをミロ。
0961デフォルトの名無しさん
NGNGVS 2003なら TRACE を選択して定義へ移動。 (゚д゚)ウマー
0962デフォルトの名無しさん
NGNGできれば二つの違いについても教えてもらえると助かります。
微妙にスレ違いですいません。
0963デフォルトの名無しさん
NGNG0964デフォルトの名無しさん
NGNG>できれば二つの違いについても教えてもらえると助かります
掲示板で聞く内容ではないと思います。
せっかくのGWなんだし、理解するまで思う存分
書店で立ち読みでもしてきたらいかがでしょう?
0965デフォルトの名無しさん
NGNGcできないのにc++なんてできやしない
0966デフォルトの名無しさん
NGNG左だよ
0967デフォルトの名無しさん
NGNG0968デフォルトの名無しさん
NGNGワロタ
0969デフォルトの名無しさん
NGNGツッコミ遅いよ!何やってんの
0970デフォルトの名無しさん
NGNG死ねよ、屑
0971しぃ
NGNGプロジェクトを新規作成して何もコードを書かずにデバッグ実行を開始しても、フォームが出てくるまで30秒ぐらい待たされます。
デバッグなしの実行ではすぐに出てくるのでデバッガの問題だと思うのですが。
2002の時も「Hello World」がコンソールに出てくるまでやはり30秒ぐらいかかります。
どなたか解決策をご存じないでしょうか?
ちなみに環境はWinXPPro、AthlonMP2000+Dual、メモリ512MBです。
ノート(WinXPHome、PentiumM1.4GHz、メモリ512MB)や職場のPC(Win2k、Pentium4-2GHz、メモリ256MB)でも同様でした。
よろしくお願いします。
0972山本五十六
NGNGこれからはC♯の時代なんだから
航空優位時代到来なのに大艦巨砲主義に何時までもこだわるな、ということだw
0973デフォルトの名無しさん
NGNG人件費の関係で、日本のPGはみんな失職。インドとかアジア系の人材ばっかりになるよ。
0974デフォルトの名無しさん
NGNG釣りですか?
0975デフォルトの名無しさん
NGNG製造職全般にも言えるね
田舎に帰って無農薬農法でもやってください
0976デフォルトの名無しさん
NGNG#include <stdio.h>
int main(void)
{
int a,b,c;
a=4;
b=0;
c=a/b;
printf("%d /%d = %d\n,a,b,c);
return 0;
}
これをビルドすると 「ハンドルされていない例外が発生しました」
と出ます。上のプログラムでintをdoubleにしてa,bを小数にして実行
するとc=1.#INF00と出ます。なぜでしょうか。
0977デフォルトの名無しさん
NGNGゼロ除算の例外
INFはインフィニティ
0978デフォルトの名無しさん
NGNG0979デフォルトの名無しさん
NGNG整数ではコンパイルできませんが、小数ではできました。
0980デフォルトの名無しさん
NGNG漏れはVC++.2003は知らんのだがそもそも標準入出力(コンソール相当)あるのか?
(つまりprintf/stdio.hは使えるのか?) > 他の人
>>979
まずタイプミスがないかよく確認してから実行してみてくれ。
0981デフォルトの名無しさん
NGNGあるに決まってるだろ。
もしかして知らない物の回答をしようとしているのか?
0982デフォルトの名無しさん
NGNG分かっている香具師がはよ答え路や。
0983デフォルトの名無しさん
NGNG実行した結果に付いて訊いているのだし、
それについても答は>977で出ている。
>979はコンパイルと実行の区別がついていない発言なので、
>980は質問は別としてレスは的外れ。
>>980
VC++.NETは.NETアプリしか作れないわけじゃないよ。
0984デフォルトの名無しさん
NGNG>979 整数ではコンパイルできませんが、小数ではできました。
これはどうなる? >>977は不完全だ。
0985デフォルトの名無しさん
NGNGいくつかのクラスを作っていて、それぞれクラスごとにヘッダとソースがあります。
クラスの中でお互いを引数とかメンバで持っているのでどこかで#includeをしないと
いけないと思うんですが、お互いに呼ばれあっているので一方を先に#includeすると
他方がエラーを起こし、逆にしても結局はエラーが起きます。
あまり複雑なプログラムを組んだことがないので混乱してきました。
分割コンパイルのセオリーのようなものがありましたら、ぜひ教えてください。
よろしくお願いします。
環境:VC++6.0
0986976
NGNGというのは例えばa=6.0,b=0.0にするということです。
0987デフォルトの名無しさん
NGNGクラス名を使いたいなら名前だけ宣言することでOKだよ。
class Foo; // こんなかんじ
class Bar;
相互に参照するような相関度の高いクラスは一つのヘッダに
まとめるとか、クラス毎のヘッダ群をまとめるヘッダを作るとか、
いろいろ工夫できるのではないかと。
どこかの偉い人が作ったセオリーとかは知らないなぁ。
きっといろいろあるんだろうけど…。
0988987
NGNG知らなかったら検索して。
0989デフォルトの名無しさん
NGNGMFCで自分で考えたイベントをDLLで発生させ、別の場所でそれを受信するようなのを作りたいのですが
どうすればいいのでしょうか?
0990985
NGNG返答ありがとうございます。
class Hoge;をヘッダに記したところ随分エラーの数は減りました。
インクルードガードも取り入れました。
しかし、肝心のエラーが消えません。クラスが未定義となってしまいます。
クラスを定義するヘッダの中で、そのクラスに別のクラスの変数メンバを
加えようとしてるとこで起きてしまいます。
メインのソースファイルの方でそのヘッダより前にクラスは宣言してるはずなんですが…。
0991デフォルトの名無しさん
NGNGclass A { class B b};
class B { class A a};
みたいなことはやってねーだろーな。
0992985
NGNGそれはやってません。
class A{class B b};
class B{func(class A *a)};
こんな感じです。
ちょっと逸れますが、
991の用にやってはいけない理由というのを考えてみたのですが、思いつきません。
よければ、教えてもらいたいのですが…。
0993デフォルトの名無しさん
NGNGA.h: include B.h class A { B b; };
B.h class B{ func(class A*a); };
B.cpp: include A.h, B.h B::func( A*a){}
ってするのは判るよな?
0994デフォルトの名無しさん
NGNG0997デフォルトの名無しさん
NGNGhttp://pc5.2ch.net/test/read.cgi/tech/1083585833/
ほい
0998デフォルトの名無しさん
NGNG0999デフォルトの名無しさん
NGNG1000デフォルトの名無しさん
NGNG10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。