VisualC++相談室 4
レス数が900を超えています。1000を超えると表示できなくなるよ。
0001いさましいチビの女
NGNG旧スレッド
http://piza2.2ch.net/test/read.cgi/tech/993186053/l50
0002デフォルトの名無しさん
NGNG0003デフォルトの名無しさん
NGNG自分で作ってみたんですが色の分布が広い画像ではイマイチです。
フルカラー画像から256色選択する部分と選択した色に残りの色を割り当てる
綺麗なアルゴリズム教えてください。
どこかに解説やソースが公開されていたりしませんか?
お願いします。
0005デフォルトの名無しさん
NGNG0006デフォルトの名無しさん
NGNG全っ然VC++の話じゃねーな・・
0008デフォルトの名無しさん
NGNG色空間はRGBよりXYZ(やLa*b*)でやったほうが素直に仕上がるようだ。
0009デフォルトの名無しさん
NGNG0010デフォルトの名無しさん
NGNG0011デフォルトの名無しさん
NGNGMFCが勝手に書き換えてるタイトルのこといってるんじゃないかな。
どっかオーバーライドすりゃいいんだけど、忘れた。
MFCのソースを読め
CreateWindow()
0013デフォルトの名無しさん
NGNG0014デフォルトの名無しさん
NGNG0015デフォルトの名無しさん
NGNG0016デフォルトの名無しさん
NGNG0017デフォルトの名無しさん
NGNG$st="でんぐりがえし";
$st =~ s/で/ま/;
0018デフォルトの名無しさん
NGNG0019デフォルトの名無しさん
NGNGどのような方法が一番効率的でしょうか?
0020デフォルトの名無しさん
NGNG00213
NGNG次は誤差拡散ってのに挑戦してみます。
0022デフォルトの名無しさん
NGNGmemmove
でも自分で書いたほうがちょっと速いかも・・・
002319
NGNG>>22
ありがとうございます。
memmoveのソースを読んでみたいのですが、
どうすればよいでしょうか?
マシン語のコードを出力してみたのですが、
memmoveについては出てこない・・・。
0024デフォルトの名無しさん
NGNG0025デフォルトの名無しさん
NGNG速くなるのは、コピー元とコピー先の領域が重複する場合を
前提としないとき。標準の memmove は、そのままで速く動く
ように十分調節されているはず。
>>23
>マシン語のコードを出力してみたのですが、
外部関数は吐かない。
>memmoveのソースを読んでみたいのですが、
コンパイラのライブラリのソースを探すのは時間がかかる。
十分に経験があれば、君の考える方法で間違いないと思う。
変数の数を減らして、なるべくポインタを使って、
registerキーワードも付けておく。
0026デフォルトの名無しさん
NGNG^^^^^^^
...なぜmemmove? memcpyだと思うのだが。
0027デフォルトの名無しさん
NGNG場合によりけり
領域が重なってる可能性がある場合はmemmove
0028デフォルトの名無しさん
NGNGCRT.NCBの情報を更新する方法がわからないので、
IntelliSenseが正常に働きません。
どうにか更新する方法ないでしょうか?
0029デフォルトの名無しさん
NGNG0030デフォルトの名無しさん
NGNGリリースビルドだと最適化でrep movsd+αに変換されちゃうから>memcpy
2次キャッシュor実メモリにあることが前提でない限りどんな手動最適化したって無駄だ
(1次キャッシュにある限りどのCPUでも最速なので>rep movsd)
1次キャッシュにないことが前提ならFPU,MMX,SSE等を使った高速化手法が存在する
0031デフォルトの名無しさん
NGNGDXBlock.obj : error LNK2001: unresolved external symbol _DDLoadBitmap
等と9つ位出てしまいます。
これはsdkをちゃんと読み込んでないってことなんでしょうか?
0032 デフォルトの名無しさん
NGNGソースコ−ドにdswやmdpがないのでお手上げです。
どなたかコンパイルの仕方教えてください。
0033うんこ
NGNG取り込みたい場合に使うコマンドって何でしょう?
DQSは自覚しております。
0034デフォルトの名無しさん
NGNGソースコード一式を出せるなら、それを出したほうが早いと思うが。
一般的には Makefile があるなら nmake を使う。無い場合には cl 使って
コンパイル。
0035デフォルトの名無しさん
NGNG意味がわからん。
1.ディレクトリ以下のファイル情報(ファイル名、サイズ、属性、etc...)を全てチェックしたい
2.ディレクトリ以下のファイルデータ(バイナリ)を全てメモリ上にロードしたい
まあ、どちらにしろ、FindFirstFile() FindNextFile()をMSDNで引きなさい。
0036デフォルトの名無しさん
NGNGDQS=ドキュソ
0037デフォルトの名無しさん
NGNG「Visual C++ でコンパイルする」というのと、
「*.dsw(ワークスペース) や *.dsp(プロジェクト) のファイルがある」というのは、
全く別のことです。(話の次元が違います)
ワークスペースやプロジェクトといったファイルが使われるのは、
Visual C++ に付属の「(いわゆる)統合開発環境」でビルドするときに限った話です。
003828
NGNG003928
NGNG0040デフォルトの名無しさん
NGNGかっちょ悪いよ。
0041デフォルトの名無しさん
NGNGコンパイル?
君のやりたいことはビルドじゃないのか?
どっちにしてもVCのメニューからビルドを選べ。
あと、ソースコードにdswだのmdpだの書き込まれてるわけじゃないぞ。
それらはビルドするときに勝手に作られる。
0043デフォルトの名無しさん
NGNGここでマジレスに見せかけたネタ回答をつかまされたらどうやって真贋を
確かめるつもりだ?
004528
NGNG0046デフォルトの名無しさん
NGNG>VCにSTLPortをインストールしたんですが、
↑
この時点で意味不明。VCってVisualC++のことじゃねーの?
開発環境に対してインストールしたってどういう意味だよ?
0048デフォルトの名無しさん
NGNGネタにされる前に頭を下げたらどうだ?(w
0049デフォルトの名無しさん
NGNGだから、揚足取られるような奴質問ってのは意味がわからんっていってんだよ。
>>28だけ読んだら
CRT.NCBを更新したい?ハァ?何それ?
手動で更新すればぁ? で終わり。
もっと君の遭遇している問題を明確にしなさいって事。
0050デフォルトの名無しさん
NGNG奴質問ってのは奴の質問ね。
0051デフォルトの名無しさん
NGNGお勧めの入門書ってあります?
今まではVBとMS−Cの仕事ばかりだったんで難易度が高く理解できません。
俺も厨房PGだったのか・・・
0053デフォルトの名無しさん
NGNGMSDNに付いてるScribleチュートリアル。
0055デフォルトの名無しさん
NGNG玉石混淆の中から苦労して玉だけ探し当てるよりは確実に玉だけ教えてくれるとこ
行ったほうがいいとおもわれ。
0057デフォルトの名無しさん
NGNG> 'identifier' : デバッグ情報で識別子が 'number' 文字に切り捨てられました。
> 識別子の文字列の長さが制限値を超えたので、切り捨てられました。
長い識別子など、どこにも使ってないのに、こんな警告がぞろぞろ出てしまいます。
我ながらしょうもない質問だと思いますが、万が一ヘルプに載っていること
以外でなにか原因をご存知の方、いらっしゃいましたら助言下さいませ。
0058デフォルトの名無しさん
NGNGSTLのmapとか使ってない?
#pragma warning(disable,4786)
を適当なところに書くと、警告でなくなるよ。
005949
NGNGだから、ハァ、何それ?って最初にいってるじゃんよ。
洞察力が足りないよ、チミィ。
そんなんじゃこの先何回でも壁にぶち当たるよ?
そのたびにココにきて荒れるのかい? ┐('〜`;)┌
0061デフォルトの名無しさん
NGNG一度ncbファイルを消すと自動的に再生成サレルヨ
イヤホント、マジデマジデ
006328
NGNG006449
NGNGだからぁ、IntelliSenseってあれだろ。
クラスオブジェクト名の後に「.」をつけるとメンバがポップアップで出る機能だろ?
STLPortって用はライブラリだろ?ttp://www.stlport.org/にあるやつだよな?
自前のライブラリでもヘッダをincludeすればIntelliSenseは機能するのに
なんでCRT.NCBを更新する必要がある?いちいちincludeするのが面倒なら
手動でwindows.hでにでもincludeしておけばぁ?
006549
NGNG0066デフォルトの名無しさん
NGNG邪魔以外の何者でもないと思うんだが。意味ねぇし。
0068デフォルトの名無しさん
NGNGCListBoxにAddString()で項目を追加するとき、文字色を設定するには?
listboxからCDCをgetしてSetTextColorしてみたものの変わらず。
簡単な方法があったらおせ〜て!!
0069デフォルトの名無しさん
NGNG自分で作れば?
0070デフォルトの名無しさん
NGNG0071デフォルトの名無しさん
NGNG007228
NGNG分かってないね。
#includeしようがしまいが、crt.ncbがある限りVC標準のSTLの候補が表示されて、
STLPortのが表示されるわけじゃない。crt.ncbを消してもSTLPortの候補は表示されない。
プロジェクトの外部依存以外の部分以外に追加すれば表示されるけど、
STLのヘッダなんていちいち追加したくない。
だから、crt.ncbを更新するのが一番いい判断だと思うんだが。
007449
NGNGああやっと君の言いたい事がわかったような気がするよ・・・
名前空間ぐらい知ってるよな? それでもだめなら
Program Files\Microsoft Visual Studio\VC98\CRT\SRC
の中身を置き換えちまえ。VC標準のSTLはいらないんだろ?
どっちにしろIntelliSenseに頼るようなやつがSTLPort? (プ だけどな
007549
NGNG>プロジェクトの外部依存以外の部分以外に追加すれば表示されるけど、
>STLのヘッダなんていちいち追加したくない。
だからwindows.hにでもincludeしとけっていってるだろ、ヴァカ。
お前レベル低すぎるわ。ネタとしても。
007628
NGNGあんた、多分分かってない。
VC98/CRT/SRCを置き換えようが解決されない。
>STLPort? (プ だけどな
VCのSTLにバグがあるんだからしょうがないだろ
007728
NGNGだからぁ、windows.hにincludeしても解決しないんだって。
データベース(crt.ncb)に登録されてる候補が最優先で表示されるから。
std::
って入力しても、VC標準のSTLの候補が出てくるわけ。
ちなみに、crt.ncb削除すると、普通のCランタイムの候補が表示されなくなる。
*.ncbを編集するツールは俺の知る限りない。
つーことで、crt.ncbをつくれ。
まず、空のプロジェクトを作ってその中にstl-port、Cヘッダのすぺての
関連するファイルを「プロジェクトに追加」する。できたncbをcrt.ncbと
置き換える。出来るかどうか知らんけど。
ちなみに#includeしただけだと、コード補完は動かんぞ。
0079デフォルトの名無しさん
NGNG0080デフォルトの名無しさん
NGNGメールを送信するクラスライブラリ等を探しています。
イメージしているのは下記の雰囲気のものです。
CMail Mail;
Mail.SMTP = "smtp.aaa.co.jp";
Mail.Subject = "○○の件";
Mail.To = "[email protected]";
Mail.From = "[email protected]";
Mail.File = "添付.txt";
Mail.Message = "いつもお世話になります。\nさようなら。";
Mail.Send();
・MFCを使っていてもかまわない。
・出来ればソースがあると有り難い。(今後勉強のため)
上記のようなものがどこかにないでしょうか?
MSDNライブラリ見てもよく分からないので・・
0082デフォルトの名無しさん
NGNG008349
NGNGおまえも多分わかってない。
俺が言いたいのはVCのSTLのヘッダとライブラリを全部STLPortの奴に
入れ替えろって事。それで反映されないわけがないだろ。
お前のVCが存在しないライブラリを参照する特別製ならダメだけどな。
008449
NGNGに見えるな・・・
008528
NGNGもしかして、VC使ったこと無い?
*.ncbはプロトタイプの情報全部記録されてるデータベースだから、
実際のヘッダがどうなっているかは関係なく、*.ncbに記録されてる情報しか表示されない。
#余談だけど、クラスウィザードがおかしくなるって言うのはコレが原因。
VCのIDEはヘッダの中身を走査してクラスウィザードやIntelliSenseに反映させるわけじゃないんで、
その方法じゃどうあがいても解決されない
0086デフォルトの七士さん
NGNGCSplitterWnd::DoScroll(CView* pViewFrom, 、)
この第一引数の説明に
pViewFrom スクロール メッセージが発生したビューへのポインタ。
という説明が書いてあるんですけど,
ビュークラスへのポインタ?って事ですか?
誰か教えてください。お願いします。
28もウザイがお前もウザイ。
MSDEVのコード補完はヘッダを見てるわけではない。
自分のプロジェクトに入っているコードを元にIDEが作ったncbと
最初からあるmfcatl.ncb,crt.ncb,win32.ncbをデータベースとして
候補を表示してる。
0089デフォルトの名無しさん
NGNGそのうちに飽きて消える。
009049
NGNGべつに君にウザイって言われてもねぇ・・・
君>>78と同一人物でしょ?
自分がやったことの無い方法を提示して
知識をひけらかしてるだけの奴にウザイって言われてもねぇ・・・
煽りと対してかわらんよ? ま、28も最初荒れてた割には
真剣に困ってるわけじゃなさそうだし、俺はもう降りるよ。
□□□□□□□□ 大変失礼いたしました □□□□□□□□
0091デフォルトの名無しさん
NGNGこんなときに質問なんて,,,,,
0092デフォルトの名無しさん
NGNG"CView* pViewFrom"ってあるのだが・・・
009386
NGNGBOOL CMainFrame::OnCreateClient( LPCREATESTRUCT /*lpcs*/,
CCreateContext* pContext)
{
// ビューを何個か作る。
........。。;
// スクロールバーつける。
m_wndSplitter2.SetScrollStyle( WS_HSCROLL );
m_wndSplitter2.CreateScrollBarCtrl( WS_HSCROLL,
m_wndSplitter2.IdFromRowCol(0,0) );
で,分割ウィンドウに共有スクロールバーを作ってそのスクロールバーを動かしたい
んですけどMSDN読んでてもあんまりわかんなくて,
m_wndSplitter2.DoScrollBy(*****, 5, TRUE );
を使えば動くのかなって思って,*****になに書けばいいかわかんなくて
質問したんですけど、根本的になんか違うのでしょうか?
おしえてください。
0094デフォルトの名無しさん
NGNG共有スクロールやったことないのだが。
DoScrollはスクロールが発生すると呼ばれる関数なので違うと思う。
CWndのスクロール関係の関数やGetScrollBarCtrlでスクロールバー
を取得していろいろやってみるとか。
009586
NGNGなんとかやってみます。
0096デフォルトの名無しさん
NGNG0097デフォルトの名無しさん
NGNGsqrt() の float 版じゃないの?
009893
NGNG009949
NGNGおい、空のプロジェクト作ってSTLPortのヘッダを全部プロジェクトに追加したなら、
それを雛型としてCustomAppWizardで登録すればいいじゃねーかよ!
ちゃんと教えてやれよ、ケチ!
010080
NGNGクラスの格好してなくてもいいです。 クラス化ぐらいはやりますので。
80で挙げたプロパティー程度を入れるとメール送信してくれればそれでいいです。
やっぱそんなのないのかな?
0101デフォルトの名無しさん
NGNGnMail.dll とかは?
別ファイルになっちゃうけど。
0103デフォルトの名無しさん
NGNGクラス(一つだけ)を使いたいのですが、プロジェクトの追加やDependancyの設定
をしても、link時にリンク不能のエラーが出てきます。これは、必要な
.objファイルを一つ一つ丹念にリストアップすることしか解決法が
ないということでしょうか。
0104デフォルトの名無しさん
NGNGRogueWaveのライブラリに、smtp agent classとかあるんじゃない?
popはあるみたいだけど。
010580
NGNGソースがあればもっと嬉しかったですけど、これで目的は達成できそうです。
これだけ太っ腹なメーカーさんがnMail.dllの権利は放棄しないみたいなこと
を書いるので、おそらくそう簡単なものではないのでしょうね。(意味通じるかな?)
俺程度の素人には、このDllみたいなものを自作するのは荷が重いのかもし
れませんが、ぼちぼち勉強していきます。
いずれにしろ当面はこれで十分です。ありがとうございました。
010680
NGNGこちらも紹介ありがとうございます。
ただ、こちらのサイトを見るに個人で勉強がてらぱっと作るという用途ではなさそう
ですね。
本格的な製品開発向け、といったところでしょうか。
俺は前者なのでこちらのサイトは少し合いませんでした。
>80 にそのあたりの事情説明が不足していたため、お手数おかけしてしまったよう
です。申し訳ありません。
0107デフォルトの名無しさん
NGNGちょっと意味がわからないんだが。
他人の作ったクラスを使うならヘッダファイルとライブラリファイル(またはソースファイル)を
もらえばいいんじゃないの?
0108デフォルトの名無しさん
NGNGそのクラスのヘッダだけをもらうだけではlink不能になるんですが、なにか
簡単に全部のヘッダファイルをプロジェクトごとインクルードすることは
できないものでしょうか…
0109デフォルトの名無しさん
NGNG勉強がてら、だったら自分で作れよ
0110デフォルトの名無しさん
NGNGどうやってやってますか?
やっぱりポインタひっぱってくるの?
ちょっとオブジェクト指向的に逝きたいんだけど、
参考になるもんございませんか?
0111デフォルトの名無しさん
NGNG念のため確認するけどヘッダだけじゃクラスのメンバの宣言しかないから
定義部分(つまりソースファイル .cpp か ライブラリ .lib)がなきゃ
コンパイルできないよ。ヘッダファイルに定義まで書いてあるなら別だけど。
(それってC++で可だったっけ・・・?)
そんなことは分かってるとしてその状況ならむしろそのプロジェクトに
自分のファイルを追加したほうが早いんじゃない?
0113デフォルトの名無しさん
NGNG無理すんな、やめろ。
0114デフォルトの名無しさん
NGNG「ましな」ってどういうのあるんですか?
0115デフォルトの名無しさん
NGNGwtl
0116デフォルトの名無しさん
NGNGこいつは聞きかじりだけで書いてて、wtlがどういうものか詳細は知らない
0118デフォルトの名無しさん
NGNGワラタ
0119デフォルトの名無しさん
NGNGべつにあのままでもわかるでしょ
0120デフォルトの名無しさん
NGNGCDocument::UpdateAllViews()じゃいかんの?
対応するViewのOnUpdate()が呼び出されるんだけど。
>>112
上記メソッドがObserverパターンに対応すると思うのだけど、どうよ。
0121デフォルトの名無しさん
NGNGバージョンが6.0からあがらないんですけど大丈夫なんでしょうか?
0122おいちょかば
NGNGFRAMEウィンドウをリサイズするとDOCウィンドウのサイズは変わらずに
そのままになってしまう。FRAMEのサイズにあわせてDOCのサイズも
変化するようにしたいんだけどどうしたら良い?
0123デフォルトの名無しさん
NGNGpDC->SetMapMode(MM_ISOTROPIC);
pDC->SetWindowExt(0x100,0x100);
pDC->SetViewportExt(0x200,0x200);
LineToなどがうまく描画されません。
端の方が細い線になってしまいます。
何が原因なんでしょうか?
pen.CreatePen(PS_SOLID, 1, RGB(0,255,0));
oldPen = pDC->SelectObject(&pen);
pDC->SetROP2(R2_XORPEN);
ちなみにペンはXORです。
0124デフォルトの名無しさん
NGNG0125デフォルトの名無しさん
NGNG停電にあったけど、ソースが生きてたので
0126デフォルトの名無しさん
NGNGCtrl+Sを押したとき
F5を押したとき
Ctrl+F5を押したとき
など
0127デフォルトの名無しさん
NGNG0128122
NGNG最大化されてると効かなかった気が…
ちょっと試してみます
0129デフォルトの名無しさん
NGNGVC++ を使ってコンソールアプリ作ってますが、
プログラムの中から外部の .exe を実行させる方法はあるのでしょうか。
引数の渡し方など、詳しく教えていただければありがたいと思います。
当方、VC++6、WinMe です。
MFC は使っても使わなくてもいいです。
よろしくお願いします。
0130デフォルトの名無しさん
NGNGSTARTUPINFOには起動時の状態を指定する。
STARTUPINFOのdwFlagsに渡したい情報のフラグをOR演算子 | でつなげて指定する。
PROCESS_INFORMATION構造体は、プロセスの情報を得るために使う。そのまま渡せば良い。
初めのうちは SECURITY_ATTRIBUTES のアドレスを渡さなくてもOK(代わりにNULLを渡す)。
0131デフォルトの名無しさん
NGNGSTARTUPINFO si;
si.cb = sizeof(si);
si.lpReserved = NULL;
si.dwFlags = 0
CreateProcess("notepad.exe", NULL, NULL, NULL, TRUE,
HIGH_PRIORITY_CLASS, NULL, NULL, &si, &pi);
0132デフォルトの名無しさん
NGNGやっぱりDelphiが1番良いや
0133デフォルトの名無しさん
NGNGに、データを追加したいのですが、
WriteFileでデータを書き込むと、追加ではなく、ファイルの最初から書き込みされてしまいます
openした時、ファイルポインタが先頭になってしまっているから?
だと思うのですが、
データを追加したい場合はどうすれば良いのでしょうか?
0134デフォルトの名無しさん
NGNGWinExec("notepad.exe", SW_SHOW);
system("notepad.exe");
0135デフォルトの名無しさん
NGNGSetFilePointer
0136デフォルトの名無しさん
NGNGCreateProcess を使って、所望の動作を実現できました。
お返事を頂いた方、本当にありがとうございました。
#なぜかフルパスじゃないと動かないという問題が残ってますけど。。
0137デフォルトの名無しさん
NGNG重要なことだが、返されたプロセスハンドルを WaitForSingleObject で待って、CloseHandle しないといけない。
>#なぜかフルパスじゃないと動かないという問題が残ってますけど。。
CreateProcessの第8引数とか、GetFullPathName, Get{Current,Windows,System}Directory, SearchPath, FindFirstFile[Ex] を調べとけ。
0138デフォルトの名無しさん
NGNG0139デフォルトの名無しさん
NGNGありがとうございます。
で、調べたサンプルプログラムに
if (pi.hProcess) {
DWORD dwExitCode = STILL_ACTIVE;
while (dwExitCode == STILL_ACTIVE) {
WaitForSingleObject( pi.hProcess, 1000 );
GetExitCodeProcess( pi.hProcess, &dwExitCode );
}
}
とあったんですが、これで問題ないでしょか?
#フルパス問題については調べます。
0140デフォルトの名無しさん
NGNGWaitForSingleObject 関数が終わるまで待つので、STILL_ACTIVE かどうかを調べる必要はない。
while ループは要らない。WaitForSingleObjectを抜けた地点で、プロセスの終了が保証される。
0141デフォルトの名無しさん
NGNG0142デフォルトの名無しさん
NGNGDWORD dwResult;
if (pi.hProcess) {
WaitForSingleObject( pi.hProcess, INFINITE );
GetExitCodeProcess( pi.hProcess, &dwResult );
}
0143デフォルトの名無しさん
NGNG0144デフォルトの名無しさん
NGNG0145てんさいぷろぐらむぁ(偽) ◆8Fck5JHo
NGNGなんでもかんでもINFINITEにしたら不測の事態や特殊な処理に対応できないのでわ?
>>139のサンプルにコメントを入れてみる。
if (pi.hProcess) {
DWORD dwExitCode = STILL_ACTIVE;
while (dwExitCode == STILL_ACTIVE) {
WaitForSingleObject( pi.hProcess, 1000 );
GetExitCodeProcess( pi.hProcess, &dwExitCode );
// ここで状況に応じてあんな処理やこんな処理をしてみたりする
}
}
サンプルはある程度柔軟性を持ったソースである方が正しいような気がする。
まあ何があっても自然な形で終わらせられるのが一番スマートなんだろうけど
他のプロセスをいぢる以上相手が何やってるかわからん場合もあるだろうし。
0146てんさいぷろぐらむぁ(偽) ◆8Fck5JHo
NGNGDWORD dwExitCode = STILL_ACTIVE;
while (dwExitCode == STILL_ACTIVE) {
WaitForSingleObject( pi.hProcess, 1000 );
GetExitCodeProcess( pi.hProcess, &dwExitCode );
// ここで状況に応じてあんな処理やこんな処理をしてみたりする
}
// ここで状況に応じてあんな処理やこんな処理をしてみたりする
}
0147デフォルトの名無しさん
NGNGSTILL_ACTIVEでの判定は正しくないよ。
プロセスが終了コードとしてSTILL_ACTIVEと同値を返した場合は
判定をミスする
0148デフォルトの名無しさん
NGNG>なんでもかんでもINFINITEにしたら不測の事態や特殊な処理に対応できないのでわ?
一理有り。しかし、while と STILL_ACTIVE は不要。
0149sage
NGNGWaitForMultipleObjectしとけ。
CloseHandleきちんとやっとけ。
0150てんさいぷろぐらむぁ(偽) ◆8Fck5JHo
NGNGぢつはCreateProcessとか他のプロセスを使うモノは
あんまり書いた事が無いんでなんとも言えないんですが。
先に>>148について
>一理有り。しかし、while と STILL_ACTIVE は不要。
親的には本来終わっているはずの子プロセスが
内部で勝手に無限ループなどをかまして
終了しない場合を考えてみると
INFINITEを指定すると子プロセスに引きずられて親も永遠に終了しなくなってしまう。
WaitForSingleObjectのタイムアウト値とwhileのループで
定期的に状態を調べる事によってそれを防げる。
whileにカウントを付けといて子プロセスが
(本来終了しているはずの状態で)数回ループした場合子プロセスは
不正な状況に陥ったと判断してTerminateProcessで強制的に終了する。
TerminateProcessもかなり危険であるが、親も一緒に死亡するよりはまし。
Ctrl+Alt+Delのタスクマネージャを自分でやるかんぢといえば分かりやすいかな?
>>147
>プロセスが終了コードとしてSTILL_ACTIVEと同値を返した場合は
>判定をミスする
それはそのプロセスがあほ過ぎるので仕方が無いかと(^^;
まあサンプルだしその辺はてきとーに対処してくださいソースなんだろうと。
0151デフォルトの名無しさん
NGNGあほすぎるって、終了コードに対するガイドラインってあったっけ?
0152てんさいぷろぐらむぁ(偽) ◆8Fck5JHo
NGNG少なくともGetExitCodeProcessの説明で
「指定したプロセスが終了していないときは、STILL_ACTIVE が格納されます。」
と書いてあるんだから、STILL_ACTIVEを返さないのが普通では?
この値ってSCODEじゃないのかと。
0153beginer
NGNGここで宣言した変数は、forを抜けても生き続けますか?
0154デフォルトの名無しさん
NGNG0155beginer
NGNG0156デフォルトの名無しさん
NGNGifstreamを使うだけで、デバッグ終了時に
「メモリリークじゃボケ」って出るんですけどなんででしょうか?
0158名無しさん
NGNG0159デフォルトの名無しさん
NGNG「リソースリークされた場所、GlobalAddAtomA(wincore.cpp)」
とかって出るんですけど、これってどういうことでリークしてるの?
0160デフォルトの名無しさん
NGNG0162デフォルトの名無しさん
NGNGよ、読めん。なんて書いてあるの?
0163sage
NGNGいわなかったっけ?リークじゃないけど、(ツールは)リークだって報告するね。
アイコンみたいに、プログラムが死ぬまで持たなきゃいかんリソースを確保してるんだ。
同じように、いろんなメモリやファイルのマッピングも、プログラムが死ぬまで
確保しておくんだよ。
だれか修正して。
0165デフォルトの名無しさん
NGNGスコープ外で生きてたらたまらんわ。
0166デフォルトの名無しさん
NGNG俺も一票。不在者投票。
0167166
NGNG言ってるような気はする。普通、それを生き続けるとは表現しないと
思うけどね。
0168デフォルトの名無しさん
NGNGVC++6.0 Win32SDKでプログラムの勉強しています
マウスポインタがウィンドウ上部のツールボタンなどに
触れたと同時の下のステータスウィンドウに説明文を
表示させたいのですがうまくいきません
WM_SETCURSORを使ったのですが、ツールバーにいくと
メッセージを捕まえてくれるのですが、個々のボタンでは
うまくいかないのです。
解決方法ご存知の方がいましたら、教えてください
お願いします
0169デフォルトの名無しさん
NGNGVC++で、UNIXのregexpに相当する関数ってあります?
0170デフォルトの名無しさん
NGNGWM_MOUSEMOVE で捕らえて WM_NCHITTEST の返り値を調べてみましょう。
ツールバーのボタンはツールバーの子どもです。
0171168
NGNGレスありがとうございます!
さっそく調べてみたいと思います
助かります
0172デフォルトの名無しさん
NGNG>ボタンなどのコントロールを飛び越える線を書きたいんだけど、どうすればいい?
推奨しないけど、GetDesktopWindow() で得たウィンドウは、スクリーン全体を描画できます。
やり方としては、GetDesktopWindow, GetWindowDC の後、InvalidateRectで領域を設定してから
BeginPaint して、終わったら EndPaint を使う。MapWindowPoints とか <windowsx.h> の MapWindowRect は座標変換に役立つ。
0173デフォルトの名無しさん
NGNGWM_PAINT 以外では BeginPaint を呼ぶな。
0174デフォルトの名無しさん
NGNG非矩形ウィンドウを作って最前面に持ってくる。
0175デフォルトの名無しさん
NGNGhttp://www.topposystem.co.jp/DL/Win32API/
0176デフォルトの名無しさん
NGNGが正しいものかどうか
(変な英文字が入ってたり、255を超える数字が含まれていたり・・・ 等)
を判断する簡単な方法(API等)はありますか?
それとも、自分で一つ一つ
数字三桁で255以内で、次が'.'で、・・・と確認処理作るしかないのでしょうか
変なデータをsocket関数に渡すと、errorが返るかと思えば、
暴走しちゃうんですよね
それで、チェックが必要になりました
0177デフォルトの名無しさん
NGNGunsigned i1,i2,i3,i4; char c;
if (std::sscanf(ip_string, "%3u.%3u.%3u.%3u%c", &i1,&i2,&i3,&i4,&c) == 4
&& i1 < 256 && i2 < 256 && i3 < 256 && i4 < 256) {
puts("OK");
}
else {
puts("NG");
}
0178デフォルトの玉無しさん
NGNGパスの通しかた教えてください。
ビルドの際に標準のパス(VC標準のヘッダやライブラリのパス)以外に
自分のライブラリ用のフォルダも参照されるようにしたいです。
レジストリをいじるんですか?
それとも自作ライブラリを標準パスにコピーするべきですか?
0179デフォルトの名無しさん
NGNGset path=
0180sage
NGNG-L
0181デフォルトの玉無しさん
NGNGAbcCreateという関数をエクスポートする必要があります。
VC++のextern "C" __dllexport HRESULT CALLBACK AbcCreate(void* 0); では、
_AbcCreate@4になってしまいます。
VC++で装飾やアンダーライン抜きのDLLを作るにはどうすればよろしいのでしょうか。
BCC32ではうまくいきました。
0182デフォルトの名無しさん
NGNGリンカに /export:AbcCreate=AbcCreate を渡すか、定義ファイルを書け。
LIBRARY Hoge
EXPORTS
AbcCreate=AbcCreate
0183デフォルトの玉無しさん
NGNG自分が如何に無知かがよくわかりました。本当にありがとうございました。
0184デフォルトの名無しさん
NGNGcd ~/
vi .bashrc
[i]
PATH=$PATH.:
[ESC]
:wq!
以上だ。
0185122
NGNG試してみましたがうまくいきません。
最大化しているDocウィンドウに
SendMessage( hDoc, WM_SIZE, (WPARAM)SIZE_MAXIMIZED, (LPARAM)(x+y<<16) );
とやっても反応しません。
いったんもとのサイズに戻したあと最大化、とかやってみましたが、
ちらちらしてちょっといやな感じでした。
0186デフォルトの名無しさん
NGNGメニューのプロジェクト→設定
0187デフォルトの名無しさん
NGNG0188デフォルトの名無しさん
NGNG最大化しているものを最大化してどうする?
maximize の逆は restore。メッセージの受け方、知らないの?
ウィンドウのサイズが変わったら WM_SIZING を受ける。
メッセージを受けたら ShowWindow, SetWindowPos で操作する。
0189157ではないけれど、
NGNG>>157 の言っている事の方が正しい。
157を嘘と言っている奴は、宣言と定義の区別がついていないと思われ。
文章の感じから、>>153もその一人みたいだが。
0191デフォルトの名無しさん
NGNGおそらく >>153 自身が宣言と定義を混同していると思うんだが、まずはその点から。
宣言と定義の例をそれぞれ挙げると、前者は extern int i, 後者は int i となる。宣言
では変数の実体は確保されないが、逆にスコープを抜けても変数が保有している
データは開放されない。
--------------------------------------------------------------------
{
extern int i;
i = 0;
}
{
extern int i;
printf("%d\n", i); // 0 が出力されるはず。
}
--------------------------------------------------------------------
もちろん、この場合には i に対してどこかで実体を与えないとならない。実体がない
とリンク時に「シンボルが解決できない」という類のエラーになる。
>>153 の「宣言」を「定義」に置き換えた場合。メモリの開放に関しては
- そもそも自動変数がスタック上に取られるとは限らない。現実に、レジスタをうまく使い
まわすことで、スタックを消費しない場合もありうる。
- 自動変数をスタックに取る処理系でも、スコープを抜けた瞬間にスタックフレームポイン
タを操作して、スタックを縮める実装があっても構わない。また同一のスタック領域を、別
の自動変数に割り当てて使うのも OK。
for (;;) {
int i;
}
for (;;) {
int j; // これで &i == &j とか。
}
ということで、標準Cの範疇では「スコープを外れた自動変数が持っていたデータに関して
は、スコープを外れた瞬間に保証できなくなる(そもそもアクセスする手段を提供してない)」
以上のことは言えない。
0192名無し蟻
NGNG...もしかして、for ( int i ; ; ){}と間違ってないか?
0193名無し蟻
NGNGあぁ、そうか宣言か。定義と読み間違えてた。悪い。
確かに宣言だけなら実体はつくられないから、「生きてるかどうか」なんてのを考えるのはナンセンスだな。
この辺りがわからなければCの入門書を読み直せばわかるだろう。
だがforブロック内で変数”宣言”なんてのはスパゲティの素だと思うから止めた方が良いと思うけどね
0195デフォルトの名無しさん
NGNG熱く語る前にしっかり読め。
0196154
NGNGでも、じゃぁこの質問単なる引っ掛けか?
普通forブロックで宣言なんてしないよな。
0197デフォルトの名無しさん
NGNGかーさん!新しいパソコン買って!!
0198雑談スレないから、ここに書くよ
NGNGエディタで開いたりするけど、
これらのファイルって、READ ONLYじゃないんだね
で、見てる時にキー操作のミスで知らないうちに
一文字くらい変なところにアルファベットとか打っちゃって、
そのまま間違ってセーブしたりして、
それでエラーでたら、解決に相当悩む気がする
さっき、知らずに変な文字打っちゃってて、
気が付いたから良かったんだけど・・・
0199デフォルトの名無しさん
NGNG0200デフォルトの名無しさん
NGNGいや、やるだろ。
「変数はそれが使用される場所で宣言されるべきである。」
0201デフォルトの名無しさん
NGNG定義じゃなくて宣言なの?
0202デフォルトの名無しさん
NGNG自分は普段MFCを使わずにプログラミングをしているのですが、
MFCでプログラミングしている友人から、
「MFCを使わないのって、どこがいいの?」
という質問が飛んできました。
とりあえず自分は、軽い・実行モジュールサイズが小さい・フレームワークの
段階から自由に設計できる、という利点を挙げたのですが、
どうにも納得がいかないようなのです。
自分も、MFCを使うことの利点はわかっていますが、
彼にもSDKプログラミングの楽しさを知ってもらいたいなーというのもあります。
彼を納得させられるような、両者の違いというのをご教授願いたいです。
0203デフォルトの名無しさん
NGNGクラスウィザードの全面的支援が得られる・・・
ごめん、俺やっぱSDKよりMFCの方が好きだわ(w
0204デフォルトの名無しさん
NGNG>段階から自由に設計できる、という利点を挙げたのですが、
ていうか、この程度の瑣末なメリットを捨て去って余りある利点がMFCにはある。
0206デフォルトの名無しさん
NGNG標準のスクロールバーは16ビットまでしか扱えないため32ビットの範囲を扱えるものを作っています。
通常のスクロールバーと同じ動きにしたいんですがタイミングなどが分からないので教えてください。
1.スクロールバーの矢印のボタンを押すとスクロールしますが
押しっぱなしにするとすこし間隔があいてから自動で連続スクロールが開始されます。
この時の間隔の取得方法
2.連続スクロールが始まってからの間隔の取得方法
3.スライド部分をドラッグしてスクロール出来ますが
ドラッグした状態で20ドットほどスクロールバーから離れると解除されます。
また近づけるとドラッグが有効になります。
この境界部分のピクセル数の取得方法
これらはAPIで取得できるのしょうか?
教えてくれた人には「娘。ポッキー?当たるの〜?」です。
0207122
NGNG指南ありがとう。希望の動作ができました。
MDIClientのWM_SIZEでDOCウィンドウに対して
SetWindowPosをやって解決…
これで安心して逝けます。再びありがとう
0208デフォルトの名無しさん
NGNGNTでもそうなんだっけ?
0209デフォルトの名無しさん
NGNG32bitを扱えるぞ。16bitなのはWM_H/VSCROLLのWPARAMだけ。
0210デフォルトの名無しさん
NGNG全部APIで取得できるよ。
おれも前に作ったよ(ゲームのセッティング画面用だけれど)
0211beginer(153)
NGNGint* min = &data[i]; は一回目のループが
終わった時、*minはどうなるんざましょ?ってことだったのです。スンマセン!
#include <iostream>
void sort(int* data, int n)
{
for (int i = 0; i < n - 1; ++i) { /* 走査の回数は n - 1 回 */
int* min = &data[i]; /* 未整列部分の先頭を最小値と仮定 */
for (int j = i + 1; j < n; ++j) { /* 未整列部分を走査 */
if (*min > data[j]) { /* data[j] が *min よりも */
min = &data[j]; /* 小さい場合は、それを新 */
} /* しい最小値と仮定 */
}
int temp = *min; /* 最小値と未整列部分の先頭を入れ替える */
*min = data[i];
data[i] = temp;
}
}
int main()
{
int data[] = {12, 8, 4, 3, 7};
sort(data, 5);
for (int i = 0; i < 5; ++i) std::cout << data[i] << std::endl;
return 0;
}
0212189
NGNGminは外側のfor (int i = 0; i < n - 1; ++i)のループの繰り返しのたびに、
新たに作られる。これは外側のforループのブロックの先頭でminを*定義*して
おり、そのブロックの終わりまでがminのスコープとなるため。
# あと、どうでもいいけどbeginnerな。(w
0213デフォルトの名無しさん
NGNG0214beginner(153)
NGNGワッカリマシター!アリガトウゴザイマシター!
宣言ではなくて、定義だからですねん。
ヤヤコシイ(;∀;)
0215189
NGNGちと書き方がまずかった。
誤解を招きそうなんで以下の通り訂正。
minは外側のfor (int i = 0; i < n - 1; ++i)のループの繰り返しのたびに、
新たに作られる。これは外側のforループのブロックの先頭でminを*定義*して
いるため。また、この例では定義=宣言でもあるため、そのブロックの終わり
までがminのスコープとなる。
>>194でも書いたが、定義は宣言でもあるが宣言は必ずしも定義とは限らない。
宣言は、コンパイラに対して他の部分で定義された、あるいは今まさに定義さ
れようとしているシンボルの存在を教えるためのもので、強く型付けされた言
語では、これ無しにシンボルは利用できない。フォワード宣言や他の翻訳ユニッ
トで定義された大域変数のプロトタイプ宣言などは、どれもそのシンボルを現
在のスコープに導入するためのもの。そういう意味で、>>200の言っているこ
とは正しい。ただ、>>201が書いているように、多くの場合、>>200の言う宣言
はその定義も含む変数のこと。
通常、宣言といったら定義と区別してそう呼ぶことが多く、定義を含まないも
のを指すため、>>189のように書いた。
beginner(153)が迷いませんようにとの願いを込めて長レス。sage。
0216202
NGNGご意見ありがとうございます。
どちらから入ったかによって、その逆が取っつきにくく感じられることって
ありますよね。自分も友人もそのような傾向にあるようです。
自分がSDKの道に入ったのは、「猫でも〜」のページとの出会いでした。
ていうか、このスレって、SDK派の人は少ないのでしょうか・・・。
0217beginner(153)
NGNG宣言と定義の違いがいまいちわかりません。
struct A{
int a;
int b;
};
はどっちでしょうか?
int main (){
int a;
return 0;
}
は、どっちですか?
トイウカ、マトハズレナシツモン?(・□・;)
0218206
NGNGWM_HSCROLL では16ビットなので16ビットまでしか扱えないと思ってました。
というわけで自作するのは辞めました。
パイパイキーン!!
0219デフォルトの名無しさん
NGNGそろそろ腰を据えてK&Rを読みなさい。
その方が君のためになる。
0220デフォルトの名無しさん
NGNG前者が定義、後者の int a; が宣言だと思う。
そもそも「変数の定義」なんて言い方は無いと思ったけど・・・。
変数は宣言するものであって定義するものじゃないんじゃないの?
0221デフォルトの名無しさん
NGNG君もそろそろ腰を据えてK&Rを読みなさい。
その方が君のためになる。
0222beginner(153)
NGNGも、もうちょっと詳説C++プログラミングを
読み進めようと思います。。。
あと、C言語ポインタ完全制覇も。。。
前に、K&Rらしき本をチラリと見たのですが、
サパーリワカラナカッタノデ…。
まだ参照とかポインタとか理解が不十分なモノデ
0223デフォルトの名無しさん
NGNGじゃあ、他の本読むの無駄だと思いませんか?
まずはK&Rを完全理解するのを目指すのが一番いいと思います。
0224デフォルトの名無しさん
NGNGC++ だと、宣言と定義の境界があいまいになってくる部分があるように思う。
だからいきなり C++ じゃなくって、まず K&R が先。
0225デフォルトの名無しさん
NGNG自作のエディタ(たいした機能はなし)を作ってます。
読み取り専用のものと編集可能なものの2種類です。
同じアプリの中で同時にある場合
読み取り専用にフォーカスがある場合IMEを無効にして
編集可能なものの場合有効にしたいです。
(エディットボックスの読み取り専用みたいな感じです。)
何ていうAPIを使ったらいいですか?
0226デフォルトの名無しさん
NGNGImmSetConversionStatus
ていうかMSDN読め。
0227デフォルトの名無しさん
NGNG自動的に宣言、定義されるのですが、
これって残しておかないとまずいのでしょうか?
0228デフォルトの名無しさん
NGNG0229227
NGNGどもです。デストラクタが自動生成されるのはわかるような気がしますが、
なんでデフォルトコンストラクタが作られるんでしょうか?
0230デフォルトの名無しさん
NGNG0231227
NGNGどちらか(copy or default)生成しなければならない理由でもあるのですか?
両方とも生成されなくても良いと思うのですが。
0232デフォルトの名無しさん
NGNGどうせ書くことのほうが多いんだし、
雛型だけでも自動的に吐いてもらうと楽じゃん。
いらなきゃ10秒で削除できるし。
0233デフォルトの名無しさん
NGNG0234デフォルトの名無しさん
NGNG0235デフォルトの名無しさん
NGNG生成されると不都合があるのか?
0236デフォルトの名無しさん
NGNGレスをありがとうございます。
ただ、的が外れてまして、
>>229
> なんでデフォルトコンストラクタが作られるんでしょうか?
>>230
> コピーコンストラクタを自動生成してもあまり嬉しくないから。
>>231
> どちらか(copy or default)生成しなければならない理由でもあるのですか?
に対する回答がほしいのです。
0237デフォルトの名無しさん
NGNG結局いつか書くから
だろ。
書かないなら消しなさい。
0238236
NGNGそれは、
>>229
> なんでデフォルトコンストラクタが作られるんでしょうか?
に対する回答ですよね。
それは、前の方が書いたのでわかります。
そうではなくて
>>230
> コピーコンストラクタを自動生成してもあまり嬉しくないから。
>>231
> どちらか(copy or default)生成しなければならない理由でもあるのですか?
への回答がほしいのです。
あなたはVisual C++を使ったことがありますか?
copy constructorはデフォルトで自動生成されません。
0239C++初心者
NGNGVisualC++(DirectX)でゲームを作ろうと思うのですが参考になる本。
これを読んでおけって言う本無いでしょうか。
こんな事をしておけなども、、
これでも一応職業はプログラマです。
でもC++だけはあまり触ったことがないので、、
過去にCの仕事をやったことがあるのですが一回だけなのでこの際"未経験"って事でお願いします。
出来るのはKylix、Delphi(ObjectPascal)、perl、DBMagic、COBOL、VBです。
こんな私ですがご教授下さい。
0240デフォルトの名無しさん
NGNG2ちゃんねるのお勧めな話題と
ネットでの面白い出来事を配送したいと思ってます。。。
===============================読者数:72094人 発行日:2001/09/27
こんにちは、ひろゆきですー。
いやぁ、ついに逮捕者がでましたねー。
これを機に、荒し依頼とか荒らした人とかもバシバシ逮捕されるようになると、
2chの運営も楽になるなぁと溜飲を下げる午後のニュースでありました。
おいらもこれからは荒らしの被害者からの苦情には誠実に対応することにしま
したです、、、
5月には、珍走団からの苦情の電話に「バーカ、バーカ」とイキがってしまい、
その後痛い目にあってしまいましたです。
みんなの前で土下座するのは恥ずかしかったですです。。。
まさか直接乗り込んでくるとは思いもしなかったんです、、、
恐るべし、珍走団。。。(;;)
と、苦い思い出を噛み締める夕暮れでした。。。
んじゃ!
0241デフォルトの名無しさん
NGNG参考になる本はいっぱい書いてあるだろ。
過去ログ読んでから書き込め。
っていうか自分で努力しろ。まずはそっから。
0242デフォルトの名無しさん
NGNG頭悪いなぁ。どうして
> なんでデフォルトコンストラクタが作られるんでしょうか?
に対する
> コピーコンストラクタを自動生成してもあまり嬉しくないから。
から
> どちらか(copy or default)生成しなければならない理由でもあるのですか?
になるのよ?
>230を逆に言えば、デフォルトコンストラクタを自動生成してくれると大半の人は嬉しいのよ。
いちいち書く手間が省けるからさ。
どうしてそこまで読みとれないのよ?
なんべんも
「どうせ書くなら自動生成してくれる方が楽」
「あんたがいらないなら消せ」
と言われてるでしょ? 頭悪すぎるよ?
さらに
> あなたはVisual C++を使ったことがありますか?
こんなくだらねぇ捨てぜりふ。救えないよ。マジで。
0243デフォルトの名無しさん
NGNG的が外れてるのはお前の方。
生成されると不都合があるのか?
以下マジレス。
AppWizard経由でクラスを新規作成し、自分でソースを一切いじらずに
ビルドすることができる。
0244デフォルトの名無しさん
NGNG気にするなよ。なんでも疑問に思うことはいいことだ。
0245236
NGNG>>230を逆に言えば、デフォルトコンストラクタを自動生成してくれると大半の人は嬉しいのよ。
>いちいち書く手間が省けるからさ。
そう言えよ。(藁
>>228でスデに"ストレートに"そういっているし、
遠まわしにいわれてもわからん。
0246236
NGNG>>242
|> なんでデフォルトコンストラクタが作られるんでしょうか?
|に対する
|> コピーコンストラクタを自動生成してもあまり嬉しくないから。
|から
|> どちらか(copy or default)生成しなければならない理由でもあるのですか?
|になるのよ?
デフォルトコンストラクタが作られなければ、
"かわりに"コピーコンストラクタが作られる、と読み取れたのです。
0247デフォルトの名無しさん
NGNG>"かわりに"コピーコンストラクタが作られる、と読み取れたのです。
そういう妄想はどっから湧くんだよ(w
0248236
NGNG「米はあまりおいしくないから」
ってきたら、朝食がパンじゃなければご飯になりそうだと思いませんか?
0249デフォルトの名無しさん
NGNGここでは役に立たないから。
0250デフォルトの名無しさん
NGNG0251デフォルトの名無しさん
NGNG> そう言えよ。(藁
”その程度”読みとれよ(藁
それともぼくちゃんのわかる言葉で、懇切丁寧に教えろと?
教えて君は例え素質があろうと嫌がられるよ?
言葉を曲解せずに素直に取れよ。日本語勉強すれ。
0252デフォルトの名無しさん
NGNGそれで何を喩えようとしているのかサッパリわからん。
0253デフォルトの名無しさん
NGNG関係ない話題はどこかでやってください。
0254236
NGNG|> なんでデフォルトコンストラクタが作られるんでしょうか?
|> コピーコンストラクタを自動生成してもあまり嬉しくないから。
を
「なぜ右の道から?」
「左の道だと遠回りだから。」
のようにとらえていました。
だから、「大半の人には右の道行ったほう(=def.con.自動生成)が嬉しい」のですよね?
で、右の道行けなかったら、左の道から行くことになりますよね。
私は後者のように考えていたわけです。
まー、わかってもらえれば嬉しいですけれども、
わかってもらえないならわからないでも良いです。
質問に答えてくださってありがとうございました。
0255デフォルトの名無しさん
NGNG人に聞く前にまっすぐ突き進めよ。
0256草加せんべい
NGNG0257デフォルトの名無しさん
NGNGそこで右と左しか道がないと思いこむのはお前の思考が不自由なだけ。
0258デフォルトの名無しさん
NGNG間違った事を絶対正しいと思い込んでしまうと抜け出すのは難しい。
そういうときはちょっと下がって、上から下から斜めから眺めると
正しい道が見えてくる、とか言ってみる。
0259デフォルトの名無しさん
NGNG0260デフォルトの名無しさん
NGNGさぁ、悩める子羊たちよ。
0261void君
NGNGC言語の再帰的関数について教えてください。
#include<stdio.h>
long int combi(int n, int r)
{
long int C, C1, C2;
if(r == 0 || r==n) return 1L;
C1 = combi(n-1, r);
C2 = combi(n-1, r-1);
C = C1 + C2;
return C;
}
int main (void)
{
printf("5C3 =%1dです\n", combi(5,3));
}
結果 %1d には10が表示されるのですがcombiの中でどんな流れで値が10になったのか解りません。
C言語が準備不足で・・・これくらいの基本解ってないと合格厳しいでしょうか?
誰か教えてください、お願いします!
0262デフォルトの名無しさん
NGNGだったらそのまんまだと思うんだけど。
combiを再帰呼び出しするところでは、あえてその先の流れは追わずに
「なんか知らないがとにかく答えが返ってくる」と考えればいい。
0263void君
NGNG再帰的関数の使い方わかってきました、ホント感謝です。
0264デフォルトの名無しさん
NGNG文書作成ソフトなんかでアンチエリアスに対応していると文字が見やすいすよね。
でも、対応しているソフトがそんなにないのは対応するのは難しいってことなんですかね?
それともニーズがあまりないんですか?
0265デフォルトの名無しさん
NGNGダイアログ上のコントロールとして使用できるようにしています。
基本的に動いているんですがSPY++でメッセージを見ると
WM_KEYDOWN WM_KEYUP の間に毎回 WM_GETDLGCODE が送られてきます。
Windows標準のエディットコントロールでは送られていないメッセージなので
毎回送られる必要はないと思うのですが何処か間違っているのしょうか?
ちなみに WM_GETDLGCODE では DLGC_WANTALLKEYS を返すようにしています。
APIを使うか何かのメッセージに応答すると WM_GETDLGCODE が送られて来ないようになりますか?
0266デフォルトの名無しさん
NGNG速い方がいいってこともあるし、最近のWindowsでは
サポートされているという事情も有る。
0267デフォルトの名無しさん
NGNGクライアントの数だけスレッド作って通信するもんですか?
CAsyncSocket::ReceiveやCAsyncSocket::Sendって処理が終わるまで返ってこないですよね?
これだと特定のクライアントとの通信が極端に遅い場合に他のクライアントが
待ち状態になってしまって非効率的なので別スレッドで通信した方が良いですよね?
それとも非同期で通信して完了したら何かのイベントが発生するようにできますか?
0268はち
NGNG関連で何かご存知なこと教えてください。
0269
NGNG1)httpサーバー側で勝手にスレッド作って立ち上げますんで
生成に関しては気にしなくていいです。
2)大抵のブロック関数は待ち中にスレッド切り替えしてます。
0270デフォルトの名無しさん
NGNGご存じなことて言われても。
チェックボックスにBS_OWNERDRAWスタイルを追加して
親ウィンドウのWM_DRAWITEMで描画。
0271デフォルトの名無しさん
NGNGCでは構造体と配列 とポインタが使えるので、
ADOなどでデータベースに接続するより、これらを
使ったほうが簡単にdbができると思うのですが
どうでしょうか?
マジレす希望
0272デフォルトの名無しさん
NGNGもっとも、キミが AVLTree や B+Tree を作れるなら、だけどね。
もしかして、データベース理論、ちゃんと理解して書いてる?
0273sage
NGNG複雑に絡み合ってたりしないなら、
XMLやCSV形式で保存して、読み書きするのもよし。
勝手にやれ。
でも、そうでないならISAMを使うことを検討してみては?
構造体とかなんとかいってるレベルだと、
ほとんどの場合、ISAMで十分な要件。
速いし、Accessの癖とバグに悩まされないですむ。
手抜きをしたくてAccessのVBAやフォームを使うんでない限り、
Accessを選択する意味はほとんどない。
RDBが必要だけど、大したデータを扱わないとか、
手抜きをしたくてODBC経由でクラサバやるんだけど、金がないとか
いう内容なら、MSDEで十分。
それ以上なら、それなりのDBを使え。
でもやっぱり、君のレベルならCSVかISAMが手頃だし、お似合いだ。
0274いさましいチビの女
NGNG簡単な構造のデータなら、それでもいいかも。
2ちゃんねるのデータもテキストファイルで持ってるそうだし。
0275デフォルトの名無しさん
NGNGVC++6.0でWINAPIのPostThreadMassageって関数を呼び出すときに
どやって定義したら良いの?いや関数I/Fはわかってんだけど、
定義のやり方がわかんない。
0276デフォルトの名無しさん
NGNG------
ヘッダ : winuser.h 内で宣言
インポート ライブラリ : user32.lib を使用
------
って書いてあるから、winuser.h 見れば?
0277デフォルトの名無しさん
NGNGオプション→ディレクトリでライブラリファイルのパスはとおってる
んだけど。Hインクルードに追加したけど変化なしです。
\SVMain.cpp(629) : error C2660: 'PostThreadMessageA' : 関数が不正な 3 個の実引数をともなって呼び出されました。
0278デフォルトの名無しさん
NGNG>不正な 3 個の実引数
引数は4個のはず。どこか間違えている。629行の辺りを書いて。
0279デフォルトの名無しさん
NGNGでもおかしいな?MSDNでみたら引数3個だったんだけど。
//照合完了イベントの通知
bstrWork = SysAllocString(wcCmnNo);
///////////////////////////////////////////TRACE
svt.FreeTraceWrite(3, 100, "0x%08x !照合完了イベント通知処理開始", this);
///////////////////////////////////////////TRACE
//2001.10.16 yonezawa mod start
// FireEvent(CS_BOSV_RSP_ENDVERIFY, bstrWork);
PostThreadMessage(CS_BOSV_RSP_ENDVERIFY, bstrWork, 0);
//2001.10.16 yonezawa mod end
///////////////////////////////////////////TRACE
svt.FreeTraceWrite(3, 100, "0x%08x !照合完了イベント通知処理終了", this);
///////////////////////////////////////////TRACE
SysFreeString(bstrWork);
0280デフォルトの名無しさん
NGNGBSTR bstrWork;
CS_BOSV_RSP_ENDVERIFYは定数。
0281デフォルトの名無しさん
NGNGMFC と API を間違えているようだ。
MFC の CWinThread::PostThreadMessage を見ていたんだろ?
MFC は Microsoft が用意している C++のライブラリ。
Win32 API は、プラットフォーム SDK に付属している、
Windows を操作する為の関数群。
0282デフォルトの名無しさん
NGNGMSDN の左上の [アクティブ サブセット] を [(すべてのトピック)] に変えてみな。
0283デフォルトの名無しさん
NGNGじゃ4つにすればよいんだね。
さんくす
0284デフォルトの名無しさん
NGNGUPX は知っています
基本は API だけでガリガリ書くのだと思いますが、
pragma を利用すればそれをせずに済みますか?(リンカオプション設定)
/NODEFAULTLIB 使ってますけど、/INCLUDE って使えるのですか?
どうやって使うんでしょうか。リンク時の参照エラーメッセージを見て
マニュアルコピペで /INCLUDE するんですか?
_atexit などを LoadLibrary & GetProcAddress で呼んでるのですが・・
C ランタイムスタートアップ関数をオーバーライドすると
非ローカル変数が初期化されないらしいってヘルプで読みましたけど、
こういう場合は自分で適切な初期化関数を書くだけでいいのでしょうか
0 に初期化されるのは保証されるみたいですけど、それ以外のことをしたい場合
コンストラクタの実装を別にして、自分で呼んでやれば問題ないでしょうか?
0285デフォルトの名無しさん
NGNG・スタートアップルーチンのオーバーライド
・Cランタイム使用不可
・RTTI使用不可
・例外使用不可
・リンク時にAlignmentを小さくする
この程度かな
0286284
NGNGEnable exception handling をオフにすると
C ランタイムを使っている場合、とてもサイズが減りました! 感謝です
RTTI使用はデフォルトでオフになっていますが、
オンにしてもサイズは変わりませんでした
上記の2つを両方ともオンにしても、API のみでガリガリ書いているやつは
サイズは変わりませんでした
> ・リンク時にAlignmentを小さくする
とはどういうことを指すのでしょうか
C ランタイムを exe に取りこまずになおかつ利用する方法は
ありますでしょうか(^^;
0287デフォルトの名無しさん
NGNG> ・リンク時にAlignmentを小さくする
これは効果大だが Win9x/ME でロードできなくなるよ。
0288デフォルトの名無しさん
NGNGソース内で、dynamic_castなどを使用するなってこと。
>C ランタイムを exe に取りこまずになおかつ利用する方法はありますでしょうか
自作するか、代替のAPI(sprintf > wsprintf等)を使う。
CRTDLL/MSVCRTはスタートアップルーチン削っても使用できたか不明。
0289デフォルトの名無しさん
NGNGある市販のプログラムの特定のボタンが押された際に発行される、
メッセージというのはVC++を使って捕らえることができるのでしょうか?
やりたいことは、市販のソフト(VCまたはVBで作ってEXE で、ソースなし)
の特定のボタンを押した際のメッセージハンドらをつくりたいのです。
0290デフォルトの名無しさん
NGNGよほど特殊なものでない限り、出来ます。
0291デフォルトの名無しさん
NGNG/opt:nowin98 なら問題ない。
後はコードセクションやデータセクションなどを結合させてしまうとか。
Hello, World なら 1,024bytes で可能だな。
0292デフォルトの名無しさん
NGNGspyのソース見れ。いや、まずspy使え。
0293286
NGNG今のところ自作してます
CRTDLL/MSVCRT がスタートアップルーチンなしで動くかどうかは
試してみます。しかし公式なドキュメントが見つかりませんね
関数を呼んでもエラーにはならないようですが
>287
1024byte はすごいですね
/opt:nowin98 も入れて、Susie Plug-in の DLL の作成 Tips で読んだ
/merge:.data=.text /merge:.rdata=.text /section:.text,erw
のようにやっておりましたが、2.5KB がせいぜいでした・・
具体的にどのようにやるのでしょうか
聞くところによると、500byte くらいも可能とのことでしたが・・
0294293
NGNG0295デフォルトの名無しさん
NGNGほかには、、、姑息な手段として、
__declspec(naked)とか。
0296デフォルトの名無しさん
NGNG0297デフォルトの名無しさん
NGNGそんなこと、できるわけ無いじゃん
0298デフォルトの名無しさん
NGNGいや、Open-GL用いて3D簡易エディタ作ってるんだけど
マウスから線を引いたりするあたりがよくわからない
で、参考となるソース探してるんです
0299デフォルトの名無しさん
NGNG1024バイト。
#include <windows.h>
#pragma comment(linker, "/entry:main")
#pragma comment(linker, "/opt:ref /opt:nowin98 /merge:.data=.text /merge:.rdata=.text")
main() {
WriteConsole(GetStdHandle(STD_OUTPUT_HANDLE), (void*)"Hello, World!\n", 14, 0, 0);
}
0300293
NGNGす、すごいです
1024バイト感動しました
>295
__declspec(naked) で検索してみたら面白いサイトが
タクサンでてきました。アセンブリの世界が少し
垣間見られました
あ、実行してみたら落ちた。。。
main() {
DWORD dwWork;
WriteConsole(GetStdHandle(STD_OUTPUT_HANDLE), (void*)"Hello, World!\n", 14, &dwWork, 0);
}
これで良いでしょうか
0301デフォルトの名無しさん
NGNGWindows2000上にBecky Ver2が立ち上がっている。
この際、受信ボタンを押したイベントハンドラを見ることは
SPYを使ってできるの?
できれば、詳細にやり方教えて下さい
0302デフォルトの名無しさん
NGNGえーっと、win2k?
2kでしか試してないんだけど。
0303291
NGNG/section:.text,erw がないと NT4 では動かないみたい。
9x,2k だとデフォルトの /section:.text,er でも動くようだが。
>>300
動いているなら良いのでは?
9x だと出力したサイズがいらない場合でも NULL にはできなかったはず。
undll.exe というソフトのソースを見たら、ExitProcess で終了してた。
実際に使うようなソフトを作るなら、ExitProcess で終了するようにした方が安全かもな。
Susie Plug-in や DLL なら必要ないのだろうが。
0304デフォルトの名無しさん
NGNGSPYのファインダーツール(メニュー・スパイ・ウィンドウ検索)を使って Becky のメインウィンドウのメッセージを監視する。
Becky で「送信」を選択すると WM_COMMAND が送られるはず。
SPYのメッセージウィンドウ?に WM_COMMAND の WPARAM の内容が表示されるので
そこから「送信」に割り当てられているIDを取得する。
自分でメッセージフック(SetWindowsHookEx)を行うプログラム(他のウィンドウのメッセージフックなのでDLLが必要)を作る。
メッセージを監視してWM_COMMAND で「送信」のIDがきたらGetModuleFileNameで送信元のプログラムのファイル名を調べ
Becky のものと同じなら(Beckyのプログラム名はレジストリのインストール情報から取得)自分のプログラムに通知して処理を行う。
「送信」のIDもメニュー・ツールバー・ポップアップメニューで異なる可能性もあるので注意。
(自分はBecky持ってないので未確認)
拙者が云えるのはこれくらいでござる。
0305デフォルトの名無しさん
NGNGm(__)m ペコリ
VCからBATやEXEなどの実行プログラムを起動し、
実行したプログラムが終了するまで、
プログラムを先に進めない(非道期実行)を行いたいのですが、
どのようにすれば良いのでしょうか?
ご存じの方がいらっしゃれば、宜しくお願い致します。
0306デフォルトの名無しさん
NGNG同期じゃん
0308デフォルトの名無しさん
NGNGCreateProcess した後、WaitForSingleObject する。
0310草加せんべい
NGNG0311デフォルトの名無しさん
NGNGダイアログに貼り付けるリストボックスにおいて、
横スクロールバーを設定してもDisableになったまま機能しないのですが、
これはVCまたはWindowsのバグなのでしょうか?
プログラムで強制的にEnableにしてもダメでしたが、良い方法が
ありましたら、簡単に教えていただけると助かります。
リストボックス内に文字列が表示しきれないときに不便でしょうがないです。
0312デフォルトの名無しさん
NGNGWindowsの仕様です。
横スクロールするリストボックスなんて見たことあるの?
0313デフォルトの名無しさん
NGNGLBS_MULTICOLUMNスタイルじゃないと
リストボックスの横スクロールバーは出なかったような?
それだと全然違うスタイルで解決になってないのでsage
0314311
NGNG>>312
例えばエクスプローラーの詳細表示時などは横スクロールしますよね。
あれは独自にやってるのかな…そんな感じもしますね。
>>313
ありがとうございます。
月曜日にでも試してみます。
0315デフォルトの名無しさん
NGNG0317草加せんべい
NGNGテッキストボックスコントロールを1から自分で作るとなると、
ウインドウのクライアント領域に直で書かないとだめなんですか?
0318デフォルトの名無しさん
NGNGそうだよ。面倒だけど、やってみると、とってもおもしょいよ。
0319デフォルトの名無しさん
NGNGSDKでもリストビュー作れるやん。おれはやらないけど。
0320デフォルトの名無しさん
NGNGフォルダを作りまくったのですが、
フォルダを並べ替えられないことに気づきました。
直接dspファイルを書き換えればいけそうだけど
シンプルに並べ替える方法ありませんか?
0321デフォルトの名無しさん
NGNG適当なフォルダに全部つっこんで1個ずつ出したら順番変わったぞ。
いま手元にあるのがVC5で、VC6では試してないが。
0322320
NGNG0323デフォルトの名無しさん
NGNG説明書が英語なだけ?それとも日本語関連のライブラリが無い?
0324デフォルトの名無しさん
NGNG0325デフォルトの名無しさん
NGNG0326デフォルトの名無しさん
NGNG以下のようにしてVBの配列をDLL関数に渡すと、
pCount は正常に受け取っているのですが、
p() の内容がでたらめな数値を受け取ってしまいます。
どのようにすれば p() を受け取れるようになるのでしょうか?
VC初心者なので、うまく質問もすることができませんが、
よい知恵をご伝授お願いいたします m(_ _)m
--VB---------------------------------------------
Public Declare Function TASIZAN Lib "test.dll" ( _
ByRef p() As Long, _
ByVal pCount As Long) As Long
Dim p(2) As Long
p(0) = 10: p(1) = 20: p(2) = 30
MsgBox TASIZAN(p(), 3) '<-- 正常な値が表示されない
Win32 Dynamic-Link Libraryで作成
--VC---------------------------------------------
extern "C" __declspec(dllexport) int __stdcall TASIZAN( int p[], int pCount )
{
int i, kei = 0;
for( i = 0; i < pCount; i++ ) { //<-- pCount は正常
kei += p[i]; //<-- p[i] の内容がでたらめになる
}
return kei;
}
0327デフォルトの名無しさん
NGNGビルドできません。
Platform SDKが要るという噂なんですがどこで手に入るでしょうか?
ダイレクトぱすを持てる人(日本語)教えてアル。m(_ _)m
0328デフォルトの名無しさん
NGNGgoogle で検索すれば、すぐに見つかると思うんだが。
ftp://ftp.microsoft.com/developr/platformsdk/
0329デフォルトの名無しさん
NGNGM$
0330デフォルトの名無しさん
NGNG0331デフォルトの名無しさん
NGNGCtrlを押しながらCを押すとコピーするってのは標準だと思いますが
Ctrlを押しながらDELでキャレット以降の文字を削除みたいな特殊なものって標準化されているんですか?
ほとんどのエディタで使われているので標準化されているような気もしますが・・・
どっかに資料があるなら教えて。
ないなら最低でもこれは実装しておけってキーと機能教えて。
0332デフォルトの名無しさん
NGNGByValでポインタ渡したらダメなん?
p自体は結局ポインタだと思うんだけど・・・
0333デフォルトの名無しさん
NGNGMSDNの中にショートカットキーとかUIに関するガイドラインみたいの
があるから、”ユーザー インターフェース ガイドライン”あたりで
検索すれ。
0334デフォルトの名無しさん
NGNGもしくはp(0)をByRefで渡すか。
どっちが通るかは忘れた。
もしくはどっちも通るかもしれない・・・
0335MFCなら
NGNG0336MFCなら
NGNG>>311
CListBox::SetHorizontalExtent
0338デフォルトの名無しさん
NGNGありがとうございました。無事解決しました。
0340f
NGNGウィンドウの形をすきにできるやりかたの載っているサイトはありませんか?
0341デフォルトの名無しさん
NGNGやっぱMSDNでしょう。
http://www.microsoft.com/japan/developer/library/default.asp
キーワードはSetWindowRgnか?はずれたらごめん。
0342f
NGNG0343659
NGNG0344デフォルトの名無しさん
NGNGコンパイルはファイルを一つだけコンパイルして obj を作る、ビルドはプロジェクトの
ファイルを全てコンパイルしてビルドターゲット (exe, dll, lib など) を作る。
0345デフォルトの名無しさん
NGNG0346デフォルトの名無しさん
NGNGWin32環境なら同じ。
0347デフォルトの名無しさん
NGNGOPENFILENAME of1 , of2;
�@ of1 = of2;
�A CopyMemory(&of1 , &of2 , sizeof(OPENFILENAME));
�@と�Aって同じですか?
スピード的に違ったりしますか?
0348デフォルトの名無しさん
NGNGアセンブラ出力させて眺めましょう。
0349デフォルトの名無しさん
NGNG構造体のコピーに(2)を使うと危ないでしょ。
(OPENFILENAMEは平気だけど)
0350デフォルトの名無しさん
NGNGthanx
0351デフォルトの名無しさん
NGNGDirectDrawCreateはどこで呼ぶのが適切ですか?
0352345
NGNGありがとうございました。わざわざ書き分ける必要なんてないんですね(^^;
0353デフォルトの名無しさん
NGNG0354デフォルトの名無しさん
NGNG(2)が危険な理由がわからないので、教えてもらえませんか?
0355デフォルトの名無しさん
NGNGコンパイルの仕方で構造体データが不連続になるらしい。
0356デフォルトの名無しさん
NGNG0357353
NGNG0358デフォルトの名無しさん
NGNGC++だと、
代入演算子が再定義されてたりするかもしれないし、
メンバ変数に、クラスがあるかもしれないし。
バイナリイメージのコピーはバグを生む可能性が高い。
(WinAPIで使う構造体は、Cを前提に書かれているんで
大丈夫だとは思うけど)
0359デフォルトの名無しさん
NGNGその構造体がなんらかのポインタを保持しており、
それが動的に確保されたものの場合、
単純なメモリコピーではそのメモリまでコピーできない。
だから、もしそれが C++ で書かれていて、
かつその構造体に代入演算子が定義されていたら、
それを使うべし。
0360デフォルトの名無しさん
NGNG構造体のメンバのアライメント(配置)、パック。
#pragma pack
詳しいことは知らないが。
0361デフォルトの名無しさん
NGNG静的な場合は、各メンバは4バイト境界に置かれる。
動的に確保された場合、メンバが詰められて配置される。
0362デフォルトの名無しさん
NGNGそれは別に、CopyMemory()を使っちゃいけない理由には
ならないと思う。
0363354
NGNG了解。
それでOPENFILENAMEは平気だけどと注釈が入っていたのですね。
0364DQS
NGNGどうしたらよいですか?ドキュソですいません。
0365デフォルトの名無しさん
NGNGディスプレイに出力しないアプリならWin32アプリから呼び出せば非表示じゃないの?
違ったっけ?
0366aaa
NGNG0367お胸おっぱい
NGNG以下のどれでも。
1. ウィンドウのない Win32 アプリにする。
・プリプロセッサの定義の _CONSOLE を _WINDOWS にする。
・リンクの“一般”のプロジェクトオプションの /subsystem:console を
/subsystem:windows にする。
・main を WinMain にする。
VC++ 4.2 ではこれで出来たけど、今はどうかな…
2. 起動用のショートカットを作って、プロパティの“実行時の大きさ”を“最小化”にする。
実行するときはショートカットから。
3. 頭で FreeConsole() を呼ぶ。一瞬表示されるのは我慢。
0368デフォルトの名無しさん
NGNGコンソールアプリじゃなくて、
普通のWin32 applicationじゃいかんの?
mainをWinMainにするだけじゃん。
0369DQN生
NGNG0370デフォルトの名無しさん
NGNG0371デフォルトの名無しさん
NGNG表示じゃなくて表現、ね。
0372デフォルトの名無しさん
NGNG0373デフォルトの名無しさん
NGNGMicrosoft C/C++ がサポートする 64-bit 整数型。
0374デフォルトの名無しさん
NGNG0375草加せんべい
NGNG0376デフォルトの名無しさん
NGNG0377大三元
NGNG�@”ブレークポイントが設定出来ない〜〜”と怒られる。
�A「'C:\WINDOWS\SYSTEM\KERNEL32.DLL' をロードしました、
合致するシンボル情報は見つかりませんでした。」と出る。
Helpの”ブレークポイントが機能しない原因について”を読んで、
�B[プロジェクト設定] ダイアログ ボックスの [デバッグ] タブの [追加する DLL]
をいじり、再試行すると、
�C「'C:\WINDOWS\SYSTEM\kernel32.dll' のシンボルを読み込みました」と出、次に、
�A「'C:\WINDOWS\SYSTEM\KERNEL32.DLL' をロードしました、
合致するシンボル情報は見つかりませんでした。」と出る。
�Bの効果がないように思われるのだが。・・・それとも見当違いなのか?
何だか、これで半日が潰れてしまった。助けてくれまし。
P.S.
・同名ファイルに関するチェックもしたが。
・verは5。
0378デフォルトの名無しさん
NGNGはデバッグモードで出てくるメッセージですね。
俺はそういうのは無視してますが何か?
ブレークポイントが設定出来ないのはコードのない領域に
セットしようとしてないですか? 場所を変えても駄目?
0379デフォルトの名無しさん
NGNGC:\Windows って書いてるところを見ると NT/2000 ではなく 9x/ME 系の OS を
使ってる? 9x/ME は OS が copy on write の機能を持っていない都合上、シ
ステム DLL が提供する関数にはブレークポイントを設定できないよ。
0380デフォルトの名無しさん
NGNGそれってWinNTとかWin2000のOSのデバッグシンボルをインストール
していないからじゃないかと・・・。
違っていたらスマソ。
0381大三元
NGNG>378
ある単一の行に対して設定出来ないというのではなくて、
ソース(もしくはその一部?)に設定出来ません。
>379
95です(イマドキナガラ(笑))。
自分作成のソースに設定したいです。
>380
実は、雑誌付録のプログラムをビルド・デバックしてるんですけど、
(雑誌の筆者のOSが)Win2000だった場合には、”Win2000のOSのデバッグシンボル”
をインストールする必要があるってことでしょうか?
”××のOSのデバッグシンボル”とは?
0382
NGNG(左側に茶色の丸ができる)
もしデバッグ実行時にその警告メッセージが出るなら単純に
そのラインがブレークポイントにできない。(下にずれたりするはず)
例えばしたのバツの部分は設定できなかったりする。
× if(0){
● i = 0;
● }
0383デフォルトの名無しさん
NGNGデバッグ情報の*.dbgファイルのこと。
シンボルファイルは、デバッグ中でシステムコード上のスタックをトレースする時に
必要です。また、OLE RPCのデバッグにも必要です。
だそうな。(システムシンボルセットアップの説明より)
たぶん、デバイスドライバを作ったりする以外では必要になることは殆どないと思いますが
NT系のOSで「デバッグ情報は見つかりませんでした」と出てくるのが気になってしょうがない
人は入れとけばいいんじゃないかと。
(かなり大きい&SPのバージョンにあわせてMSからとってこないといけないので)
95系列の人は素直に黙殺しましょう。
今回は自作のソースのデバッグなのでシステムDLLのデバッグ情報は無くても
大丈夫です。
ブレークポイントが置けるところは382さんの説明を読んでチェックしましょう。
あと、
・アクティブな構成がwin32 debugになっているか
・リンクのオプションでデバッグ情報を生成するにチェックが入っているか
も一応確認してみてね。
0384デフォルトの名無しさん
NGNG0385デフォルトの名無しさん
NGNG犯罪を教唆したかどで (以下略)
0387名無しさん
NGNG次々ソースを切り替えるショートカットを教えてください。
説明が下手でスマソ。
0388デフォルトの名無しさん
NGNGなぜヘルプを読みませんか?
面倒なので教えてやるが正解はCTRL+F6。
つーか、MDIの基本ショートカット。
0389387
NGNGヘルプのどこを読んだらいいかわからなくて。
ありがとですm(__)m
0390
NGNG"//"というコメントアウトを挿入してくれるアドインはありますか?
0391
NGNGで囲むマクロならサンプルに入ってるけど…。
//じゃなきゃイヤなの?
0392デフォルトの名無しさん
NGNGCTRL+TAB。
普通のウインドウズでALT+xでできることは、
MDIでも大体CTRL+xで行えるようになってる。
0393デフォルトの名無しさん
NGNG俺390じゃないけどマクロを使えばいいんだね、Thx!
VCプログラミングでマクロを使うって発想が無かったよ
0394384
NGNGVirtual-Key Codesの表を参照したいのですが、無かった。
だれか書いてください・・お願いします。
0395デフォルトの名無しさん
NGNGWINUSER.Hではどうか。
0396デフォルトの名無しさん
NGNGMSDNに載ってるはず。オンラインの方はどうだか知らんが。
オフラインのを持ってないとは言わせない。
0397デフォルトの名無しさん
NGNG「選択範囲」チェックボックスが無効になっていて
「ファイル全体」しか選択できません。
いちおう、選択してから、Alt+Shift+7を選択しているのですが・・・。
vc++6 sp5
0398競れ損 ◆hPlq..gg
NGNG置換はCtrl+Hですよ。
Alt+Shift+7って私の環境だとなんも起こらないのですが何なんでしょう。
0399デフォルトの名無しさん
NGNGCtrl+MがEnterではないエディタも嫌いだ。
0400ドキュソグラマ
NGNGレイトレースの簡単なやつでBC5.0とVC++5.0では結果が同じだが
VC++7は浮動小数演算のどこかがおかしい。
0401384
NGNGフリーソフトの設定ファイルに
Virtual-Key Codesを参照してください。とあったのですが
それでとても困ってます。だれかください・・・
0402デフォルトの名無しさん
NGNG*** のページ違反です。
モジュール : ***.***、アドレス : 015f:004011b1
Registers:
EAX=00000020 CS=015f EIP=004011b1 EFLGS=00010202
〜(略)〜
Bytes at CS:EIP:
f3 a5 8b c8 〜(略)〜
Stack dump:
00000da0 00666644 〜(略)〜
アドレスはエラーの起きたアドレス、Registers は直前にレジスタに
入っていた値というのはわかるのですが、Bytes at **:** や、
Stack dump: が何を示しているのかわかりません
0403デフォルトの名無しさん
NGNGVK_UP VK_DOWN VK_SHIFT・・・こんな感じ。
0〜9とA〜Zはアスキーコードのまま。
たしかJAVAのリファレンスにも書いてあるぞ。
0404384
NGNGわかりました。ありがとうございました。
0405デフォルトの名無しさん
NGNGBytes at CS:EIP:
は実際に例外を起こした命令部分のダンプ(CS:EIPは実行アドレスを保持してる)
f3 a5は「rep movsd」で
8b c8はえ〜と…「mov ecx,eax」だな
あとはプログラムのソースと照らし合わせて例外を起こした該当箇所を断定してやればいい
この場合rep movsdでエラーだから
恐らくmemcpy辺りで転送長をバッファの容量よりも多く取りすぎたとか
ポインターを初期化し忘れたとかがエラー原因
典型的なmemcpyのインライン展開コードだしね
略った所は83 e1 03 f3 a4辺りか?(and ecx,3;rep movsb)
まぁ判る人ならココまで状況を詳しく判らせてくれる便利な情報だ
ちなみにプロジェクトの設定でC/C++タブのカテゴリ>ファイルリスティングにある
リスティングファイルタイプを「マシン語コードとソースを含む」に設定しておけば
ある程度は自力でバイナリからニモニックを読まなくてすむぞ
objのあるフォルダにcodってファイルができるからそれから箇所を断定してけ
Stack dump:は例外発生時のスタック(SS:ESP)の内容
押し込んである内容から更に絞り込んで例外発生時の状況や
関数の位置を断定できたりできなくはないが
CS:EPIよりもさらに上級者向けの情報なので402君は無視してイイぞ
0406デフォルトの名無しさん
NGNG予約語をカラー表示するエディタを作ってるんですが
C/C++の予約語って何がありますか?
MSDNで予約語を調べたところ載ってませんでした。
Javaやリンカの予約語は載ってたんですが。
(ちなみにJavaの予約語のカラー表示は完成済みです。)
C/C++の予約語一覧ってどこかで調べられませんか?
できれば意味付きで調べたいです。
(カラーの割り振りに影響するため)
知っている人教えてください。
「本を買え」ってのは無しでお願いします。
それと前から気になっていたんですがダイアログリソースでボタンを「標準のボタン」にした場合Enterキーを押すとそのボタンが押されたようになるんですよね?
OKボタンが標準の時は問題無いんですがOKボタンを削除して自分で追加したボタンを「標準のボタン」にするとうまくいかない場合があります。
見た目では強調枠で表示されて同じなんですが肝心のメッセージが送られてきません。
リソースで設定する以外にも何かやらなければいけない事ってあるんですか?
0407デフォルトの名無しさん
NGNG0408デフォルトの名無しさん
NGNG先生!
上級者になるためには何読んだらいいんですか?
0409402
NGNG確かに略した所は正にあなたのおっしゃる通りでした。ドンピシャです。
すごすぎーです・・。
http://www.intel.co.jp/jp/developer/design/pentiumiii/manuals/
アセンブリのことはよく知らないのですが、ここでも参考にして
ぼちぼちかじって行きたいです。
ネットに講座が点在してるらしい MASM も DL してます。
>リスティングファイルタイプを「マシン語コードとソースを含む」に設定しておけば
こんな便利な機能があったんですね。
今までわざわざ XDAWIN で、できたバイナリを逆アセンブルしたり、
VC++ のデバグモードでニーモニックを追ったりしてました(^^;
貴重な事を教えていただき、どうもありがとうございました。
0410デフォルトの名無しさん
NGNG標準のボタンというのはラジオボタンに対して普通のボタンという意味。
Enterでメッセ−ジを受け取るのはフォーカスを持っているボタン。
TABキーを押していくとボタンに点線で出来た枠が表示されるだろ?
そのときにEnter(またはスペース)を押せばそのボタンにメッセージが送られるよん。
ってこんなのVC++じゃなくてWindowsの使い方じゃん(w
C/C++の予約語一覧はそれで検索して。
0411410
NGNG「EnterキーでOKボタンが押されてダイアログが閉じる」ようにしたいなら
自分で追加したボタンのメッセージハンドラに OnOK(); を書くべし。
0412405
NGNGさぁ?なに読んだかなぁ……もう覚えてないや
とにかく本屋に売ってる本、片っ端から全部読めば?多少はマシになると思うよ
出力されたcodを読むのもVCの癖をつかむのにイイかな
少なくとも俺はWinプログラム始める前にx86asmは普通に読み書きできたしねぇ…
0413A
NGNGコンパイルしたあとのアゼンブラの
コードを見る方法教えてください
0414デフォルトの名無しさん
NGNGん?つい最近見たよね?と思ったら>>405に書いてあるじゃん!
0415A
NGNG0416デフォルトの名無しさん
NGNG対応する C のコードがわかってるなら、そこにブレークポイントを設定してデバッガで実行 (F5)、
ブレークポイントでとまったらデバッグ用のツールバーから [混合モード] を選択、というのもアリ。
0417デフォルトの名無しさん
NGNGソースファイルが増えてきたので、フォルダ分けしてすっきりさせたのですが、
Debugビルドで以下のようなエラーメッセージが出るようになってしまいました。
e:\test\debug\AAA\vc60.pdb は、このプリコンパイル済みヘッダーが作成されたときに
使用された pdb ファイルではありません。プリコンパイル済みヘッダーを再作成してください。
ソースファイルの配置はこんな感じです。
e:\test\stdafx.h
e:\test\stdafx.cpp ->e:\test\debugに中間ファイルを出力
e:\test\AAA\src.cpp ->e:\test\debug\AAAに中間ファイルを出力
e:\test\BBB\src.cpp ->e:\test\debug\BBBに中間ファイルを出力
(もちろんほかにもソースはありますが、関係ありそうなファイルの
位置関係だけを示しています)
どうもvc60.pdbを各フォルダに作ってしまうからおきてしまうエラーのようです。
Releaseビルドではvc60.pdbを生成しないから問題なくビルドできました。
1.ソースファイル名が一致するから、中間ファイルを出力するフォルダを別にしたい
2.プリコンパイルを有効にしたい
3.Debugビルドをエラーを出さずに行いたい
以上の三つの条件を同時に満たすには、どうしたらいいのでしょう?
いまのところ、どれかひとつを犠牲にしないとビルドできないみたいなので、
困っています。
0418デフォルトの名無しさん
NGNGプロジェクト→設定→出力ディレクトリ
好きなとこに変えれ。(「../Debug」とか)
0419椎名
NGNGいや、ですから出力ディレクトリを変えたら、
e:\test\debug\AAA\vc60.pdb は、このプリコンパイル済みヘッダーが作成されたときに
使用された pdb ファイルではありません。プリコンパイル済みヘッダーを再作成してください。
って出てきて困ってるんです。
0420お胸おっぱい
NGNGで変えてもダメ?
0421お胸おっぱい
NGNG0422406
NGNGモードレスダイアログの基礎が分かっていないだけでした。
追加質問ですがモードレスダイアログが表示された状態でモーダルダイアログが表示された場合モードレスダイアログを無効に
モーダルダイアログが閉じたら有効にしたいんですがどうやるんですか?
現在は親ウィンドウの WM_ENABLE を使用して行っていますがこれでいいんですか?
違うやり方なら教えてください。
0423椎名
NGNGえーっと。これをどう変えればいいんですか? ここで変更できるのは
「test.pdb」のフォルダ位置や名前だけで、vc60.pdbはそれに関係なく
各フォルダに出来るみたいですが…。
それに、「プログラムデータベースを使用」のチェックを外しても
test.pdbが作成されなくなるだけで、vc60.pdbはどっちみち作成されてる
ようです。
0424デフォルトの名無しさん
NGNGモードレスダイアログを無効にとはどういうこと?
入力を受け付けないようにしたいの?
その状態でモーダルダイアログが表示されてる?
ハァ?設計がおかしいだろ、明らかに。
モードレス→モードレスかモーダル→モードレスにしろ
モーダル→モーダルならなお良いが。
0425デフォルトの名無しさん
NGNG試してないけど cl.exe の /Fd オプションを手で設定するのは?
0426椎名
NGNGいや、どう設定すればいいのか分からないんですが…。
というか、ちょっと質問を変えます。みなさん、ソースファイルが
増えてきたら、どうやって対処されてるんですか? フォルダわけを
するしかないですよね? それで、フォルダわけしたら、それぞれの
フォルダではファイル名の一致を気にせずにネーミングしますよね?
どうやってビルドされてるんですか? 根本的に全く違う解決方法が
あるんでしたら、教えてください。m(__)m
0427デフォルトの名無しさん
NGNGプロジェクトの設定を開いて [C/C++] タブを選択。ダイアログ下部に表示される [プロジェクトオプション]
欄に手で入力。
私はファイルが増えたらプロジェクトを分割して、DLL やスタティックリンクライブラリを作るようにします
が。
0428デフォルトの名無しさん
NGNG>フォルダ分けをしたらファイル名の一致を気にせず
これがわからん。同一プロジェクトで同じ名前のファイルがあったらあかんだろ。
普通はプロジェクトごとにフォルダ分けするだろ。
使いまわしするにしても同名のファイルが(フォルダが違っても)複数あるのはマズイだろ。
0429
NGNGそうです。
視覚的にわかりやすくする必要があるのです。
0430397
NGNGどもです。
> Alt+Shift+7って私の環境だとなんも起こらないのですが何なんでしょう。
エディタEpsilonエミューレーションにしているので
その関係かもしれませぬ。
私の場合Ctrl+Hはカーソル前文字位置文字削除なんで
Alt+Shift+7が置換ダイアログを出すのです。
やっぱり、選択してAlt+Shift+7を押しても「ファイル全体」
しか指定できないのですが・・・。
0431397
NGNGDeveloper Studioにしたら選択範囲置換できました・・・。
0432デフォルトの名無しさん
NGNGそのURLを取得するアプリケーションを作っています.
情報の取得にはDDEを使っているのですが,途中でエラーがでて上手くいきません.
手順としては
DdeInitialize()で初期化
サービス名"iexplore",トピック名"WWW_GetWindowInfo"でDdeConnect()
アイテム名"WWW_GetWindowInfo"でStringHandleを得て,
DdeClientTransaction() <-ここでエラーが出ます.
エラー値はDMLERR_NOTPROCESSEDで,説明を見ると
A transaction has failed.だそうです.
解決策をご存じの方いましたら教えてください,よろしくお願いします.
0433397
NGNG0434432
NGNG0435デフォルトの名無しさん
NGNGEpsionの作者にクレームつければ?
0436椎名
NGNG>これがわからん。同一プロジェクトで同じ名前のファイルがあったらあかんだろ。
いえ、「そういう場合はプロジェクトを分ける」ということを知らなかったものでして。
ですから、同一ファイル名のときはどうしたらいいものかと、悩んでたわけです。
>>427
>プロジェクトを分割して、DLL やスタティックリンクライブラリを作る
ありがとうございます。今までプロジェクトの分割なんてやったことなかったんですが、
こういうときのためにあったんですね。なんとかビルドできるようになりました。
ところで、スタティックリンクライブラリをリンクするために、
#ifdef _DEBUG
#pragma comment(lib,"BGM/Debug/BGM.lib")
#else
#pragma comment(lib,"BGM/Release/BGM.lib")
#endif
こういう記述が要りますよね。これ、ひとつのワークスペースの中のプロジェクト
なんだから、いちいちこういう記述をせずとも自動的にリンクしてくれないのかな〜とか
思ったんですが、さすがにそれは無理でしょうか?
0437デフォルトの名無しさん
NGNGプロジェクトの設定
依存関係
etc
0438椎名
NGNG>依存関係
ああ、「依存関係」って、このためにあったんですね。今まで全く使わなかったから、
脳内「透明あぼ〜ん」してました。どうもありがとうございました。
0439デフォルトの名無しさん
NGNGアドインのサンプルとか解説してるサイトかありますか?
可能な限り日本語きぼん。
0440デフォルトの名無しさん
NGNG0441デフォルトの名無しさん
NGNGRS-232Cでデータ送受信するプログラムを作ろうとしているのですが
(Visual C++ 6.0、OSはWin98SE)
どのようにしていいかわかりません。
一般的なTIPSみたいなのがあるのかなぁ?と思いまして。
ネットで検索したら
ttp://www-kobayashi.ctrl.titech.ac.jp/~mtanaka/vc/
とかがあったんですが、これってMicrosoftCommControl
を使ってるんですよね。これってVBのコンポーネントですよね?
それ以外の方法ってありますか?
0442デフォルトの名無しさん
NGNG別にVB専用ってわけじゃねえ。ActiveXコントロールなんだからVCからだって使える。
自分でやりたいならCreateFileとかDeviceIoControlとか。
0444デフォルトの名無しさん
NGNG使ってないので俺は困ってないけど、確かにepsilon互換にすると
選択範囲置換出来ないね。コマンド実行と同時に選択範囲が解除されてる感じ…。
0445441
NGNGうん、もちろんActiveXコントロールでVCから使えるのは
わかります。でも、できるだけそゆコントロールを使いたく
なかったので。
ぼくもあの書き込みの後しらべてCreateFileを使う方向で
いこうと思っています。
0447:デフォルトの名無しさん
NGNGカレットの位置にあわせるにはどうすればいいのでしょうか?
位置を動かす関数はあるみたいなのですが、どこから呼び出せばいいのでしょうか?
ユーザーがIMEをONにしたときにを知らせるメッセージとかあるのですか?
それとも前もってカレットの位置にあわすように登録する関数でもあるのですか?
どうしたらいいのでしょうか?
0448デフォルトの名無しさん
NGNGImmSetCandidateWindow
ImmSetCompositionWindow
ImmSetConversionStatus
ImmNotifyIME
WM_IME_STARTCOMPOSITION
などをMSDNで調べるがよい。
0449:447
NGNGどうもありがとうございます。助かりました。
質問の後、寝ちゃったけど回答の早さには助かります。
0450__
NGNGVC++でUnicode対応プロジェクトにするには
「プロジェクト」→「設定」→「C/C++」→「プリプロセッサの定義」から
_MBCSの定義を削除し、代わりに、_UNICODEを定義する。
「プロジェクト」→「設定」→「リンク」→「アウトプット」の
「エントリポイントシンボル」にwWinMainCRTStartupと書き込む。
(これをやらないと_WinMain@16は未解決ですとコンパイルエラーになります)
とあり、このとおりにやったのですが
msvcrtd.lib(wcrtexew.obj) : error LNK2001: 外部シンボル "_wWinMain@16" は未解決です
Debug/UnicodeTest1.exe : fatal error LNK1120: 外部参照 1 が未解決です。
link.exe の実行エラー
とやっぱりエラーが出てしまいます。
環境はWindows2000でVisualC++6.0 Standard Editionです。
どこがいけないのでしょうか?
0451デフォルトの名無しさん
NGNGからじゃなくて、
wWinMain
からはじめれば?
0452デフォルトの名無しさん
NGNG現在のIEバージョンを取得する方法をご存知の方いませんか?
おしえてください〜・・・
わかりそうでわからないんです。。。
0453Name_Not_Found
NGNGVCでやってるんでしょうか?
どなたか申し訳ありませんが、教えていただけないでしょうか?
0454
NGNGじゃないの?
0455デフォルトの名無しさん
NGNGhttp://aqua-pj.com/tech/faq_req.php3?D1=Windows&D2=SDK
0456デフォルトの名無しさん
NGNGそういうこと書いたサイトありませんか?
0457デフォルトの名無しさん
NGNGVC#の方が良いの?
0458デフォルトの名無しさん
NGNG現在と状況が違うかもしれないけど、
俺の場合、10年くらい前にCとBASICとCOBOLを
ほぼ同時期に覚えた。
気になるんなら、C++とC#の両方やればいい。
0459450
NGNGMFCでプログラミングしてるからWinMainやwWinMainは直接書かないんですけど。
0460デフォルトの名無しさん
NGNG全部入れろ。全部。
0461デフォルトの名無しさん
NGNG知ったかぶるな○○!!
VCはスケルトン作った時点でかなりの量のソースコードが出来てんだよ!!
0462デフォルトの名無しさん
NGNG誤爆?
0463450
NGNGサービスパックの新しいのが手元にないので、いったん削除してからの再インストールは
やりたくなく、削除しないまま再インストールをしようとしたらカスタムインストールとかの
選択ができずにいきなりコピー(インストール)が始まってしまいました。
だからUNICODE関連のライブラリがインストールできたのか疑問で、エラーが出たプロジェクトを
再コンパイルしてみてもやはりエラーが出ました。
しかし新しいプロジェクトを作ってUNICODE対応プロジェクトにしてみたらエラーは出ませんでした。
ライブラリが足りなかったのか、エラーが出たプロジェクトにおかしいとこらがあるのか分かりませんが
とにかくUNICODE対応プロジェクトができるようになりました。
どうもありがとうございました。
0464デフォルトの名無しさん
NGNGライセンスちゃんと持ってるなら、マイクロソフトに「くれ!」って言ったら
(FAXでね)ServicePackタダでくれるよ。
0465デフォルトの名無しさん
NGNGテキストエディタで「URL文字列をクリックするとブラウザが起動」
「メールアドレスをクリックするとメーラーが起動」ってありますよね?
あれってShellExecuteを使えばいいんですか?
セキュリティ的に問題があったりしませんか?
特殊な文字列をShellExecuteで実行するととんでもないことが起こったり?
0466デフォルトの名無しさん
NGNGhttp://www.codeguru.com/
知ってるか知ってないかでかなり違うー
0467デフォルトの名無しさん
NGNG差分更新の部分は問題ないのですが全画面更新の部分が遅すぎます。
他のエディタと比べてスクロール時の更新速度が半分程度しか出ません。
システムモニタでプロセッサ使用率をみると他のエディタは50%程度ですが
自分のは100%の状態なのでそれを計算にいれると実質1/4程度のスピードしか出ません。
現在は描画用にコンパチブルビットマップを作ってそこに描画してから画面に表示しています。
コンパチブルビットマップへの描画は最適化しているので問題ないのですがコンパチブルビットマップから画面への転送が遅いようです。
スクロールの場合全画面更新する必要があるのでGetDCでウィンドウのDCを取得してウィンドウサイズ分転送しています。
この部分はどう考えても高速化できそうもないのですが実際この部分だけで処理時間の80%ぐらい要しています。
コンパチブルビットマップから画面への転送を高速化する裏技でもあるんですか?
現在はCreateCompatibleBitmap CreateCompatibleDC で作ったバッファから BitBlt で転送しています。
0468デフォルトの名無しさん
NGNG0469デフォルトの名無しさん
NGNG実画面の方はScrollWindow()でスクロール。
足りない部分をバックバッファからのBitBlt()。
バックバッファからのBitBlt()よりは実画面同士のBitBlt()の方が、大抵速い。
お試しあれ。
0470デフォルトの名無しさん
NGNG0471デフォルトの名無しさん
NGNGサンキューです。
ScrollWindowを使ったら格段に速くなりました。
便利なAPIがあるもんですね。
初めて知りました。
0472デフォルトの名無しさん
NGNGと思って spy++ でウィンドウをさがしてもいちばん親のウィンドウしか見えない。
これはボタンやスライダーがウィンドウじゃなくてただそういうふうに描画
してあって、クリックされたかどうかはマウスの座標から全部自分で判定して
いるということなんでしょうか?
MFCつかわないプログラムではあたりまえなのかな?
0473デフォルトの名無しさん
NGNGコントロールをWinのボタンとかにすると、Skinでビットマップを貼り付ける
のが結構面倒だし。
0474デフォルトの名無しさん
NGNG0475デフォルトの名無しさん
NGNGクライアントでデバグしている限り問題はないのですが、
EXEをサーバに乗せて呼び出すと、処理は終わっているのにプロセスが残ってしまいます。
プロセスが残るのは業務的異常処理時のみです。正常時は問題なしです。
どんな原因が考えられるでしょうか。
0476デフォルトの名無しさん
NGNGどなたかお詳しい方はご教示をお願いします.
MessageBox関数がらみなのですが,
次のようなプログラムを組んでいます.
動作は条件1に合致すると窓1が出て,条件2に合致すると窓2が出ます.
(正確には同じ窓が連続してでないよう細工はしていますが,ここでは省略。)
void xxx::OnTimer(UINT nIDEvent){
int itmp1 = 0, itmp2 = 0;
if(条件1){
itmp1 = MessageBox(.....);//窓1
}
else if(条件2){
itmp2 = MessageBox(.....);//窓2
}
}
条件1,2共に合致している場合,
タイマーイベントが起こると,最初に窓1が出ます.
次のタイマーイベントでは(細工のために)窓2が出ます.
(この窓が2つ出ている状態を状態Aとします)
ここで,窓2のほうでOKボタン等を押すとitmp2に値が返ってきますが、
状態Aで窓1の方のOKボタンを押すと窓は消えますが,itmp1に値が返ってきません.
窓2の方のボタンを押してやると,itmp1の方も突然値が返ってきます。
これは何か使い方がおかしいのでしょうか?
URL等でも構いませんのでどなたかご教示を….
0477476
NGNG見えにくくてすみません。
0478デフォルトの名無しさん
NGNGOnTimerの中でモーダルな処理をしない。
0479デフォルトの名無しさん
NGNGフリー,シェア問わず教えてください
javaはフリーでいろいろそろってますが・・・
0480デフォルトの名無しさん
NGNGたぶんこんな感じだと思われ。Windowsのメッセージ処理を勉強しましょう。
OnTimerが呼ばれて窓1が出る
→MessageBox関数の中でWindowsが自動的にメッセージ処理
→またOnTimerが呼ばれて次は窓2が出る。
→またMessageBox中でWindowsが自動的にメッセージ処理
→窓1のOKを押すと窓1にメッセージが送られ窓1が閉じる。
→窓2のOKを押すと窓2が閉じる。
→2回目のMessageBoxから復帰。itmp2に値が入る。
→2回目のOnTimerから復帰
→1回目のMessageBoxから復帰。itmp1に値が入る。
→1回目のOnTimerから復帰。
0481デフォルトの名無しさん
NGNGいろいろあるけど、範囲を絞らないと的外れな回答しか得られないと思われ。
- ViVi, VIOP
- CVS, igloo, CVSWeb
- BoundsChecker
- STLport
- MagicDraw
私の VC++ での開発のお供は、こんな感じだけど。
0482デフォルトの名無しさん
NGNGjavadocみたいなのも欲しいです。
というか,何でもいいんです(笑)
VC++の情報があまりなくて、
もっと活用するにはどうすれば良いか,意見を聞きたかったのです
MagicDrawいいですねー
ちょっと使ってみようと思います
0483デフォルトの名無しさん
NGNG0484476
NGNGありがとうございました。
モーダル処理しないように(ダイアログを別途作成)して
回避しました。
>>480
試行錯誤しながらやっています・・・。
いい機会なので勉強します。
0485デフォルトの名無しさん
NGNG0486デフォルトの名無しさん
NGNGWin/X[/Mac]と互換のあるやつでもないと。
0487デフォルトの名無しさん
NGNGじゃあ、それのソーすクレ
0488デフォルトの名無しさん
NGNG0489デフォルトの名無しさん
NGNGhttp://member.nifty.ne.jp/glad/cpp/test/
0490デフォルトの名無しさん
NGNG<IMG src="1.jpg" width=400 height=300 alt="写真">
って感じのタグの alt の部分で 二重引用符(")を表示したい場合
<IMG src="1.jpg" width=400 height=300 alt="写真"アイ〜ン"">
って書きますよね?
C言語みたいに alt="写真\"アイ〜ン\"" って具合に何らかの文字を前につけることで 二重引用符(") を直接書くことってできますか?
ついでにURL・メールアドレスに使用可能な文字も教えてくれると嬉しいです。
日本語ドメインなどは考えずに元々の英語のアドレスで使用可能な文字限定で教えてください。
0491デフォルトの名無しさん
NGNGurlはファイル・ディレクトリ名が日本語ならどうするねん、ちゅう話やね。
いずれにせよ板違いだからhttp://pc.2ch.net/hp/でやれや。
0492デフォルトの名無しさん
NGNGクソ食って死ね。
0493教えて下さい
NGNGnafxcwd.lib(thrdcore.obj) : error LNK2001: 外部****"__endthreadex" は未解決です
nafxcwd.lib(thrdcore.obj) : error LNK2001: 外部****"__beginthreadex" は未解決です
ebug/モグラ叩きForWin.exe : fatal error LNK1120: 外部参照 3 が未解決です。
link.exe の実行***
の4つのエラーが消えません。どこを修正したらよろしいのでしょうか?
0494デフォルトの名無しさん
NGNGプロジェクトの設定を確認。
MFCを使わない設定になってるのに使ってるとか。
0495490
NGNGの間違いです。
&quot;の部分を半角文字で書き込んだらブラウザに二重引用符に変換されてしまいました。
実体参照ってのはXMLの話ですか?
MSDNで調べたらJavaのXMLの部分にしか載ってませんでした。
http://pc.2ch.net/hp/ は偏差値低そうなので逝くのイヤです。
URL・メールアドレスはエディタの「クリッカブルURL」で使いたいんですけどなんか情報ないですか?
0496デフォルトの名無しさん
NGNG板違い&スレ違いウザイ。
ここのスレタイトルを100回復唱して首吊れ。
0497教えてください
NGNGlibcmtd.lib(crt0.obj) : error LNK2001: 外部シンボル "_main" は未解決です
Debug/モグラ叩きForWin.exe : fatal error LNK1120: 外部参照 1 が未解決です。
この2つが消えません。
1.エラーの内容
2.エラーの対処法
この2つを教えてください。
0498デフォルトの名無しさん
NGNG0499デフォルトの名無しさん
NGNGコンソールプロジェクトなのにmainを書いてない。に1票。
0500デフォルトの名無しさん
NGNG素直にHideCaretしても、どうしてもきえてくれません。
よろしくおねがいします。
0501デフォルトの名無しさん
NGNGサブクラス化してWM_SETFOCUSをひっかけてHideCaret。
つーかカレットの出ないEditコントロールなんてDQNなUIのアプリなんか
使いたかねーけどな。
0502jp
NGNG使用不可にする方法はありますか。ソースがあれば簡単なんですが
exeしかありません。やはり逆アセンブルとかになってしまうので
しょうか。
0504デフォルトの名無しさん
NGNG適当なリソースエディタで。
NTならVisualStudioでも可
0505デフォルトの名無しさん
NGNGMFCアプリだったらOnUpdate〜を引っかけられてたら利かないじゃん。
0506502
NGNG見たいなことできるんですか。
0507デフォルトの名無しさん
NGNGケースバイケース。
0508デフォルトの名無しさん
NGNG>>503 はグローバルフックを使う方法。
Windows標準のMenuコントロールを使っているアプリ全般に利く。
ただし、随伴するアプリを常に同時に起動する必要がある。
また、他のアプリに影響が出ることがあるかも知れないような
気がしないでもない。
無効にしたいメニューのコマンドIDはspy++であらかじめ調べておく。
>>504 は、いちどリソースオブジェクトを分離し、編集(メニュー無効化とか)
して再リンクする。
(VSから「ファイル」→「形式を指定して開く」で「リソース」を指定、対象のexe
ファイルを選択。WinNT/2000のみ可能。9xでは編集できるが再リンク不可。)
実装によってはメニュー無効化だけでは利かないこともあり得る。
メニュー項目自体の削除ならたぶん大丈夫。
ただし、メニュー項目をリソースとして持ってない(実行時に作成する)場合は
利かない(というか編集すべきリソースがない)
0509教えてください
NGNG->-subsystem:consoleを-subsystem:windowsに変更
どこを修正すればそうなりますか?
0510デフォルトの名無しさん
NGNG0511506
NGNGありがとうございます。VSはありますのでやってみます。
0512デフォルトの名無しさん
NGNGウィンドウが閉じたイベントに反応して、
アプリケーションを終了させるよーに仕向けてください。
0513デフォルトの名無しさん
NGNGCObListのGetNextメソッド内部の
ASSERT(AfxIsValidAddress(pNode, sizeof(CNode)));
で落ちてしまいます。
原因がサパーリです。どなたかヒントを・・・
0514デフォルトの名無しさん
NGNGCOleDataObject
の、サンプルコードがあるところを教えてください。
達人の方々、簡単なサンプルコードをいただけると幸いです。
サパーリわからなくて困り果てています。うう(泣
0515デフォルトの名無しさん
NGNGパラメータクラスのコピーコンストラクタをきちんと書いたか?
0516デフォルトの名無しさん
NGNG購入しようと思っているのですが、これは
必要に応じて差額を支払い、通常版に
アップグレードすることが可能なのでしょうか?
無理なら、最初から通常版を買うつもりです。
技術的な質問でなくて申し訳ありません。
0517デフォルトの名無しさん
NGNG通常版って?次のバージョンにアプグレドしたいの?
アカデミックだからと言って機能制限はなかったはず。。。
俺のはアカデミックプロ版だよ〜
0518デフォルトの名無しさん
NGNGレスありがとうございます。
通常版とは、アカデミックでない
7〜8万円くらいで売ってるもの、という意味でした。
僕が欲しいのはプロフェッショナルですが
アカデミック版では、商用利用が出来ないと
聞いています。
当分、シェアウェアなどを制作する予定はないのですが…
もしも、そうなった時に買い直すのも馬鹿らしいですし。
0520516=518
NGNGアカデミックを商用利用してる人
って結構いるんでしょうか?
どっちにしろ、差額払っての
通常版へのアップグレードが出来るか
どうかは知りたいところです。
//検索はしているんですが、なかなか見つからない(TT)
0521デフォルトの名無しさん
NGNG商用もok
た
0522デフォルトの名無しさん
NGNG> アカデミック版では、商用利用が出来ないと聞いています。
誰から?
0523516=518
NGNG高校の時の友達っす。
今、思い返すとデタラメだったのかも…?
さっき、VC++持ってる近所の
友達にアカデミックの使用許諾契約書
を見せてもらいました。
難しく書いてあって、良く分からないけど
コンパイルしたものを売っちゃイカン…
みたいな事は書いてなかったです。
でも、どうなんだろ?
コードのすべてに〜の記述を含めなければいけません、とかあったし。
アカデミックと通常版の違いを書いたものが無いってのが…鬱。
0524デフォルトの名無しさん
NGNG0526がんばれや
NGNG怒りが頂点にたっしました。
VC++を買うのを止めてBCBプロフェッショナル
を買おうと思います。
しかし、あの価格差は呆れちゃいますね。
0527デフォルトの名無しさん
NGNGご怒りはごもっとも。
visualstudioのエンタープライズが
アカデミックなら4万弱ぐらいだよね。
VC++一般版プロフェッショナルより
はるかに安いもんね。
0528デフォルトの名無しさん
NGNG次に入ったところで「拡張子に関連したコンパイルツールが無い為にコンパイル出
来ません」と出てしまいました。対処法を教えてください。
--------------------------------------------------------------------------------
0529デフォルトの名無しさん
NGNG誰だてめえ。
このスレは貴様のために回ってるわけじゃねえんだから「昨日の件」で通じる
わけねえだろが。おととい来やがれ。
0530528
NGNG0531>529
NGNG0532デフォルトの名無しさん
NGNG4/10点
0533528
NGNG重ねてのミス、大変失礼しました。
0534デフォルトの名無しさん
NGNGcommand: stop
msgbox: warningbox
msg_titile: 開発者へ
msg_str: あなたの動かしているデバッガが2chに来て
msg_str: 対話デバッグしてますよ
command: popup
command: restart
0535528
NGNGつまりどういう意味ですか?
0536デフォルトの名無しさん
NGNGSetLocalTime関数を使用しています
Helpを見るとSE_SYSTEMTIME_NAME 特権を有効にしなければならず、
この特権を割り当てるには、AdjustTokenPrivileges 関数を使いますが、
AdjustTokenPrivilegesのパラメータの意味がまったくわかりません
教えていただくか、別の方法を教えてください
0537デフォルトの名無しさん
NGNG待て待て待て。
同じ板でマルチポストするな。
新手の荒らしか?
0538デフォルトの名無しさん
NGNGProgramming - Tipsを検索すれば、それなりに解説が出ているかと。
0539名無し
NGNG0540デフォルトの名無しさん
NGNGUSBマウスの接続イベントをとるには
どうすればいいのでしょう?
DEVICE_NOTIFY_SERVICE_HANDLEをして
とりたいのですが?
特にGUIDあたりがさっぱりわかりません.
0541デフォルトの名無しさん
NGNG0542デフォルトの名無しさん
NGNG一度起動した後、二度目に起動するとアイコンなどにマウスを乗せた瞬間や、
そのままマウスを待機させてツールチップが出る瞬間にAccess Violationが
でて強制終了してしまいます。
一度AccessViolationが出ると、デスクトップの他のアイコンにマウスを乗せるだけで、
Exploreが強制終了してしまって再起動しなければならなくなります。
メニュー項目に対応するSTRINGテーブルなどはツールチップも含めて、
ちゃんと設定できていると思います。
プログラムの構成なのですが、App、MainFrame、ChildFrame、Document、Viewといった
標準的なクラスに加えて、CFrameから派生したものと、CWndから派生したものの、
独自のウィンドを複数追加しています。
newで作成したCWndは親ウィンドのデストラクタでDestroyWindow()とdelete()を使って
後処理していますが、これが原因でしょうか・・・。
原因不明のまま、とりあえず他の関係ない部分のコードを追加していると
突然エラーがでなくなったりします。
何が原因で発生しているバグだと思われますでしょうか。
0543デフォルトの名無しさん
NGNG0544542
NGNG例えば、CWndオブジェクトへのポインタがm_Wndだったとすると、
m_Wnd->DestoryWindow();
delete(m_Wnd);
と親ウィンドウのデストラクタで後処理しています。
これは通常の事後処理でしょうか。
ただDestroyWindow()がいらないのかなぁ、と思ってこの行をコメントアウトしてみても、
やっぱりAccessViolationがでています。
0545デフォルトの名無しさん
NGNGCWnd派生クラスをdeleteするときは、そのウィンドウ自身の
PostNcDestroy()を使うのが通常のやりかたでなかった?
0546デフォルトの名無しさん
NGNGスタティック変数やグローバル変数の場合は警告が出ません。
プログラム中で使用されているか調べる方法ってありますか?
変数をコメントにしてコンパイルしてみる。
スタティック変数の場合エディタで static を auto に置換してコンパイルした後で
auto を static に置換する。( auto は使われていない場合 )
検索機能で変数を調べてみる。
くらいしか思いつかないんですけども簡単な方法ってありますか?
0547デフォルトの名無しさん
NGNG正確だが少々面倒な方法なら、ある。
MSDN で「BSCMAKE」もしくは「ブラウズ ファイル」を調べてみれ。
0548542
NGNGはい。
PostNcDestroy()で
delete(this);
とするように書いてますね・・・。
どこをいじればこのバグがなくなるか色々試す中で、
PostNcDestroyではなく親ウィンドのデストラクタでdeleteしてやれば
エラーが出なくなったことがあったんですが、
どうも因果関係がはっきりしないのでWndのdeleteの問題ではないようです・・・。
この部分は指摘していただいたようにPostNcDestroyでdeleteするようにしてみます。
ありがとうございます。
また別のコードを追加していたらバグがでなくなりました。
もうほとんど完成です。でもなんかすっきりしない。(´д`)マズー
0549デフォルトの名無しさん
NGNG0550デフォルトの名無しさん
NGNG0551デフォルトの名無しさん
NGNGCの標準ライブラリ(VC++6.0付属のもの)を開いてみても中ではプロトタイプ宣言やマクロの定義しかしていないようにみえるのですが、処理はどこにかかれているのですか?
0552デフォルトの名無しさん
NGNGうちのVS6.0エンタ版のインストールフォルダには
VC98\CRT\SRCってフォルダがあって、
そこに標準ライブラリのソースが並んでるが。
0553デフォルトの名無しさん
NGNG実は >>551 はヘッダとライブラリ, インポートライブラリの区別がついていないに 6 ガノッサ。
0554A
NGNGリソースエディタにはサブフォーム(VBでいうGrid
がないです。
どうやればいいでしょうか?
0555デフォルトの名無しさん
NGNG0556デフォルトの名無しさん
NGNGGetKeyState
0557555
NGNGGetKeyState(VK_RBUTTON)<0
ですがコンソールではうまくいかないようです
0558デフォルトの名無しさん
NGNGGetAsyncKeyState
0559555
NGNGありがとうございます
0560デフォルトの名無しさん
NGNG0562デフォルトの名無しさん
NGNG0563デフォルトの名無しさん
NGNGでエラーが発生してコンパイルできないのですが、
どこがいけないのでしょう?
今は直接代入せずにlstrcpyを使っていますが、美しくないので直したいのですが(^^;
0564563
NGNGstatic char tag_head[12][5] =以下略
で5の部分を8以上の数にしても通りません。
0565sage
NGNGにしてみろ
0566デフォルトの名無しさん
NGNG細かい部分がちゃんと動いているか、
コンソールか何かに、値を表示させたいのですが
どうすればいいのでしょうか?
0567デフォルトの名無しさん
NGNG0568デフォルトの名無しさん
NGNG0569デフォルトの名無しさん
NGNG今ひとつ意味が分からないです。
0570デフォルトの名無しさん
NGNG0571デフォルトの名無しさん
NGNGcomplie error at 2ch.c at 570
プロシージャの意味が曖昧です。
WndProc()
それともVBで言う手続き?
0572デフォルトの名無しさん
NGNG0573戸牛郎
NGNGぼくぁ WinMain のローカル変数に実体とってるよ>メインクラス。
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE, LPSTR lpCmdLine, int)
{
if (!ACLASS::Init(hInstance)) return 0;
ACLASS a;
return a.Run();
}
0574デフォルトの名無しさん
NGNG俺は ATL の CWindowImpl クラスを使ってるけど。
0575デフォルトの名無しさん
NGNG・NULL を指定することはできません。
・半角スペースで終わる文字列を既定の文字列として指定することは避けてください
となっています。
じゃ、デフォルト文字列を NULLとしたい場合、どうすれば良いんでしょうか。
とりあえず、
::GetPrivateProfileString(...,"\v",buffer,...
if(buffer[0]=='\v' && buffer[1]=='\0') buffer[0]='\0'
とかやってるんですが。何か美しくないような...
lpDefautに NULLを指定しても動いてしまいますが、禁止されてるようだし。
レジストリを使え!とか言わずにご教授ください。
0576デフォルトの名無しさん
NGNGん??なんか勘違いしてないか?普通に
GetPrivateProfileString(...,"",...
でいいじゃん。関数の引数をNULLにするなってことなんじゃないの??
0577デフォルトの名無しさん
NGNG文字列を与えないことと、空の文字列を与えることは違うのです。
0578575
NGNGありがとうございます。勉強になりました。
0579デフォルトの名無しさん
NGNG精進スレ
0580デフォルトの名無しさん
NGNGファイルを読み込んだり,書き込んだりするプログラムを作りたいのですが
どういうクラス?関数?があるのでしょうか?
0581デフォルトの名無しさん
NGNG0582デフォルトの名無しさん
NGNG0583デフォルトの名無しさん
NGNGVC++ 以前の問題として、まず「プログラミング言語C」「プログラミング言語C++」読んどけよ。
Win32 API 使って読み書きしても良い(それが必要になる場面もある)が、標準ライブラリ関数
知らんのは論外。
0584デフォルトの名無しさん
NGNG>VC++ 以前の問題として、まず「プログラミング言語C」「プログラミング言語C++」読んどけよ。
Win32APIに近いレベルの方がいろいろできると思ったので。
uxixと同じやり方でいいんですか?
0585デフォルトの名無しさん
NGNG0586デフォルトの名無しさん
NGNGだが、いちおうコードの移植もしやすいように、
K&Rに載っている程度のシステムコールはランタイムライブラリとして提供されている。
ランタイムライブラリは最終的にWin32APIを呼び出して処理を完了させるが、
いまどきのPCは処理性能がよいため、呼び出しにかかるコストはそれほど
変わらない。
いろいろできるかどうか、であれば、Win32APIを直接呼ぶ方がいろいろできる。
が、ここでそんなしょぼい質問をしてるレベルだと、ランタイムを使おうが
APIを使おうが大差ない。
MFC/iostreamも然り。
0587デフォルトの名無しさん
NGNG醜い仕様に唖然です
結局のところ、どのように書くのがwinpgでは一般的なのでしょうか?
0588デフォルトの名無しさん
NGNG自分流が一番ってことか
0589デフォルトの名無しさん
NGNGうるせー馬鹿。C言語を前提としてるから仕方ねーんだよ。俺はけっこうキッチリまとまってると思うぞ。
0590デフォルトの名無しさん
NGNG言語は適材適所。
GUIだってVBでもVCでもDelphiでもHTMLでもなんでもいいよ。
0591デフォルトの名無しさん
NGNGキャストを多用せざるを得ない API のインターフェースは、どうかと思うが。CreateMenu の 9 番目の
引数 (hMenu) とか、さすがに辛いだろ。
0592デフォルトの名無しさん
NGNG過去との互換性を保ちつつ、無理矢理に機能拡張してきたからな・・・
仕方ないものと考えるしか。
しかし const は、ちゃんと指定して欲しかった。
いちいち const_cast で const 解除するのが何かとイヤだ、、、
0593デフォルトの名無しさん
NGNG実例があったら教えてくれ。
0594デフォルトの名無しさん
NGNG俺が思いつくのは DrawTextEx(), VariantCopy() あたりだが。
0595デフォルトの名無しさん
NGNGこの場合ファイルサイズが小さくなった時にゴミデータが末尾に残ってしまいます。
そこでtruncate()関数を使ってファイルを切り詰めようと思ったのですが、
unistd.hはUNIX系のみなのかVC6ではサポートされていないようなのです。
扱うファイルのファイルサイズが巨大で一部のみを編集するので書き込み用のファイル
を別にオープンするといったことは避けたいのですが、いいアイデアはないでしょうか?
もしくはソースコードを公開されてるバイナリエディッタとかがあればソースを読んで勉強しますが・・・
(Bainary maidは出力用のファイルを別にオープンするタイプだったので参考にならず(^^;
0596デフォルトの名無しさん
NGNGMFCのCFile::SetLength()のソースを見てみたら、
SetEndOfFile()というAPIを呼んでるみたいだよ。
そういえばMS-DOSにもtruncateがなくて、そのかわりwriteで0バイト出力を指定すると
ファイル切り詰め動作になったんだよねー。なんだよそれわって感じ。なつかしい。
0597デフォルトの名無しさん
NGNGプログラムの進行と同時に 状況をエディットビューに表示させ続けてます
しかし 限界がきたようで途中から書き込みを止めてしまいました
随時表示するには 以前に表示したものを消さないといけないと思うのですが
エディットに書かれた最初の部分にさかのぼり 消すのは どうしたらいいですか?
よろしくお願いします
0598デフォルトの名無しさん
NGNGどうすればいいのか教えていただけないでしょうか?OnInitDialogのなかで、
ShowWindow(SW_HIDE)を実行してもうまくいきません。
よろしくお願いします。
0599デフォルトの名無しさん
NGNG以前は普通にコンパイルできていたのですが以下の様なメッセージが出て
きてコンパイルできなくなりました。どうしたことでしょう?
--------------------構成: Cpp1 - Win32 Debug--------------------
コンパイル中...
cl.exe の起動エラー
Cpp1.exe - エラー 1、警告 0
環境はWin2000です。以前はWinをインストールしたドライブ(C)にインストール
していたのですが、それをアンインストールして増設したドライブにもう一度
インストールし直したのがまずかったのかな???
0600デフォルトの名無しさん
NGNG質問者が同じ人だったら悪いけど…一応、前スレの最後の方で話題になってたよ
0601598
NGNGレスありがとうございます。
多分前スレ938の事だと思いますが、あれはMFCを使わないプログラムの
事だと思います。MFCのダイアログベースでのやり方を教えていただき
たいのですが。言葉足らずですみません。
0602名無し募集中。。。
NGNGMFCというかウィザードでダイアログベースのアプリの場合でしょ?
出来上がったプロジェクトのrcファイルの中に↓みたいなのがあるからこれを書き換えなよ。
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
EXSTYLE WS_EX_APPWINDOW
WX_EX_APPWINDOWEXSTYLE を WS_EX_TOOLWINDOW にするだけ。
別のやり方としてウィザードが作ったダイアログを消してから新規リソースでダイアログを
追加すればリソースのプロパティでTOOLウィンドウをチェックすればOKなんだけどね。
0603名無し募集中。。。
NGNGWX_EX_APPWINDOW を WS_EX_TOOLWINDOW にするだけ。
簡単でしょ?
0604名無し募集中。。。
NGNGその状態でShowWindow(SW_HIDE)すること。
ウィルスは作るなよ。
0605デフォルトの名無しさん
NGNGよろしくお願いします。
ダイアログベースのプログラムで、メインのダイアログから
子ダイアログをDialogBox関数で呼び出した時、
子ダイアログがメインダイアログの外に出ないようにしたいのですが
どうすればいいのでしょうか?
ヘルプで探しても、私の探し方が悪いのか全然関係ないものばかりが
大量に検索されて全然見つかりません。
よろしくお願いします。
0606601
NGNGレスありがとうございます。
rcファイルのWS_EX_TOOLWINDOWに修正したのですが、たしかにタスクバーには
アイコンが出なくなったのですが、依然としてウィンドウは表示されたままです。
ShowWindow(SW_HIDE)を実行してもウィンドウは消えないのです。
起動時以外ならばうまくいくのですが、起動時だけはどうしてもうまくいきません。
0607デフォルトの名無しさん
NGNG起動時ってどのタイミングだ?
CWinApp::InitInstanceのタイミングだったら何をやっても無駄。
CDialog::InitDialogでもダメ。
最初のCDialog::OnPaintのタイミングでShowWindowすれば、
WM_EX_TOOLWINDOWに関わらず消えるはず。
ただし、一瞬だけ表示されるけどな。
0608デフォルトの名無しさん
NGNGDialogBox関数って何?MesageBoxじゃないの?
>>606
起動時だけ非表示にしたいのか?動作中ずっとじゃなくて?
どっちにしてもリージョンをいじればいいとおもうけどね。
0609デフォルトの名無しさん
NGNGおー、DT_MODIFYSTRINGの時だけ書き換えの可能性有りなのね。
const_cast使うしかないな。
ただのDrawTextで満足してたから気付かなかった。
VariantCopyは使う気ねーから(゚ε゚)キニシナイ!!
0610594 (!= 592)
NGNG俺も DrawTextEx は滅多に使わないなぁ。VariantCopy は ATL の CComVariant とか介して使うのが
普通だから、こっちはまったく困らない。
Win32 API だと reinterpret_cast は多用せざるを得ないけど const_cast はほとんど必要ないと思う。
0611599
NGNG起きないのか。それともそんな状況になったことがないからレスしようにもできない
のかどちらか教えていただけませんか?
0612デフォルトの名無しさん
NGNG単に cl.exe にパスが通ってないんじゃ?
0613599
NGNGその証拠にコマンドプロンプトでは普通にコンパイルできるんですよね。
0614sage
NGNG0615599
NGNGありがとうございました。
関係ありそうなところをすべてインストールしたドライブに変更したところ
うまくいきました。
あなたはわたしにとって神です。
0616デフォルトの名無しさん
NGNGそのときの回答がHP猫でものオーナードロウボタンの項目だったのですが
そこに載っていたのはボタンが1個の場合でした。
複数のボタンにそれぞれ違うBMPを貼り付ける場合のHPありませんか?
もしくは、書きこみで教えてー
0617デフォルトの名無しさん
NGNGBM_SETIMAGEメッセージを全部のボタンに送れごるぁ
0618617
NGNGHBITMAP hb=LoadImage(............);
HWND hbtn=GetDialogItem(hDlg,IDC_BUTTON1);
SendMessage(hbtn,WM_SETIMAGE,(WPARAM)IMAGE_BITMAP,(LPARAM)(HANDLE)hb);
MFC?そんなものは知らん。
0619taka
NGNG初心者なのでわからないこといっぱいで・・・
0620デフォルトの名無しさん
NGNG0621デフォルトの名無しさん
NGNG0622デフォルトの名無しさん
NGNG俺は塩胡椒派だが何か?
0623デフォルトの名無しさん
NGNG0624616
NGNG助かりました。
0625619
NGNG助かりました。
0626デフォルトの名無しさん
NGNG現在のブレークポイントを全部無効にする方法ってありますか?
前回のブレークポイントを無効にし忘れていると関係無いところで停止してウザイです。
複数あると止まりまくりです。
なんとかなりませんか?
0627デフォルトの名無しさん
NGNGツールバーでやれ
0628デフォルトの名無しさん
NGNGCTRL+B
0629デフォルトの名無しさん
NGNG0630デフォルトの名無しさん
NGNGとりあえずチュートリアルでもやれ。
0631デフォルトの名無しさん
NGNG出来るようになったらフェイントも混ぜながら、もう10セット
0632デフォルトの名無しさん
NGNG休日もマウスをもってかえって素振りしとけ。
0633デフォルトの名無しさん
NGNGゴミ箱もちゃんと空にしておけよ。
0634616
NGNG後ろのデスクトップやウィンドウが見えるようにしたいのです。
0635デフォルトの名無しさん
NGNG砂ケシを使うとか、セロテープを貼って剥がしてとか
0636デフォルトの名無しさん
NGNG0637616
NGNG透かすことはできますか?(選択部分はまるとかじゃなく複雑なかたち)
0638デフォルトの名無しさん
NGNG0639デフォルトの名無しさん
NGNGマスクパターン作って下の画像を加工。
0640616
NGNGたびたびすいません、もうちょい詳しくお願いします。
まずはBMPのマスクパターンをつくることですよね。
そしてそのBMPの表示したくない部分はどうやったら
表示しないでウィンドウなどに貼り付けたりできるんで
しょうか?
0641616
NGNGようはBMPの背景を消したい(透明に)ってことなんですが。
色々調べた結果BitBltの最後の値をどうにかするってことなんでしょうか?
0642デフォルトの名無しさん
NGNGそれとも「丸い透明」というオブジェクトがあって、その下の絵が消えて
下の下の画像が見えるとか。
0643デフォルトの名無しさん
NGNG「下の画像を消す」という考えは捨てて
「下の画像の上に下の下の画像を書けば透明になったように見える」
という考えに切り替えましょう。
四角以外の形にする場合はマスクパターンが必要。
形が固定で移動しないモノなら下の下の画像から切りぬいて作った
別のBMPを書けば良い。
「擬似透明」という手法です。
0644デフォルトの名無しさん
NGNGあるCOMクラスCoにインターフェイスIAとインターフェイスIBを持たせるとしますよね。
ATLの場合CoをIAとIBから派生させることになりますよね?
この場合、IAとIBに同じ名前のメソッドやプロパティを持たせようとすると
多重継承の問題からかVC++に蹴られてしまいます。
これはプロパティやメソッドというものは、あくまでCOMオブジェクトCoに属するものであり
IAやIBに属するものでは無い、と認識しろという事なんでしょうか?
0645616
NGNG変な形のウィンドウをつくりたいのですが
その元としてBMPをつかってるのですがそのBMPそのまま
で作ったら四角なのでその背景の部分が後ろを見える状態にしたい
ってことです。
0646デフォルトの名無しさん
NGNGVCのリソースのBMPではやったことないなあ。
BMPファイル(VCのリソースのBMPとは別物)を読みこんで
PENで透明コードは書かない、という処理をしてた。
0647616
NGNG0648デフォルトの名無しさん
NGNGボタンじゃなくて、ウィンドウ自体を変な形にしたいなら、
googleで「非矩形ウィンドウ」で検索しよう。
0649616
NGNGttp://nt.sakura.ne.jp/~miwaki/progtips/misc/creatergnfrombmp.shtml
ながすぎてよくわからないけど、これのとおりやってみます。
0650デフォルトの名無しさん
NGNG0651デフォルトの名無しさん
NGNGできればヒントおしえてください。
0652651
NGNGMFCでいきます。
0653デフォルトの名無しさん
NGNGオーナードロー
0654デフォルトの名無しさん
NGNG複数のボタンに複数のボタンを貼り付けできますか?
0655デフォルトの名無しさん
NGNG意味不明
0656デフォルトの名無しさん
NGNGインターネットをやって面白かったのですが最近飽きたのでプログラミングをやってみようと思いました。
VCが欲しかったのですが友人がJavaってのしか持ってなかったのでそれを貰いました。
プログラムするのにDOSというソフトが必要らしいのでインターネットで検索して探したんですが情報は結構あるんですがダウンロードできる場所が見つかりません。
何処でダウンロードできますか?
メーリングリストで質問してみたのですが回答がもらえませんでした。
2チャンネルの人は詳しそうなので誰かダウンロード先を教えて頂けないでしょうか?
パソコンはiMacのオレンジ色です。
プログラミングを勉強してインターネットのような便利なソフトを作って自分を馬鹿にしていた人達を見返してやろうと思っています。
マンガ喫茶でのバイトが終わってから見にくるのでそれまでに解凍していただけると嬉しいです。
0657デフォルトの名無しさん
NGNG1.まず、長くて丈夫な縄を用意します。
2.縄の先に直径30cmくらいの輪を作って結びます。
3.その輪を地上2mくらいの高さに吊します。
4.輪の中に頭を突っ込んで思い切りぶら下がってください。
0658デフォルトの名無しさん
NGNGマジレスしてやる。ありがたく思え。appleのサイト逝って、
MRJとMRJ SDK拾ってきて入れろ。それで終わり。あ、それと、Mac
ユーザって判っててWinのSDKくれた友達は切った方がいいよ(w
0659デフォルトの名無しさん
NGNG0660デフォルトの名無しさん
NGNG↑
この一文だけでも文才があるな。ネタスレ立ててみれば?>656
0661デフォルトの名無しさん
NGNG↑
芸術点加算
0662デフォルトの名無しさん
NGNGそれで質問があるのですが、
class _PAPA;
class _MAMA;
class _MUSUKO;
class _MUSUKO{
list<_PAPA>::iterator papa;
list<_MAMA>::iterator mama;
};
class _PAPA{
list<_MUSUKO> musuko_list;
};
class _MAMA{
list<_PAPA>::iterator papa;
list<_MUSUKO>::iterator musuko;
};
という感じの記述がg++ではさっくりコンパイルできたのですが、
VC++では『コンパイルされたクラスのテンプレートのインスタンス化が云々・・・』という
エラーが出て通りません。なぜ駄目なのかはなんとなく分かるんですが
(こうだ!という説明はできませんが・・・)、g++で通るのでなんとか
このままVC++でも通せないかと淡い期待をしています。
なんとかならんもんでしょうか。
0663デフォルトの名無しさん
NGNG↑
ケースの色をさりげなく披露している。
ボンダイブルーでないところで、さらに芸術点加算
0664デフォルトの名無しさん
NGNGhttp://pc.2ch.net/test/read.cgi/hp/1003050159/
0665デフォルトの名無しさん
NGNGやはり偉大な先人というものはどの分野にもいるものだな
0666デフォルトの名無しさん
NGNG>メーリングリストで質問してみたのですが
ここで質問する前に試行錯誤のあとが見られる。
技術点も加算。
これはかなりの高得点が期待される。
0667662
NGNGついでにもう一つ質問があります。
for(int i=0; i<10; ++i) hogehoge(i);
for(int i=0; i<10; ++i) hogehoge2(i);
という記述は、iが二重に宣言されてると言われて
VC++ではエラーになります。g++では通るのに。
変数のスコープ違うんですか。もういやん。
(g++がゆるいのかな。-Wallでも警告出ないのに。)
0668デフォルトの名無しさん
NGNGそれはVCがクロです。古い仕様に基づいてるんで。
0669デフォルトの名無しさん
NGNGiteratorがポインタだと限らない。
>>667はVCが古いからそういうことになってるだけ。
#define if (0) ; else for
このマクロで回避
0670662
NGNG>>667の件は了解です。自分のせいなのかコンパイラのせいなのか
判らないのが一番辛いので、こうはっきり言ってもらえると助かります。
>>662の件はやはり設計から考え直さないといけないのでしょうか。うぅぅ。
そこをなんとか・・・。(この場合はg++の方がいい加減ということですね?)
0671nori
NGNGこのプログラムは実行できないと表示されてしまいました。
dosモードでの実行は出来ないものなんですか?出来ると
したらどのような方法があるのでしょうか?
0672デフォルトの名無しさん
NGNG32bitプログラムはDOSモードでは実行できない。
VCでは32bitプログラムしか作れない。
0674デフォルトの名無しさん
NGNGVC++1.51までな。
いっとくけど、コンソールアプリ!=DOSアプリだからな。
0675デフォルトの名無しさん
NGNGもし、単に papa, mama が参照できれば良いのなら
class _MUSUKO {
_PAPA* papa;
_MAMA* mama;
};
iterator 必須ならポインタにする。解放し忘れるのを防ぐため auto_ptr にしておくと吉。
class _MUSUKO {
auto_ptr<list<_PAPA>::iterator> papa;
auto_ptr<list<_MAMA>::iterator> mama;
};
どうでもいいが _PAPA, _MAMA, _MUSUKO なんていうのは属性であって、それ自身をクラス化する
対象ではない気がする。たとえばゲルマニクスのインスタンスを作ると、カリグラの父でありドルスス
の息子ということで、_MUSUKO と _PAPA を多重継承するのか?
むしろ
class Person {
Person* father;
Person* mother;
list<Person*> childs;
};
とでもモデル化したほうが良いと思うが。
0676デフォルトの名無しさん
NGNGそんなマクロ始めてみた。便利そうだ。貰うYO。
0681デフォルトの名無しさん
NGNGおもうのですが、できれば文化オリエントの
Spreadみたいなのを開発したい。
可能ですか?
0682デフォルトの名無しさん
NGNGtry{
・
・
・
}catch(CException* e){
・
・
・
・
}
0683デフォルトの名無しさん
NGNGclass _PAPA に
list<_MAMA>::iterator mama;
が抜けています。
0684デフォルトの名無しさん
NGNGCException が MFC クラスなんで、当然ダメっす。
0685デフォルトの名無しさん
NGNGVC++には可能。君に出来るかどうかは知らん。
0686デフォルトの名無しさん
NGNG自分でCExceptionを定義すれば可能(笑
つぅか、682はC++の入門書買えって。
0687ika
NGNGclass OriginalTextBox{
HWND hwnd;
public:
OriginalTextBox(HINSTANCE hInstance,HWND hPWnd,char* classname);
static LRESULT CALLBACK WndProc(.....);
}
宣言はこうやっているのですが、こうやってやるものですか?
あとはプロシージャで振る舞いを定義すればよいのですか?
0688デフォルトの名無しさん
NGNGこの意味教えてもらえませんか?
0689デフォルトの名無しさん
NGNG#define for if(0);else for
じゃないのか?
0690デフォルトの名無しさん
NGNG0691デフォルトの名無しさん
NGNG意味はねえ〜、VC++6.0のバグを回避するおまじないだよ
0692ika
NGNG今日は、WinMainのLoadStringから上全部が意味不明なパスに置き換わり、氏にました。
クソです。
0693デフォルトの名無しさん
NGNG漏れはなったこと無い。まずは自分の環境を疑え。これ鉄則。
0694デフォルトの名無しさん
NGNGこわー
忌まんと子経験内が
他に経験社員の?
自作パソコンが
不安定とかじゃなくて?
0695デフォルトの名無しさん
NGNGそんな経験ないなぁ。
VC++のバージョンは?サービスパックインストールしてる?
なんとなく他に原因がありそうな気がするが。
NTなのにいきなり電源落としてるとか。
0696ika
NGNGその前は重要なクラスのcppが消失しました。
>695
そういえば今日は、ビルド直後、そのアプリのせいで2kが落ちました。それで電源切りました。
なぜNTだとまずいんですか?
0697デフォルトの名無しさん
NGNG漏れの環境だけかなあ。ちなみに、マシンは98。
0698デフォルトの名無しさん
NGNG知識もないのに、クロックアップとかしてんだろ。
コンパイラは処理きついんだから、マージン食いつぶせばそうなる。
0699ika
NGNG>698
DELL出荷時の設定そのままです。
0700デフォルトの名無しさん
NGNGwin2kだと、たまにあるよ。
プロジェクトの入ってるディレクトリをIEで開きっぱなしにしてると、
ビルド時におかしなことになりやすい。
SP最新のを当ててもダメ。
IEをこまめに閉じておけば、かなり確率が減る。
まあ、それとは別に、
backup用のバッチを書いて、ことあるごとに
ぽちぽちバックアップすることを勧めるよ。
0701ika
NGNG>IE開きっぱなしで消える
何が原因なんでしょう。VCとIEにどんな因果関係が?
0702デフォルトの名無しさん
NGNG↓
ファイルの自動保存が走る
↓
クラスブラウザがソースを舐めはじめる
↓
VCがディレクトリを変な形でロックする
↓
IEが更新を察知してなんか表示しようとする
↓
ソースブラウザの更新作業とか
ぐるぐるマウスとかIMEとかウイルスチェッカとか
いろんなのが同時になんかしようとして固まる
↓
なぜかファイル消える
↓
Σ(゚д゚lll)ガーン
0703デフォルトの名無しさん
NGNG近親相姦関係
やり、やられ
0704ika
NGNGこれからは用心して開発を行います。
どうもありがとうございました。
0705デフォルトの名無しさん
NGNGそうなんだよー、これかなり痛い
俺もこれが原因でたまにVCが逝きます
逆にコンパイル中でもファイル編集できるから便利つっちゃー便利なんだけど
0706デフォルトの名無しさん
NGNG> その前は重要なクラスのcppが消失しました。
Win2k + VC6 だけど、たまにあるな、これ。あとファイルを書き換えてからビルドしようとすると「ファイルが
書込み禁止です」と怒られ、もう一度ビルドを実行すると通ったり。
いずれにせよ、バージョン管理ツールを使ってこまめにリポジトリに登録していれば、ファイルが消えた場
合の被害は極小に抑えられます。VSS か CVS + Igloo (CVS の VS 用 plugin) あたりを導入することを
強くお勧め。
Igloo
http://www.jalindi.com/igloo/
0707デフォルトの名無しさん
NGNGXPだとどうなんだろ?Meからアップグレード予定なんだけど。
0708デフォルトの名無しさん
NGNG0709デフォルトの名無しさん
NGNG0710デフォルトの名無しさん
NGNGVC++立ち上げると禿げしくリソース消費するのは痛いが。
MSDN、DirectXヘルプ、VC++でシステムリソースの残りが10%以下だったり。
XP導入しようかと思ってたけど、このスレ読んでたら不安になってきた。
0711デフォルトの名無しさん
NGNG0712デフォルトの名無しさん
NGNGどうかを知るにはどこを見たらよいのでしょうか?
0713デフォルトの名無しさん
NGNGcl.exe のバージョンを見る、とか?
0714712
NGNGSP2はたしか2001年4月ぐらいでしたよね?となると全然当たってないって
こと?
0715デフォルトの名無しさん
NGNG漏れSP5当ててるけど、cl.exeはそのバージョンだったYO
0716デフォルトの名無しさん
NGNGスマソ、ちなみに VC98\Lib\WS2_32 は98年5月13日とかになってます?
0717662
NGNG以下のようなものを書きました。
#include <list>
#include <memory>
using namespace std;
class _musuko{};
int main(int argc, char **argv)
{
list< auto_ptr<_musuko> > mlist;
mlist.push_back(auto_ptr<_musuko>(new _musuko));
return(0);
}
すると今度はVC++ではさっくり通りましたが
g++でコンパイルしようとすると
/usr/include/g++-3/stl_construct.h: In function `void construct<auto_ptr<_musuko>,
auto_ptr<_musuko> >(auto_ptr<_musuko> *, const auto_ptr<_musuko> &)':
/usr/include/g++-3/stl_list.h:293: instantiated from `list<auto_ptr<_musuko>,
allocator<auto_ptr<_musuko> > >::_M_create_node(const auto_ptr<_musuko> &)'
・・・
のようにごそっとエラーが来ます。
何を信じればいいんでしょうか;;。
#書き方が悪いのは自覚しているんですが・・・。
0718デフォルトの名無しさん
NGNG0719デフォルトの名無しさん
NGNG根拠を尋ねてよろしいですか?
0720デフォルトの名無しさん
NGNGlistやvectorがauto_ptrを内部でコピーしないという
保証はない。
ツーか、vectorなんか確実にコピーする。
sortなんかのアルゴリズムを適用したときどうなるか
ない知恵を絞って考えてミロ。
0721デフォルトの名無しさん
NGNG言いたいことが良く分からんので、ちょっと分かりやすいように書き直していただけません?
> 23 Containers library
> 23.1 Container requirements
> 3 The type of objects stored in these components must meet the requirements of CopyConstructible
> types (20.1.3), and the additional requirements of Assignable types.
> Assignable types
> -------------------------------
> expression : t = u
> return type : T&
> post-condition: t is equivalent to u
これの post-condition に抵触すると言いたいのかなぁ。
> sortなんかのアルゴリズムを適用したときどうなるか
> ない知恵を絞って考えてミロ。
すくなくとも auto_ptr なら
tmp = b;
b = a;
a = tmp;
みたいなコードは、問題ないよね。
0722662
NGNGVC++の方がゆるいということでしょうか。
それともg++が親切なのかな。
でも
list<_musuko*> mlist;
mlist.push_back(new _musuko);
これは解放が面倒でうれしくないなぁ・・・。
でもポインタのリストにしないと
class _musuko;
typedef list<_musuko> _musuko_list; // 実体のリストの場合
typedef _musuko_list::iterator _musuko_itr; // (*1)
class _musuko{ ... };
(*1)のところでVC++がコンパイル通してくれないし(g++は通る)・・・。
はふぅ。
0723721
NGNG読んだらまとめ書くよ。
0724721
NGNG> ということはこの場合はコンパイルが通ってしまう
> VC++の方がゆるいということでしょうか。
ということらしい。
実際 sort() の中で値をコピーして使ってる実装もあって、それだと sort() した結果として値が壊れて
しまう。回避策としては、所有権を管理する auto_ptr ではなく、参照回数計測で管理するスマートポイ
ンタ (たとえば Boost.org にある boost::shared_ptr とか) を使えば OK とのこと。
Boost.org
http://www.boost.org/boost/
0725デフォルトの名無しさん
NGNGput(char*)
よりも
write(const char *buf,int streamsize num)
を使ったほうがいいんですよね?
その時、num(バッファサイズ)はどれくらいがいいのでしょうか?
環境はVC++6.0です
0726デフォルトの名無しさん
NGNG0727あぼーん
NGNG0728デフォルトの名無しさん
NGNGをするクライアントのプログラムを作りたいのですが、POSTメソッド
で接続しないといけないようです。しかし、POSTでのパラメータの送
信の仕方がわかりません・・・・。(かなり初心者・・・)
教えていただけませんでしょうか。あるいは参考書籍を。。。
0729デフォルトの名無しさん
NGNGWin32API使っても、それをラップしたクラスを使っても
変わらないだろ
というかネタか?
0731age
NGNG0732デフォルトの名無しさん
NGNGIE4.0以上が入っていれば大丈夫だと思うっす。
0733デフォルトの名無しさん
NGNGMemoryMappedFileを使うと速くなるらしい。
API質問スレを検索してね。
0734730
NGNG0736デフォルトの名無しさん
NGNG居れも初心者で厨房発言かもしれないでど
ポート80のhttpのプロコトル無視したサーバープログラム組んでみそ。
そしてブラウザで
<form action="http://localhost" method=post>
<input ,,,,,,
</form>
とゆう具合にアクセスしてみ
ブラウザどのようにサーバーとやり取りしてるかわかるから。
0737デフォルトの名無しさん
NGNGなぜRFCを読みませんか?
0738デフォルトの名無しさん
NGNG0739728
NGNGすみません、プロトコルが分からないのではなく、VCの使い方がわからないのです・・・。
AddRequestHeaders()でヘッダーは変えるとして、送るデータはどうしたら・・・?
0740デフォルトの名無しさん
NGNGプロトコルがわかってるなら、CAsyncSocketでも使ったほうが
てっとり早くないか?
0741
NGNG0742728
NGNGこれってデータを丸ごと送るってことでしょうか・・・?
POST /cgi-bin/XXX.cgi HTTP/1.0
Referer: http......
:
:
・・・と。
サンプルのプログラムに「TEAR」ってのがあって、それをPOSTで出来るようにすれば
簡単かなと思ったもので。CAsyncSocket これって難しそう・・・・。
0743728
NGNGpServer = session.GetHttpConnection(strServerName, nPort);
pFile = pServer->OpenRequest(CHttpConnection::HTTP_VERB_GET, strObject);
pFile->AddRequestHeaders(szHeaders);
pFile->SendRequest();
pFile->QueryInfoStatusCode(dwRet);
これをPOSTにして、ヘッダーを変えて、あとはmultipartのデータを送ればいいん
だと思ったんですが。。。VCもネットワークもそれほど詳しくないので、これが
一番簡単に思えたんです・・・・。
0744デフォルトの名無しさん
NGNGメールソフトのソースを載せているHPってありますか?猫でもはみました。
0745デフォルトの名無しさん
NGNG0746デフォルトの名無しさん
NGNG0747デフォルトの名無しさん
NGNGSetClipboardViewerで登録、ChangeClipboardChainで削除は分かるんですが
WM_DRAWCLIPBOARDとWM_CHANGECBCHAINの処理が分かりません。
次のウィンドウにメッセージを渡すらしいですが次のウィンドウがNULLの場合
(SetClipboardViewerで次のウィンドウがない場合はNULLが返るらしい)
でもNULLを指定してSendMessageを呼ぶのですか?
WM_DRAWCLIPBOARDとWM_CHANGECBCHAINで渡されたWPARAMとLPARAMをそのまま次のウィンドウに送っていいんですか?
MSDNのサンプルはMFCのものしかないので分かりません。
知ってる人教えて。
0748デフォルトの名無しさん
NGNG0749デフォルトの名無しさん
NGNG0750デフォルトの名無しさん
NGNGOpenProcessで別のプロセスのハンドルを取得した場合にハンドルの対象のプロセスが終了したあとでもOpenProcessが返したハンドルは有効ですか?
しばらくしたら同じハンドル値で別のプログラムが動いているなんてことありますか?
WaitForSingleObjectでプロセスが終了されているかの判定を行う場合にOpenProcessのハンドルが別のプロセスで再利用されて正常に調べられないなんてことありますか?
0751デフォルトの名無しさん
NGNGAPIヘルプには生APIで載っているよ。
0752デフォルトの名無しさん
NGNG強制終了させたりページ違反で落としてみましたがどうやらWM_DESTROYが送られてから終了しているようです。
「ウィンドウズの終了」を行った場合は送られないらしいですが、それ以外の場合(単一のプログラムが何らかの理由で終了する場合)は必ずWM_DESTROYが送られてくると思っていいですか?
0753デフォルトの名無しさん
NGNGwhile(GetMessage(&msg, NULL, 0, 0)){
TranslateMessage(&msg);
DispatchMessage(&msg);
if(なんか) break;
}
こんな場合でも送られる?
0754デフォルトの名無しさん
NGNGたんに終了時に必ず実行させたい処理があるだけなら、__finallyを使うとえぇよ。
0755デフォルトの名無しさん
NGNGハンドルを CloseHandle するまでは大丈夫です
0756デフォルトの名無しさん
NGNG*
* *
****
*****
のようの表示するように書くプログラミングの問題がわかりません。
これの横バージョンはできたのですが・・・
配列を使ってやるらしいですが考えてもわからないので、返答マジで頼みます。
0757
NGNG左上が原点になるからややこしく感じるのだろう。
配列の中から最大値を見つけてY軸の上限を算出。
その最大値を初期値とする変数をデクリメントさせて、
描画の条件とする。
0758デフォルトの名無しさん
NGNGその場合に限って言えば、5×4の配列を仮想VRAMとして値を設定したあと
1行ずつスキャンして表示。一般化は自分で考えれ。
0759デフォルトの名無しさん
NGNG0760デフォルトの名無しさん
NGNGあるアドレスの領域を、参照したり書き込んだりしているコードを
ピックアップすることは可能でしょうか?
また、VCでは出来なくても何かツールがあればできそうでしょうか?
教えてください。
0761デフォルトの名無しさん
NGNGwindbg.exe
0762デフォルトの名無しさん
NGNGデバッガで停止条件に特定アドレスの変更とか設定できたと思ったが
そういう事をいってるのか?
HeapWalkerみたいなことをいってるのか?
0763デフォルトの名無しさん
NGNG検索が完了しましたが、何も見つかりませんでした。
0764デフォルトの名無しさん
NGNGそういうことをいってます。VCでできるのでしょうか・・・?
0765デフォルトの名無しさん
NGNGSDKツールをすべてインストールしなさい。
0766デフォルトの名無しさん
NGNGVCのヘルプ見れ
0767デフォルトの名無しさん
NGNG#include <windef.h>
#include <winbase.h>
#include <wingdi.h>
#include <winuser.h>
・・・
ってな感じで、他のヘッダーインクルードしまくってるけど
どういう目的で使えばいいの
よく使うヘッダー盛り合わせみたいに、面倒な場合に使うの?
これインクルードすると、コンパイル時間が長くなったりする?
0768デフォルトの名無しさん
NGNG足りないと言われたらはじめて追加のインクルードファイルを取り込みなさい。
蛇足だけどwindowsx.hはいれとくと便利だよ。
0769デフォルトの名無しさん
NGNG<windef.h> とかは個別に include せず <windows.h> だけ読み込むのが普通。読み込むヘッダを
減らしたい場合には WIN32_LEAN_AND_MEAN を定義しておく。
> これインクルードすると、コンパイル時間が長くなったりする?
<windows.h> はプリコンパイルしておく (StdAfx.h に書いておく) のがお勧め。
0770デフォルトの名無しさん
NGNGwindowsx.hは便利だけど、中身見ないと使い方が分からないよね。
0771デフォルトの名無しさん
NGNG0772デフォルトの名無しさん
NGNGC++ の場合には WTL いれて <atlmisc.h> とかも便利。
0773デフォルトの名無しさん
NGNGアプリケーション実行中に、他のアプリケーションがカレントディレクトリを変更しても、
既に起動してあるプロセスへは影響ありませんか?
0774デフォルトの名無しさん
NGNG0775デフォルトの名無しさん
NGNGカレントディレクトリは、プロセスごとに別々だと思う。
というか、実験すればいいじゃん。
0776デフォルトの名無しさん
NGNGもちろんカレントディレクトリは別々だけども、カレントディレクトリ=EXEのある
ディレクトリという仮定は成り立たないから、iniファイルなんかはフルパスで扱う
のがWindowsの常識。
0777デフォルトの名無しさん
NGNG9x系でMapViewOfFile()が返してくるポインタがプロセス共通だということが
実験で判っても間違った使い方だし。
0778デフォルトの名無しさん
NGNG0779デフォルトの名無しさん
NGNG場所だよ。それにCreateProcessでも指定できるし
0780773
NGNG起動時のカレントディレクトリは問題ありません。
ファイラを作っているのですが、ディレクトリエントリ一覧を得るのに、
絶対パスで指定しているのではなく、カレントから一覧を得る仕様にするつもりだったので、
この仕様だと、更新したときに他のアプリによってカレントを変更されると問題があるので、
不安だったから質問しました。
追加で質問ですが、
Dドライブで作業している間は、Cドライブのカレントも保存されているのでしょうか?
実験した限りは問題なさそうですが、心配なので。
自分で保存しておけばいいのかもしれないですが、
なるべくならデフォルトの動作に従わせたいので。
0781デフォルトの名無しさん
NGNGおいおい、ショートカットに実行するディレクトリの指定があるだろうよ...
0782デフォルトの名無しさん
NGNGそれは大丈夫。
0783デフォルトの名無しさん
NGNG正確さを求めるなら、ここで聞くのも実験するのも大差ないよ。
実際、「カレントディレクトリがプロセスごとに違う」って、
根拠を示してる人は、いないじゃん。
カレントディレクトリとかフルパスとかの概念を正確に
把握してないような人も回答してるし。
0784デフォルトの名無しさん
NGNGMS-DOS ではカレントディレクトリはドライブごとにあったけど、
NT では全体でひとつだったと思われ。
だから NT と Win9x/ME で違うんじゃないかな?
0785デフォルトの名無しさん
NGNGうそつくなよ。
0786デフォルトの名無しさん
NGNGMSDNのGetCurrentDirectoryにプロセスのカレントディレクトリを返すって書いてあるだろ。
NTの解説書かナニカに、プロセスの持つ情報としてカレントディレクトリも入ってたな。
特にスレッドの〜って、書いてないんだし、プロセスのでいいんでないの?
0787デフォルトの名無しさん
NGNG> 正確さを求めるなら、ここで聞くのも実験するのも大差ないよ。
そのためのマニュアルなんだけどね。
マニュアルも間違ってたりするのが鬱。
0788某マイナーファイラ作者
NGNG> ファイラを作っているのですが、ディレクトリエントリ一覧を得るのに、
ライバル出現の予感。
> Dドライブで作業している間は、Cドライブのカレントも保存されているのでしょうか?
_chdir()で変更してれば大丈夫。
NT系ドライブごとに覚えていないので、環境変数に各ドライブのカレントディレクトリを保持することで再現してる。
カレントディレクトリが \\hoge\hage\voke なんてこともあるしからドライブごとに気にする必要は感じないけど。
0790776
NGNGできるけど、そんなことまで気にする必要はないよね。
あと、パス解析はできるだけ自前のルーチンよりも、標準ライブラリとかAPIを使っ
た方がいいよ。フォルダ名に日本語が使えない英語ソフトを使ってムカついた事が
あるなら分かるかと。
0791デフォルトの名無しさん
NGNGもともとウィンドウを持たないプログラムでした。
ところが、WM_DEVICECHANGEを受け取る必要がでてきまして、これが
上手く受け取れませんでした。
いろいろ調べてみると、どうやらウィンドウだと簡単に受け取れるよ
うなので、試してみるとその通りでした。
そこで質問なのですが、このような場合、
1.表示はさせないウィンドウを作成しそこでメッセージを受け取る
2.他で動いてるウィンドウを適当に一つ狙って、そこにシステムフ
ックをかける
以上二つの方法を考えたのですが、どちらがよりスマートなのでしょ
うか?
もし他に良い方法があれば、ぜひご教授ください。
0792デフォルトの名無しさん
NGNGマウスの右クリックで処理を中断したいのですが
どうしたらよいでしょうか?
もしくはコンテキストメニュー表示するにはどうしたらよいでしょうか?
お願いします
0793デフォルトの名無しさん
NGNGDOS窓でマウスを使うつもりなんだ・・・・
0794デフォルトの名無しさん
NGNGprintf("Ctrl+Cを押せ\n");
じゃだめなの?
0795デフォルトの名無しさん
NGNG1.は常識として使われてます。
0796デフォルトの名無しさん
NGNG_system("cd foo");
とかやってもプログラムが終了すると、もとのディレクトリ
に戻っちゃうんですが、カレントディレクトリを移動して
そのままにするのはどうしたらいいんですか?
0797デフォルトの名無しさん
NGNGその問題とは関係ないけど、
_system()じゃなくてsystem()にしろよ。
0798791
NGNGではそれでいきます。
これで安心して書けそうです。
ありがとうございました。
0799デフォルトの名無しさん
NGNGCDとか一部のDOS内部コマンドはプログラムの方でカバーすべし。
CGIでshell作ったとき俺はそうした。
mouse.comとかまだあるんかいな?
なければドライバからコーディングし直し。
あればint86()の使い方くらいは習得してね。
コンテキストは自前で描画。
DOS APIはGUIなんぞ考慮していない。
0801デフォルトの名無しさん
NGNGウインドウを扱うライブラリがついてたんだけどね。
もう手に入らないかな?
0802796
NGNGshell作って内部で完結しろってこと?
ぢつはそれも考えてたんだけど、ヘタレのオイラには
ハードル高すぎ。
nyadosってDOS窓用のシェルがtcshライクで気に入って
使わせてもらってるんだが、pushd, popdがあれば
より便利だろうと思って自作しようとしたのだが。
ソースも付いてるんで改造しようとも思ったのだが
TurboCの独自クラスを使ってるのでVC++,GCCやBorlandC++で
はコンパイルできないしで、どうしようかと。
ちなみに作ろうとしているpushd, popdはテンポラリファイルに
ディレクトリの絶対パスを記録しておくという簡易なものです。
0803796
NGNG「DOSコールでディレクトリの移動を可能にするプログラム」
http://kuwa.omosiro.com/KGARC2/kgarc.html
0804デフォルトの名無しさん
NGNGそれなら、本物の tcsh 使えば良いのでは? Win32 native, Cygwin 両方あるぞ (native はヒープ管理
まわりでクリティカルなバグがあるから、あまり勧めんが)。
0805796
NGNGありがとう(^^)/
でもね、でもね、それも知ってはいるし(一時期使っても板)のですが
C言語学習の一環として自分で作ることにしたのです。
せっかく教えてくれたのにスマソ〜。
system関数もカレントディレクトリを変更する関数_chgdir
(だったかな?今、別のマシンでアクセスしてて手元にソースが
ないんで正確な関数名は書けないんです)でも
プログラムが動作中は変更できるんですが、終了後には
もとのディレクトリに戻っちゃうんですよねえ。これは
DOSがこういう仕様とあきらめた方がいいかも新米。
簡単にできるなら、それこそ「nyados」でもpushd,popdを
とっくの昔に実装しているだろうし。
#今ネットカフェなんで803のリンク先の圧縮ファイルが
解凍できないんでやんの(自嘲。
仕様だな。
そういえばDOS使ってて終了時にディレクトリ移動してました♪とかはなかった。
こんなバッチファイルは?
popd.bat
@echo off
pop.exe
popdtmp.bat
del popdtmp.bat
で、pop.exeでpoptmp.batにcdコマンドを書けば・・・。
0807796
NGNGおお!そんな方法があったとわ!
ありがとうございます。誠にありがとうございます。
0808某マイナーファイラ作者
NGNG> そういえばDOS使ってて終了時にディレクトリ移動してました♪とかはなかった。
FDとかって終了時にディレクトリ変えてくれるじゃん。
Win32だとできないのかな。
0809796
NGNG自分もDOS時代に使っていたFDのその記憶があったんで
WinのDOS窓でも出来ないかなあ?と、少しあがいてみました。
0810デフォルトの名無しさん
NGNG0811デフォルトの名無しさん
NGNG0812ふしあなさん
NGNG標準でそんな関数ありますか?
0813デフォルトの名無しさん
NGNGSelectObject(hdc, GetStockObject(NULL_BRUSH) )
してから円を書いてみろ。
0814デフォルトの名無しさん
NGNGレジストリを使う気がしますがどのキーを調べたらいいですか?
0815デフォルトの名無しさん
NGNGどこかの親切な人、ありがとう。
0816デフォルトの名無しさん
NGNG::で出てくるグローバルなやつ。
0817デフォルトの名無しさん
NGNGヘッダファイル。
0818816
NGNGはぁ、そういうわけですか。そりゃそうですな。
例えば、FillMemoryとかが、::で出てこなくて、おかしいなと思ったんですが、
ヘッダを調べると、なんとなく訳が分かりました。
0819デフォルトの名無しさん
NGNG以下の記事では、特に MFC アプリケーションを中心として、メモリ リークのデバッグについて論じています。
1997 年 11 月 Pinnacle Publishing 発行、Mike Blasczak 著、『Visual C++ Developer』の「Stunt Debugging: Diagnosing Memory Leaks」
以下の書籍はメモリ リークのデバッグにはまったく関係ありませんが、ホワイトペーパーを書いていて、昔の中国の哲学者の言葉を引用したいと思っている読者には役に立つかもしれません。
孫子著『兵法』、取扱出版社多数。
microsoftの正規のVC++ページなんだけど、この「兵法」
の紹介って、なにかの凄いギャグなのかな・・・・
0820デフォルトの名無しさん
NGNGArc
0821デフォルトの名無しさん
NGNGメインのプログラムが終了する時にフックを外しに行かなければだめな
ものなのでしょうか?(Winプログラムのお作法的に)
ちなみに、メイン実行中はずっとかけっぱなしにする必要があるのです。
0822デフォルトの名無しさん
NGNGDOS窓って、DOS用アプリケーションをWinで動かしたいのか、それともただの
Win32コンソールアプリケーションなのかによって全然違うよ。
後者なら、普通のGUIアプリケーションでできる事は何でもできるけど。
0823デフォルトの名無しさん
NGNG拡張子に関連付けられているアイコンはどうやって取得したらいいですか?
具体的なファイル名 c:\readme.txt のようなものは無く単に txt といった拡張子のみでアイコンを取得したいです。
0824デフォルトの名無しさん
NGNGFILETIME は64ビットで1601年から始まるらしいですけど。
0825デフォルトの名無しさん
NGNGリストビューが破棄されてもImageListが有効な状態にするにはどうしたらいいですか?
0826デフォルトの名無しさん
NGNGhttp://www.matsusaka-u.ac.jp/~okumura/linux/y2038.html
0827デフォルトの名無しさん
NGNGImageListを切り離してからリストビューを破棄すれば良いのでは?
0828デフォルトの名無しさん
NGNG「グローバルフック」ですね。
フックをかけたら、あとでちゃんと外しておかないと、
リソースを漏らしちゃう結果になると思います。
ちなみにグローバルフックのかけっぱなしは、あまり感心しません。
よくシステムを不安定にさせる原因になりますから。
0829デフォルトの名無しさん
NGNG計算してみればすぐわかる
定義は1601年1月1日からの100ナノ秒毎のカウント
0830825
NGNG0831デフォルトの名無しさん
NGNGできますか?
0832デフォルトの名無しさん
NGNG0833デフォルトの名無しさん
NGNGレジストリ
0834デフォルトの名無しさん
NGNGこういうのって出来ないわけはないでしょ。
簡単にやるための方法なら、標準的な方法はない。
環境が何か知らないが多倍長演算のライブラリを探せばいいと思うよ。
0835デフォルトの名無しさん
NGNGVCなら、__int64 をMSDNで調べてみそ。
一般的なANSI Cならlong long。
0836す
NGNGあれ変えたいんですが・・・
project名-無題
のようになってますね、、、はじめ
0837デフォルトの名無しさん
NGNGCDocument::SetTitle
0838す
NGNGあ、ありがとうございます!!できました。
0839デフォルトの名無しさん
NGNG_outp、_outpw、_outpdのルーチンがありますが
これはWin9x系のみ動作するみたいですけど
NT系はだめみたいなので、NT系で出力ポートに
データを送る方法はないでしょうか?
0840某マイナーファイラ作者
NGNGデバイスドライバを作る。
0841デフォルトの名無しさん
NGNG「外部参照 1 が未解決です。」
といわれてしまいます。
privateメソッドや、ヘッダに実装を書けばOKなのですが、
どうしたらpublicメソッドをinline指定しつつビルドできるのでしょうか?
0842デフォルトの名無しさん
NGNG0843デフォルトの名無しさん
NGNG0844デフォルトの名無しさん
NGNGhmm
0845デフォルトの名無しさん
NGNG「warning C4290: C++ の例外の指定は無視されます。」
という警告がコンパイル時にでます。
ソースコードでは
コンストラクタ() throw (Exception){
if(1)throw new Exception
}
とやっているのですが
コンストラクタは例外を投げられないのでしょうか?
0847デフォルトの名無しさん
NGNG例外指定を外せばいい
constructor() {
if(1) throw new Exception;
}
0848
NGNGMS ゴシックでしょうか?
標準の設定時のフォントの大きさは12ポイントぐらい
ですか?
0849デフォルトの名無しさん
NGNGWin95/98/NTは「MS Pゴシック」
Win98SE/Me/2000は「MS UI Gothic」
の9ポイントだと思われ(標準では)
0850デフォルトの名無しさん
NGNGってゆーか、
要するにどのバージョンの IE がインストールされてるか…じゃなかったっけ?
0852デフォルトの名無しさん
NGNG*付け忘れてました
0853デフォルトの名無しさん
NGNG標準に頼ったコーディングするな。
0854デフォルトの名無しさん
NGNG画面のプロパティで自由に変えれます。
0855デフォルトの名無しさん
NGNG> コンストラクタ() throw (Exception){
のような、送出する例外の指定は対応してないから無視しますよ
っていうメッセージです。
何を指定してもどんな例外でも投げれます。
0856初心者一郎
NGNG、OnXXXX()内で継承元のOnXXXX()を呼ぶ必要があるかどうか、又自分の書い
たロジックの前で呼ぶのか、後で呼ぶのかは、何で判断すればよろしいのでし
ょうか?
具体的には
・OnTimerの場合
void CMyDialog::OnTimer(UINT nIDEvent)
{
// TODO: この位置にメッセージ ハンドラ用・・・・
CDialog::OnTimer(nIDEvent);
}
・OnDestroyの場合
void CMyDialog::OnDestroy()
{
CDialog::OnDestroy();
// TODO: この位置にメッセージ ハンドラ用・・・・
}
上記の場合は MFCが自動的に生成する為、何も考えなくて良いが
例えば OnNcHitTestの場合
UINT CMyDialog::OnNcHitTest(CPoint point)
{
自分のロジックの場所?? <--ここに書く?
CMyDialog::OnNcHitTest( point );<--必要、不要 ?
自分のロジックの場所?? <--それともここ?
return xxxx;
}
長くなりましたが宜しくお願い致します。
0857初心者一郎
NGNGUINT CMyDialog::OnNcHitTest(CPoint point)
{
自分のロジックの場所?? <--ここに書く?
CDialog::OnNcHitTest( point );<--必要、不要 ?
自分のロジックの場所?? <--それともここ?
return xxxx;
}
0858デフォルトの名無しさん
NGNG簡単に音を鳴らしたいんですけどなんかいいのないでしょうか?
0859デフォルトの名無しさん
NGNG0860デフォルトの名無しさん
NGNG0861デフォルトの名無しさん
NGNG基本的にはどっちでもいい気がする。
一部のメッセージだけ、デフォルトの処理内容を考えてみて
先にどっちを処理した方がいいのか自分で判断。
ヒットテストの場合は、渡された位置の HTxxx を判定するわけだから、
自分で判定できる位置では自分で勝手に判定して、CDialog::OnNcHitTest は呼ぶ必要ない。
自分で判定できない位置、つまりデフォルトの判定処理をさせたい場合は
CDialog::OnNcHitTest を呼んで、その戻り値をそのまま return すれば良い。
0862初心者一郎
NGNGなるほど、つまり継承元のロジックを確認して
判断すれば良いと言う事でしょうか?
・OnNcHitTestの場合
_AFXWIN_INLINE UINT CWnd::OnNcHitTest(CPoint)
{ return (UINT)Default(); }
と言う事は呼ぶ必要がない、と判断する。
では OnTimer()の場合、MFCが自動的に
CDialog::OnTimer(nIDEvent);を記述しますが、
特に呼ぶ必要がない、と言う事でしょうか?
_AFXWIN_INLINE void CWnd::OnTimer(UINT)
{ Default(); }
同じく特別な処理をしていないよです。
0863デフォルトの名無しさん
NGNG1.ウィンドウがアクティブにならない。
2.それでいてスクロールバーをいじったり出来る。
3.ウィンドウ以外の領域をクリックすると消える。
4.親ウィンドウからはみ出して表示することも可能
最大の難関は1です。
ポップアップウィンドウで2.3.4は実現できるのですがウィンドウがアクティブになってしまいます。
どうしたらいいですか?
0864デフォルトの名無しさん
NGNGVisualC++ で 64bit サイズの int 型は定義できるのでしょうか?
ついでに C++ , C 共に可能かどうが分かればありがたいです。
0865デフォルトの名無しさん
NGNGいや、実際に処理内容を覗くのではなくて(どうせ見えないし)、
デフォルトでどういう処理が行われているのか想像して。
具体的に OnNcHitTest だと、
point がタイトルバーの位置のときは HTCAPTION
point がクライアント領域のときは HTCLIENT
point が最小化ボタンの位置のときは HTREDUCE
というふうに、位置に応じて値が返ってくるはずだ。
このデフォルトの処理を、やらせたいかどうか。で判断。
0866デフォルトの名無しさん
NGNGShowWindow(hwnd, SW_SHOWNOACTIVE);
0867デフォルトの名無しさん
NGNGVC では __int64
C標準では long long int (VC未対応)
C++標準には無い。
0868デフォルトの名無しさん
NGNG速攻のお返事、ありがとう御座います。
ところで __int64 は C , C++ 両方に使えますでしょうか?
#使えれば、お昼に買いにいける・・・
0869初心者一郎
NGNGああっ、そうゆうことですか!勉強になりま
した。861さん,865さん(同じ方かも)、夜を
またいでの解答ありがとうございました。
0870デフォルトの名無しさん
NGNGC でも C++ でもだいじょーぶです。
VC6で確認してみました(VC5以下は知らん)。
#買いに行くって VC を・・・?
0871デフォルトの名無しさん
NGNGどうも有難う御座います、大変助かりました。
#gcc からの移植作業やってまして、
#ボーランドの古いコンパイラだと、できなくて往生してたんです。
0872デフォルトの名無しさん
NGNG0873デフォルトの名無しさん
NGNGクラス作って演算子をオーバーロードするだけの話では?
>>864
0874デフォルトの名無しさん
NGNGcout<<ios::hex<<int(a);
ってやると上手くいかない・・・
cout<<hex<<int(a);
だと上手くいく
なぜ??
0875デフォルトの名無しさん
NGNGついでに、ダウンロードできる Borland C++ Compiler でも __int64, unsigned __int64 は使えますね。
(仕事でプログラム書くなら、デバッガ機能が充実した VC6 買っても良いと思うけど)
0876デフォルトの名無しさん
NGNGVC買ってついて来たMSDNのライブラリCDですが、それの新しいものはどうやって手に入れるんですか?
というかバージョンアップしてる?98年かな?大分前買ったものだから、英語のままとか載ってなかったりするので
ちょっと困る。
0877デフォルトの名無しさん
NGNGforでループしてコピーするよりも
0878デフォルトの名無しさん
NGNGなぜmemmove()にしないんだろう・・・
というかコピーするならmemcpy()にしないか?
重なるのが嫌とか?
0879デフォルトの名無しさん
NGNGMSDNの新しいやつは、MSと契約しないと手に入らないよ。
契約料は、何万もすると思う。たしか。
0880879
NGNGのと、内容違うのかな?
同じだったら、そっちでもいいけど…。
0881デフォルトの名無しさん
NGNGhttp://www.microsoft.com/japan/developer/library/default.asp
0882デフォルトの名無しさん
NGNGなるものがついてた。無料で、最新版が手に入るよ。
MSDN OnlineもCDと大体同じっぽいけど、構造体の解説とかが無かったり、
リンクが省かれていたりで、突っ込んで調べようとすると、結構辛い。
0883デフォルトの名無しさん
NGNGここで見つからなかったら、
http://msdn.microsoft.com/library/
0884デフォルトの名無しさん
NGNG箱にしまっておいたら気付いたときには期限切れてた(笑
英語でよければ、Platform SDKの最新版をDLすればSDKの説明は読めるよ。
Onlineのは正直言って使いにくい。
0885デフォルトの名無しさん
NGNGMXで調べてみても、転がってないし。
困った(;´Д`)
0886デフォルトの名無しさん
NGNG転送領域が重ならない限りmemcpyが速度的にベスト
memmoveはインライン展開最適化の対象になってないので常に関数呼び出しになる
(memmoveのソースを見たがごく普通のコードなのでforと大して変わらないはず)
memcpyはリリースビルドではインライン展開最適化の対象になってて
rep movsd+rep movsbにその場で展開されるので速度的に有利
(ちなみにmemsetもrep stosdに展開される)
まぁ特別問題が無いならばVCではmemcpy使えってことだ
0887デフォルトの名無しさん
NGNGライブラリページの説明をちゃんと読んだ?
MSDN ライブラリの操作方法
MSDN ライブラリから目的の情報を取得する以下のような方法があります。
左側の目次を使用して、MSDN ライブラリをブラウズする。
MSDN Online サイトの[このサイトの検索] を使用して、特定のキーワードから検索を行う。
0888877
NGNGかなり参考になりました
0889デフォルトの名無しさん
NGNGObject** obj=new....
みたいにしたいのですけど
0891お胸おっぱい
NGNG0892889
NGNGありがとさんです
名前が激しいですな(^^;
0893デフォルトの名無しさん
NGNG外部依存関係というフォルダは何なのでしょうか?
また、それはどうすれば作成できるのでしょうか?
お願いします。
0894デフォルトの名無しさん
NGNG標準ヘッダーファイルで
#if(WINVER >= 0x0400)
#define VK_PROCESSKEY 0xE5
#endif /* WINVER >= 0x0400 */
のような記述がありますが 0x0400 ってどのWindowsですか?
95ですか?
余談ですが先日初めて職務質問されました。
7時ごろに人気の少ない道を通っていたら通りかかったパトカーに止められました。
プログラマーって怪しさが表ににじみ出るものですか?
0895デフォルトの名無しさん
NGNGTSCに引っ掛からないようにビルドし直す方法教えて
0896デフォルトの名無しさん
NGNG時々ソースコードの中に
"\xxx\xxx\xxx\xxx\xxx\xxx"というような文字列があるのですがこれは
どうすれば普通の文字に戻せるんでしょうか?
例えば"\253\104\114\266"とかなんですが・・・
0897デフォルトの名無しさん
NGNG?
0898デフォルトの名無しさん
NGNG#ruby -e 'print "\253\104"'
0899デフォルトの名無しさん
NGNGあるクラスを継承しているかどうか調べるには、
どうすればいいのでしょうか?
0900デフォルトの名無しさん
NGNG0901デフォルトの名無しさん
NGNG#perl -e 'print "\253\104"'
0902デフォルトの名無しさん
NGNGあるいは、コメント?
0903896
NGNG0904ひろし
NGNG但しDirectShow、Twainを使わなければなりません。
また少し変わったSDKで機械語ルーティン集ではありません。あくまで機械語部分はシステムに埋め込まれてしまい各機能の呼び出しタイトルだけが書かれているものです。
ご興味ある方いらっしゃいますか?
マニュアルは今のところ英語です。
0905デフォルトの名無しさん
NGNGASCII じゃないだろ。
EBCDC じゃないのか?
0906デフォルトの名無しさん
NGNG0907デフォルトの名無しさん
NGNGアルファベットになる…ってーのを信じるなら、それはない。
0908デフォルトの名無しさん
NGNG「yhrC」みたいな表示がされるから、
# 正確な表記ではない。よく知らんが、欧州系の装飾付きアルファベット
UNICODEのような気がする。内容の意味は分からんが。
0909デフォルトの名無しさん
NGNGワークスペースウィンドウのFileViewの話だよな?
プロジェクトに明示的に追加したヘッダファイル(Header Files の下)以外で
参照しているヘッダファイルがあると、自動的に「外部依存関係」に追加される。
無理して自分で作るものではない。
プロジェクトに含まれるヘッダファイルならきちんと Header Files の下に
移動しておくのが吉。
>>894
NT。詳しくはGetVersionExのヘルプを参照。
0910デフォルトの名無しさん
NGNG0911デフォルトの名無しさん
NGNGWINVER 0x0400 だと Windows 95 or NT4.0 です。NT only にしたければ _WIN32_WINNT 使わないと。
詳しくは Platform SDK のドキュメントで [Using the SDK Headers] を検索。
0912たろ
NGNGVC++にてダイアログベースでプログラムを作っているのですが。
ダイアログ画面を表示する前に、個別のチェック(ファイル有無チェック等)かなんかでNGの時
画面を表示させずに、MSGBOXを表示させてそのまま処理を終了させたいのですが、
どうすればよいのでようか?
ダイアログ画面を表示させたくないのです。
宜しくお願いします
0913デフォルトの名無しさん
NGNG0914たろ
NGNGありがとう御座います。
0915デフォルトの名無しさん
NGNG続きはこちらでどうぞ。
http://pc.2ch.net/test/read.cgi/tech/1006834463/l50
0916初心者
NGNGMFCをやっているのですが、ハンドルというものがでてきて、とりあえずはじめでてきたときに、「IDみたいにとらえて・・・」のような記述があったのでそのようにとらえていたんですが
「メンバ変数にハンドルをもつクラスが・・・・」のような記述を別で見ました。なんのことだか意味がわからなくなってしまいました。。
どういうことなんでしょうか??
0917デフォルトの名無しさん
NGNGうーん、そのクラスのメンバ変数の中に、ハンドルがあるっていうような
意味だとおもうんだけど、
この場合ハンドルっていうのはクラスの実体のIDみたいなもので、
メンバ変数としてもつことによって外から容易に参照できるようになってるのだと思う
0918デフォルトの名無しさん
NGNGWinAPIのGetOpenFileName()を用いて複数ファイル名を
取得するにはどのようにすればいいですか?
0919デフォルトの名無しさん
NGNGlpofn->lpstrFile
| For Explorer-style dialog boxes, the directory and file name strings are
| NULL separated, with an extra NULL character after the last file name.
MFCのソース、DLGFILE.CPP の CFileDialog::GetNextPathName あたりも参考に。
0920デフォルトの名無しさん
NGNGWin2000だと設定通り動くんだけどWin98でやったら、TRUEにしても
エラーのときに処理を中断しないんです(FALSEと変わらない)。
同じような人いませんか?どっちでもいいんだけどなんか気持ち悪いです。
0921デフォルトの名無しさん
NGNG途中で欠けてしまいます。
どうしよう・・・・・
0922デフォルトの名無しさん
NGNGその画像うpして
0923デフォルトの名無しさん
NGNG0924
NGNGsystem("***.exe a.tex b.tex");
みたいなのをDOS窓を出さずにできる方法はないの?
0925sage
NGNGsageで。
#include "stdafx.h"
#include <stdio.h>
#include <string.h>
class TT{
private:
public:
char *name;
TT(char *_in){
name=new char[strlen(_in)];
strcpy(name,_in);
}
~TT(){
delete name;
}
void getName(char *val){
strcpy(val,name);
}
};
int main(int argc, char* argv[]){
TT *a=new TT("aaaa");
delete a;
return 0;
}
で、デストラクタでnameをdeleteするとデバッグエラーというダイアログが現れますが、
なんでですか?
デリートすることが間違っているということでしょうか?
0927デフォルトの名無しさん
NGNG> strcpy(name,_in);
メモリの書きこみ違反です。
0928デフォルトの名無しさん
NGNGOffice XPみたいな右クリックメニューはどうやって作ればいいんでしょうか。
0929926
NGNGえ、、書き込み違反なんですか?
すいませんが、僕には何がまずいのかわかりません。
よろしければ、回避法等、詳しく教えてくださいますか?
0930デフォルトの名無しさん
NGNG0931デフォルトの名無しさん
NGNG'\0' の分が抜けてる。
それと C++ 使うなら std::string 使った方が何かと楽だぞ。
0932デフォルトの名無しさん
NGNG新スレ> http://pc.2ch.net/test/read.cgi/tech/1006834463/l50
レス数が900を超えています。1000を超えると表示できなくなるよ。