[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 03/01 14:35 / Filesize : 252 KB / Number-of Response : 999
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

★初心者にVisual C++を教えるスレ★ Part28



1 名前:誰も立てないから・・ [2007/11/30(金) 22:40:42 ]
Visual C++入門者・初心者からの質問を、
お兄ちゃん達が優しく、時には厳しく回答してくれるスレッドです。

■質問するにあたって
・エラーや警告のときはエラーメッセージを書きましょう。
・開発環境も書きましょう。
・できるだけ具体的に。

質問の仕方については次のページが大変参考になります。
www.hyuki.com/writing/techask.html
myu.daa.jp/osiete/

■回答するにあたって
・回答する場合はその答えに至るための「コツ」も書いてあげると良いでしょう。
 (MSDNのどの項目だとか、何のキーワードでGoogleするとか)
・ネタや煽りは軽く流しましょう。

過去スレ、関連スレなどは>>2-5

401 名前:デフォルトの名無しさん mailto:sage [2007/12/31(月) 06:37:15 ]
>400 はスルーしとけ
答えてやってももろくなことはないぞ

402 名前:400 mailto:sage [2007/12/31(月) 06:56:31 ]
何か問題ありましたでしょうか・・・

403 名前:デフォルトの名無しさん mailto:sage [2007/12/31(月) 09:00:38 ]
>何か問題
対処法方
心当たりございましたら
御教授の程

404 名前:デフォルトの名無しさん mailto:sage [2007/12/31(月) 10:37:06 ]
>>400

多分、共有ライブラリのバージョンが合つてない。
とりあえずスタティックリンクにすれば直ると思う。


405 名前:デフォルトの名無しさん mailto:sage [2007/12/31(月) 10:50:33 ]
実行ファイルには、単純にDLLのインポートライブラリをリンクしただけなのか、
起動後に動的に読み込ませているのか、はっきりしる。
C++/CLIなのか、MFC使っているのか、そこらへんも全て書け。
>.dllの機能が実行されている様子がない。
何を根拠に?

406 名前:デフォルトの名無しさん mailto:sage [2007/12/31(月) 11:32:51 ]
Visual C++ Express Editionの2008と2005、どちらを使おうか迷っているのですが、
C言語とDirectXの勉強に使うには、2008と2005どちらの方が良いですか。

407 名前:デフォルトの名無しさん mailto:sage [2007/12/31(月) 11:38:58 ]
>>406
どっちも使って使いやすいほうにすれば?その為の無料なんだし

408 名前:デフォルトの名無しさん mailto:sage [2007/12/31(月) 11:47:11 ]
今って2008のExpressってのも出てるのか
知らんかった

409 名前:デフォルトの名無しさん [2007/12/31(月) 11:54:52 ]
2005じゃないの、今なら、勉強用なら



410 名前:デフォルトの名無しさん mailto:sage [2007/12/31(月) 12:12:28 ]
>>409
2008は扱いが難しいのでしょうか。
それとも、2005の方が情報が多くて問題解決がし易いという意味ですか。
2005の方が問題解決のヒントが多いのであれば、2005の方を使ってみます。

411 名前:デフォルトの名無しさん mailto:sage [2007/12/31(月) 12:29:11 ]
まあそりゃあ多いだろうよ

412 名前:デフォルトの名無しさん mailto:sage [2007/12/31(月) 13:34:39 ]
勉強していくなら情報が転がってる2005のほうがいいでしょ
2008でやっていくなら自分でその情報を発信する側になるぐらいの勢いないとな

413 名前:デフォルトの名無しさん mailto:sage [2007/12/31(月) 13:35:52 ]
2008はでたばかりだしね

414 名前:デフォルトの名無しさん mailto:sage [2007/12/31(月) 14:50:38 ]
VCって無料(フリー)のソフトですか?

415 名前:デフォルトの名無しさん mailto:sage [2007/12/31(月) 14:51:13 ]
いいえ


416 名前:デフォルトの名無しさん mailto:sage [2007/12/31(月) 14:54:47 ]
機能制限された無料版もあるソフトです

417 名前:デフォルトの名無しさん mailto:sage [2007/12/31(月) 14:55:19 ]
ありがとうございます

418 名前:デフォルトの名無しさん mailto:sage [2007/12/31(月) 15:11:59 ]
Visual C++ 2005 Express Edition、Windows SDKの環境での質問です

リソースエディタでタブコントロール付きのダイアログボックスというものを
作ってみたのはいいのですが、これをアプリケーション内で利用するにあたり、
MFC等を使わずに実装する方法がよくわかりません
別のダイアログを貼り付ける、みたいな話はあるようなのですが
実際どのようにコーディングするのかがわからないのです

タブコントロール実装のためのコーディング手順などを教えていただきたいです
長くなるようでしたら、このあたりがわかるようなサイトなどありましたら教えて下さい
よろしくおねがいします

419 名前:デフォルトの名無しさん mailto:sage [2007/12/31(月) 15:34:26 ]
知ってるけど教えようがない



420 名前:デフォルトの名無しさん mailto:sage [2007/12/31(月) 15:39:29 ]
コーディング手順ってのもまた珍妙な語だな、考えてみると

421 名前:デフォルトの名無しさん mailto:sage [2007/12/31(月) 16:43:56 ]
だいたいはプロパティシートを使うんじゃないの。

422 名前:デフォルトの名無しさん mailto:sage [2007/12/31(月) 16:50:56 ]
MFC等を使わずに実装する方法がよくわかりません

423 名前:デフォルトの名無しさん mailto:sage [2007/12/31(月) 17:09:19 ]
タブはボタンみたいなものだよ
ボタン押した時に何をするかは作る人の勝手だし、
タブで何をするも作る人の勝手

424 名前:418 mailto:sage [2007/12/31(月) 17:51:23 ]
質問の仕方が悪かったでしょうか?
普通にリソースエディタでタブコントロールを追加したダイアログボックスを
ただDialogBox()関数で呼び出しても、何もない四角が表示されるだけなのですが、
これを選択できる状態にするには具体的にどういった手順を踏めばよいのか、
別のダイアログボックスを貼り付けるにはどうすればよいのかが知りたいです。
よろしくお願いします。

425 名前:デフォルトの名無しさん mailto:sage [2007/12/31(月) 18:17:52 ]
>>424

www.kumei.ne.jp/c_lang/sdk/sdk_69.htm

↑直接的にはこれだけど、他のページも見てみると良いよ。


426 名前:418 mailto:sage [2007/12/31(月) 19:52:13 ]
>>425
ありがとうございます
そのサンプルだとタブコントロールの作成自体が自前だったので多少混乱しましたが
GetDlgItem()でリソースエディタで作ったタブのハンドルを取得する事で
項目追加については解決しました

そちらのソースを見た感じだとタブ用のウィンドウの上に後からボタンを作っているようなのですが、
リソースエディタ上でタブの上に見えるようにボタンを配置し、それを表示非表示で切り替えたり
する事はできないのでしょうか?

手動で作るか、別のダイアログを固定位置の子ウィンドウとして呼び出すとかしかないでしょうか

427 名前:デフォルトの名無しさん mailto:sage [2007/12/31(月) 20:13:34 ]
そりゃ、ShowWindow(GetDlgItem(**),SW_HIDE)とか駆使しればできるだろうけどさ。
ダイアログエディタが混雑するぜ。

428 名前:デフォルトの名無しさん mailto:sage [2008/01/01(火) 14:40:45 ]
MSDNて使いにくいね。
特にC言語やC++言語の標準ライブラリの調べにくさはC++Builderのヘルプの比ではない。

429 名前:418 mailto:sage [2008/01/01(火) 15:17:20 ]
ダイアログをタブコントロールの子ウィンドウとして呼び出して
なんとか実装できました
どうもありがとうございました




430 名前:デフォルトの名無しさん mailto:sage [2008/01/01(火) 22:07:34 ]
VC関係のサイトを回っていると、何の説明もなく

throw "あいうえお";

みたいな記述を良く見るのですが、これはどういう意味なのでしょうか?
プログラムを実行させるとランタイムエラーメッセージが出て処理が止まるのはいいのですが
たとえば配布したプログラムでこのthrowが呼び出されてしまったときに、
この"あいうえお"という文字列は、何をもって確認するのですか?

431 名前:デフォルトの名無しさん mailto:sage [2008/01/01(火) 22:09:12 ]
>>430
VC以前の問題。
throwって知ってる?

432 名前:デフォルトの名無しさん mailto:sage [2008/01/01(火) 22:09:43 ]
おおもと(mainとか)でcatchしとくんだろ。
char*を投げるのはあんまし感心しないけど。

433 名前:デフォルトの名無しさん mailto:sage [2008/01/01(火) 22:15:06 ]
正直throwというのが良くわからないです
この場合どういう効果があるのでしょうか
ランタイムエラーメッセージが出る時にthrowで送られた情報が
そのメッセージの中で見られるのかと思ったのですが、見られないのですか?

434 名前:デフォルトの名無しさん mailto:sage [2008/01/01(火) 22:16:34 ]
throwはC++の機能、try/chatchあたりでも勉強してくればいい
当然の如くVCには全く関係ないから

435 名前:デフォルトの名無しさん mailto:sage [2008/01/01(火) 22:26:20 ]
char*とか、std::exception継承クラスならともかく、かってな
ユーザオブジェクトを投げられたら、いずれにせよランタイムは
情報を出すことが出来ないからなー。

436 名前:デフォルトの名無しさん mailto:sage [2008/01/01(火) 22:36:15 ]
throw知らね、って言ってる人には分かる内容じゃないだろうな。

437 名前:デフォルトの名無しさん [2008/01/02(水) 09:12:15 ]
・XPでパスワードLOOK中かどうか判断する方法(ctrl + del + altのあれ)
わかる方お願いします。ヒントだけでも結構です。



438 名前:デフォルトの名無しさん mailto:sage [2008/01/02(水) 11:37:22 ]
スロー(throw)だけじゃなくてスルー(through)も一部では需要ありそうだなw

439 名前:デフォルトの名無しさん mailto:sage [2008/01/02(水) 11:40:09 ]
MSDNのLockWorkStationの解説より
>There is no function you can call to determine whether the workstation is locked



440 名前:デフォルトの名無しさん [2008/01/02(水) 15:38:52 ]
結局,関数の宣言の際に例外仕様ってつけるべきなんですか?

441 名前:デフォルトの名無しさん mailto:sage [2008/01/02(水) 15:41:36 ]
宣言関係ないと思うが、、、仕様どおりでおk
誰が作って誰が使うかによってかわるし、こうしろという決まりごとはないよ。

442 名前:デフォルトの名無しさん mailto:sage [2008/01/02(水) 22:58:47 ]
>>440が言ってるのって、
void hoge() throw()
見たいなのじゃないの?

C++FAQ第二版で例文がそう記述されてて、
試してみたら(コンパイラに言われたんだか誰かに言われたんだかネットで見たんだか定かでない)けど
「古い記述方法」
という感じだった。 凄くうろ覚えでゴメン。

443 名前:デフォルトの名無しさん [2008/01/03(木) 05:48:25 ]
>>442
そう.それ.
例外仕様を頑張って記述したところで,例外仕様の部分って
関数の型としては扱われないし,何かつけてて意味あるのかなって.

444 名前:デフォルトの名無しさん [2008/01/03(木) 17:20:05 ]
別スレから、こちらに書き込みます。

リソースの編集したいのだが、
RCの中から、そこいらのヘッダをインクルードしてるファイルだと
フリーソフトではエラーが出て読み込めない。

どうしたら良いですか?
 あきらめたほうが良いですか?お金はびた一文も出しませんので
お金がかからない何か良い方法はないでしょうか?


445 名前:デフォルトの名無しさん mailto:sage [2008/01/03(木) 17:20:42 ]
>>444
あきらめた方がいい

446 名前:デフォルトの名無しさん mailto:sage [2008/01/03(木) 18:43:29 ]
テキストファイルだから手動でコピペするだけ

447 名前:デフォルトの名無しさん [2008/01/03(木) 23:26:43 ]
自分はプロジェクトのプロパティ(コンパイルオプションとか)
をプロジェクトごとに指定することはあまりやらなくて,
あらかじめ用途ごとの vsprops ファイルを作っておいて
組み合わせて適用しているのですが,そうすると
プロジェクトごとに最初から指定されているオプションがうざいです.

デフォルトで全部「親から継承」に簡単にすることってできないんでしょうか?

448 名前:デフォルトの名無しさん mailto:sage [2008/01/04(金) 21:16:05 ]
C++/CLIでファイルから特定の文字列を検索する部分なのですが、
C++/CLIのStringクラスのCompare(ryメソッドでは、
完全一致は探すことができたのですが、部分一致を探し出すことができませんでした
Cのstrstr関数やC++STLのStringクラスのfindメソッドのような、
文字列から文字列を探すことのできる、C++/CLIのクラスメソッドはないのでしょうか?

449 名前:デフォルトの名無しさん mailto:sage [2008/01/04(金) 21:42:44 ]
>>448
単にオーバーライドを見つけられていないだけな気もするけど、一応。

ファイルの内容が全てメモリに収まる程度という前提なら、
内容をSystem::Stringに全部押し込んだ後で、System::String.IndexOfか?
System::Text::RegularExpressions辺りで一気にやるほうが楽かもしれん。



450 名前:449 mailto:sage [2008/01/04(金) 21:44:22 ]
オーバーロードだった orz

451 名前:448 mailto:sage [2008/01/04(金) 22:20:11 ]
>>449
すぽーんと見落としてました・・お恥ずかしい
読み込むのはファイルの一部だけなので、IndexOfで大丈夫そうです
どうもありがとうございました

452 名前:デフォルトの名無しさん mailto:sage [2008/01/05(土) 00:48:48 ]
構成プロパティの文字セットをUnicodeを使用するにした状態で

int _tmain(int argc, _TCHAR* argv[])
{
  _tprintf( _T( "testあいうえお" ) );
  _gettch();

  return 0;
}

というような感じでコードを書いたのですが、
abcまではDOS窓に表示されるんですが、あいうえおが表示されません
Unicodeだとどうすれば日本語も表示されるようになるのでしょうか?

ちなみにマルチバイト文字セットにすると上手く行きます
できるだけマルチバイトでもUnicodeでも正常動作するようにしたいのです
_Tで囲むことで期待通りの表示になるかと思ったのですが…

よろしくお願いします

453 名前:デフォルトの名無しさん mailto:sage [2008/01/05(土) 00:51:40 ]
あ、abcではなくてtestでした_| ̄|○よろしくお願いします

454 名前:デフォルトの名無しさん mailto:sage [2008/01/05(土) 00:54:21 ]
>>453
本当に表示されてるのはtestだけなんだな? その後に何も表示されてない?

455 名前:デフォルトの名無しさん mailto:sage [2008/01/05(土) 00:56:57 ]
>>454
えーと、入力待ちのカーソルが、間隔を開けずにtestの真横に表示されます
文字化けしてでるとかもないです

456 名前:デフォルトの名無しさん mailto:sage [2008/01/05(土) 00:57:00 ]
setlocale

457 名前:デフォルトの名無しさん mailto:sage [2008/01/05(土) 01:26:48 ]
>>456
ありがとうございます。こんな感じでいいのでしょうか?
一応あいうえおの表示はされたのですが、何か弊害などはありますか?

int _tmain(int argc, _TCHAR* argv[])
{
  _tsetlocale( LC_ALL, _T( "Japanese_Japan.932" ) );
  _tprintf( _T( "testあいうえお" ) );
  _gettch();

  return 0;
}


458 名前:デフォルトの名無しさん mailto:sage [2008/01/05(土) 02:29:07 ]
CLRのSystem::Windows::Formsクラスを使用するWindowsアプリケーションでは、
処理は全てFormクラス内のメソッドにまとめるものなのでしょうか?
WinAPIでのWindowsアプリケーション作成もしたことがないので、混乱しています・・

459 名前:デフォルトの名無しさん mailto:sage [2008/01/05(土) 02:35:48 ]
好きにしなさい



460 名前:デフォルトの名無しさん mailto:sage [2008/01/05(土) 09:36:58 ]
>457
そういうプログラムなら標準Cで作った方が汎用性が高いから
そんな見苦しいことやって喜んでるのはお前ぐらいだと思う

461 名前:デフォルトの名無しさん mailto:sage [2008/01/05(土) 10:03:22 ]
マジですか
もはや時代はユニコードだと思っていたのですが違うのですか?

462 名前:デフォルトの名無しさん [2008/01/05(土) 10:17:10 ]
自己完結しているアプリなら言語は関係ないだろ
ウェブとか、多言語つかうならユニ

463 名前:デフォルトの名無しさん mailto:sage [2008/01/05(土) 10:56:10 ]
VC++の_t系はWindows APIとの整合性を取るためのものだと俺は思っている。

464 名前:デフォルトの名無しさん [2008/01/05(土) 14:23:23 ]
COM の BSTR は MBCS ですか? Unicode ですか?
もしくはそういうことは COM の規格の範囲外のことですか?

465 名前:デフォルトの名無しさん mailto:sage [2008/01/05(土) 14:25:30 ]
COMの規約ではどうなっているかしらないが、
Win16ではMBCS、Win32以降はUTF-16 (x86ならリトルエンディアン)。

466 名前:デフォルトの名無しさん [2008/01/05(土) 14:57:05 ]
>>465
API でいえば hogehogeA と hogehogeW の話ですよね?
主要な COM コンポーネントでも二種類の
インターフェイスが用意されていると思ってたんですが,
そうではないのでどうしたものかなぁ,と.

しかしよく考えたらたとえば MSXML が XML 文書を
受け取るのも BSTR なわけで,その時は文字コードに
よらずなんでも受け取るのだから BSTR は文字コード
を限定しないなにか(32ビットで領域のサイズが
明示的に前置された何か)だと思うことにします.

467 名前:デフォルトの名無しさん mailto:sage [2008/01/05(土) 17:56:23 ]
>>457
寝てたわ・・・
プログラムよりも、デフォルトで開くコンソールのコードページの問題だからねえ。

468 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 02:01:00 ]
猫本見ながら何度もやってるんですが、画像を表示するところで詰まってます><
ビットマップをrcに変換し
LoadBitmapでインスタンスハンドルを取得するところでエラーが出ちゃうんですが
正しい手順教えて下さい><

switch(msg){
case WM_PAINT:
hdc = BeginPaint(hWnd, &ps);
hBmp = LoadBitmap(hInst, "IDB_BITMAP1");
GetObject(hBmp, (int)sizeof(BITMAP), &bmp_info);
w = bmp_info.bmWidth;
h = bmp_info.bmHeight;
hdc_mem = CreateCompatibleDC(hdc);
SelectObject(hdc_mem, hBmp);
BitBlt(hdc, 0, 0, w, h, hdc_mem, 0, 0, SRCCOPY); //描画
DeleteDC(hdc_mem);
DeleteObject(hBmp);
EndPaint(hWnd, &ps);
break;

C:\temp\a.c(102) : error C2065: 'hInst' : 定義されていない識別子です。
C:\temp\a.c(102) : warning C4047: 'function' : 間接参照のレベルが 'struct HINSTANCE__ *' と 'int ' で異なっています。
C:\temp\a.c(102) : warning C4024: 'LoadBitmapA' : の型が 1 の仮引数および実引数と異なります。
cl.exe の実行エラー

開発環境はVisualC++6.0です

469 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 02:21:40 ]
>>468
> C:\temp\a.c(102) : error C2065: 'hInst' : 定義されていない識別子です。



470 名前:468 mailto:sage [2008/01/06(日) 02:31:52 ]
ありがとうございました
hInstを宣言したらエラーが消えました。

でも画像が表示されない><

471 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 03:36:53 ]
宣言しただけかよw

サンプル丸写しして出直して来い

472 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 04:20:07 ]
せめてhBmpがまともかチェックくらいしたら
たぶん、"IDB_BITMAP1" を MAKEINTRESOUCE(IDB_BITMAP1) にすればいいとは思うが・・・

473 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 06:24:14 ]
C++/CLIで作ったリストボックスの項目にツールチップ表示をさせる方法ってありませんか?
ググってもMFCとか他言語ばかりで・・

474 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 07:22:03 ]
>>469
hInstっつーのはそのアプリケーションのメイン関数 _tWinMain()の
引数で渡されているHINSTANCE型の引数のことだよ

これはそのアプリケーションに一つしかないものだから
グローバル変数にでも保持しておいて使えばいい

475 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 07:22:27 ]
>>458だた

476 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 07:22:54 ]
>>468だたw寒くて指がずれるw

477 名前:468 mailto:sage [2008/01/06(日) 16:01:38 ]
>>471さん
サンプルまる写しで出来ないんです><

>>472さんのやりかたでやっても画面が真っ白のままでした><
プロジェクトフォルダの中身を覗いたらScript1.rcのサイズが2kbなんですけど
ちゃんとビットマップ画像入ってないのかと思ってダブルクリックしてみたところ
VisualC++が立ち上がって
Script1.rc

Bitmap
└IDB_BITMAP1
ってなってるんですけど問題無いですよね?

ちゃんと#include <windows.h>の下に

#include "resource.h"は書いてあるんです><

>>474さん
Cコンソールの時にやったコマンドライン引数みたいな解釈でいいですか?
猫本にはインスタンスハンドルとしか書いてなかったのでよくわからないまま読み進めてました><


478 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 16:28:57 ]
VS2005でWin32プログラムをデバッグで開始すると問題なく実行できるんですが、
Debug Release問わずデバッガ無しで実行すると途端に
---------------------------
cppwin.exe - アプリケーション エラー
---------------------------
"0x00000000" の命令が "0x00000000" のメモリを参照しました。メモリが "read" になることはできませんでした。


プログラムを終了するには [OK] をクリックしてください
プログラムをデバッグするには [キャンセル] をクリックしてください
---------------------------
OK キャンセル
---------------------------
で落ちてしまいます。
どういう事なんでしょうか。自殺すればいいんでしょうか。

479 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 16:30:52 ]
はい、よく分かってらっしゃる



480 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 16:36:33 ]
そんな殺生な。
もう2005が出てから2年以上経つんですから
デバッガなしだと表面化するバグがどういうものかくらいの情報はあるはずです。
教えてください。

481 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 16:38:01 ]
>>478
デバッガで落ちてそうな所を見つけるしかないんじゃね?
MFC使ってるのなら、AfxCheckMemoryとかが有効っぽいケースに見えるけどな。

482 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 16:39:33 ]
>>480
デバッガを疑いたい気持ちは痛いほどわかるが、デバッガのせいじゃないと思うよ。


483 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 16:40:50 ]
>>481
落ちそうな所も何もデバッガ付きならちゃんと意図したとおりに動いてくれるんですが・・・。

484 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 16:48:12 ]
>>483
例外ダイアログからデバッガを起動できるから、起きた場所を特定しよう

485 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 16:58:00 ]
とりあえず変数を初期化せずに使ってるんじゃね

486 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 17:01:22 ]
>>477
hBmpはいくつだったんだよ
0ならいつまでたっても絵は出ないぞ
試しに>>468のまるまるコピーして
IDB_BITMAP1版(MAKEINTRESOURCE使用)と"IDB_BITMAP1"版どっちも
ビットマップ表示できてるけど

487 名前:486 mailto:sage [2008/01/06(日) 17:02:46 ]
hInstはInitInstanceでグローバル変数に格納してるVC++が作ったソースのまま
一応念のため

488 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 17:47:29 ]
>>483

int *a;
a = NULL;

どっかでメモリ確保

if( a )
{
// aのメモリが確保されていた時の処理
}

とかやって落ちている気がするよ
デバッガ使うと何もしなくても変数が0初期化されてる事が多い

489 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 17:49:08 ]
あ、しまった
a=NULLしたら正常動作するなw

>>488のa=NULLを飛ばしてる気がする



490 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 18:06:38 ]
>>489
初期化されてないのが正常動作です。

491 名前:468 mailto:sage [2008/01/06(日) 18:57:43 ]
hBmpに正しく数値入ってるかどうか調べるために、表示させようと思ったんだけど
Printf使えないから試行錯誤で頑張って見たけど
HBITMAP hBmp;
BITMAP bmp_info;
RECT rc;
int w, h;
char *szStr="a";

DRAWTEXTPARAMS dtp;

switch(msg){
case WM_PAINT:
hdc = BeginPaint(hWnd, &ps);
hBmp = LoadBitmap(hInst, "MAKEINTRESOUCE(IDB_BITMAP1");
szStr = BITMAP.bmWidth; //hBmpの情報をszSTRに代入
SetTextColor(hdc, RGB(0, 0, 0));
//szStrの中身を表示
DrawTextEx(hdc,
szStr,
-1,
&rc,
DT_WORDBREAK | DT_EXPANDTABS | DT_TABSTOP,
&dtp);

(110) : error C2275: 'BITMAP' : typedef 識別子に、クラス メンバ アクセス演算子 (->) を使用しました。
よくわからないエラーが…変数の表示ってどうやるの?(´;ω;`)ブワッ

492 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 19:14:22 ]
まさかブレイクポイントも知らないんじゃないだろうな

493 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 19:18:13 ]
VC++のスレだから、当然デバッガ使える環境だと思ったんだが

494 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 19:22:18 ]
>>491
hBmp = LoadBitmap(hInst, MAKEINTRESOUCE(IDB_BITMAP1));
こうな。
そんでコンパイル通る状態にして、この行の次にカーソル移して
F9押してF5押してとまったらhBmpの上にマウスのポインタ置いてみな

495 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 19:29:11 ]
>>491
あのさー、型名と変数名の違いぐらい勉強してからこいよ

BITMAP 型名
bmp_info 変数名

君ははっきり言って基本的な知識がなさすぎる
まずはコンソールでCの勉強から始めなさい

496 名前:468 mailto:sage [2008/01/06(日) 19:53:43 ]
大学の課題で締切が迫っておりのっぴきならない状況なのでもう少し質問させてください><
ブレイクポイントは初めて聞いたのですぐに調べて
>>494さんのやり方で出来ました。マウスを載せたら型名と変数のHBITMAP hBmpが表示されて
エラー内容はa.obj : error LNK2001: 外部シンボル "_MAKEINTRESOUCE" は未解決です
Debug/a.exe : fatal error LNK1120: 外部参照 1 が未解決です。
って出ました><

>>495さん
半年前にやったCコンソールの本で構造体の部分読み返してみます><

497 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 19:55:23 ]
ごめんよ、
MAKEINTRESOURCE
こうね。

498 名前:468 mailto:sage [2008/01/06(日) 20:07:37 ]
エラーが消えたけど画面がすごく・・・白いです><

499 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 20:36:45 ]
>>498
そこで>>494



500 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 21:29:03 ]
>>468のソースで、hInstさえ正しい値を与えれば表示されるっしょ。

501 名前:デフォルトの名無しさん [2008/01/07(月) 10:31:24 ]
VS2005 C++のテキストエディタの画面で、
タブキーや、スペースコードが →や・マークで表示されてしまう様になってしまいました。
何かのキーを触ったら偶然そういう設定になってしまったのですが、
戻し方が解りません。どなたか教えて下さい。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<252KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef