■過去ログ置き場に戻る■ 1- 次250 最新50


[memo] "9999999999_00.html#R20" という感じで、URLの最後に "#RレスNo" を追加すると幸せになれます。

VisualC++相談室 【7】
1 名前:いさましいチビの女の子 :02/04/03 23:13
VisualC++関連の話題を扱うスレッドです。

前スレッド
http://pc.2ch.net/test/read.cgi/tech/1011615035/l50

2 名前:943 :02/04/03 23:31
2ゲッチュ

3 名前:デフォルトの名無しさん :02/04/03 23:46
3だっつーの!!(怒)

4 名前:デフォルトの名無しさん :02/04/04 00:09
>>1
女の子かー。

5 名前:デフォルトの名無しさん :02/04/04 00:14
んなわけない。

6 名前:アルメイダ :02/04/04 09:59
すみません、以前リストボックスの色のつけ方を質問した者ですが
色はつけることが出来たのですが、リストボックス内全部が同じ
色になってしまいます。
リストボクスッが複数項目ある場合、その項目毎に色を変えることは
出来ないのでしょうか

お忙しいところ申し訳ありませんが
教えていただけるようお願い致します。


7 名前:デフォルトの名無しさん :02/04/04 10:06
VCのシステムって根本的にどうゆうことなの?
C++やってるが全然わからん。


8 名前:デフォルトの名無しさん :02/04/04 10:24
小人が入ってるらしい

9 名前:デフォルトの名無しさん :02/04/04 11:49
>>6
前スレの919

10 名前:デフォルトの名無しさん :02/04/04 11:52
>>7
C++ + MFC + IDE用コード。

11 名前:デフォルトの名無しさん :02/04/04 12:03
STL.hって何入れれば使えるようになりますか?

12 名前:デフォルトの名無しさん :02/04/04 13:51
「エクスプローラでファイルを右クリックしたときに表示されるポップアップメニュー」
と同じものをプログラム的に表示するにはどうしたらよいのでしょうか?
やさしい有識者のお方、ご助言よろしくお願いいたします。

13 名前:デフォルトの名無しさん :02/04/04 14:26
>>1御付かれみたまちゃん

14 名前:デフォルトの名無しさん :02/04/04 16:04
>>12
http://msdn.microsoft.com/library/en-us/shellcc/platform/shell/programmersguide/shell_int/shell_int.asp
あたりを読むとか。MSDN LibraryやPlatform SDKにもサンプルがあった気が。
日本語解説があるかどうかは知りません。

15 名前:デフォルトの名無しさん :02/04/04 16:19
マウスの中ボタンと左ボタンを入替えるプログラムを作りたいのですが
とりあえず中ボタンをフックで捕まえることが出来るのですがその後に
左ボタンが押された用に見せる処理がうまくいきません。

どのようにすれば良いか教えてほしいYO!

16 名前:デフォルトの名無しさん :02/04/04 18:06
>15
捕まえられたんなら、
そこで左クリックのメッセージを投げとけば?

17 名前:デフォルトの名無しさん :02/04/04 18:09
CM_Get〜の関数を使って、あるデバイスが現在ドコに繋がっているか(※)を
調べるには如何すれば良いんでしょうか?

※ノートパソなんかで、SCSIカードがPCMCIAに繋がっているとか...


18 名前:デフォルトの名無しさん :02/04/04 18:45
誰かPostgreSQLをWin32でコンパイルして配布してください。

19 名前:デフォルトの名無しさん :02/04/04 19:26
   _____
 /::\_____\   
 |: ̄\∩`_´) \ 
 |:   :| ̄ ̄U ̄:|


20 名前:デフォルトの名無しさん :02/04/04 20:58
MFCで、毎フレームある作業をさせたいときはどうすれば?

21 名前:デフォルトの名無しさん :02/04/04 21:07
>>20
毎フレーム

22 名前:デフォルトの名無しさん :02/04/04 21:52
OnIdle

23 名前:デフォルトの名無しさん :02/04/05 01:11
ときどき出てくるVC7ってVC6の次バージョンのこと?
それともVS.NETに入ってる偽VC++のこと?

24 名前:デフォルトの名無しさん :02/04/05 01:44
前者と後者はどう違うんだ

25 名前:15 :02/04/05 09:59
>16
WH_MOUSE_LLでWM_MBUTTONXXをフックしてWM_LBUTTONXXをPostMessage
してみてもうまくいかないYO! このやり方じゃダメですかね?


26 名前:Disca ◆NAfP6znE :02/04/05 13:50
VisualCでMySQLを動かしたいのですが、どのようにしてプログラムすれば良いのでしょうか…。


27 名前:デフォルトの名無しさん :02/04/05 14:07
>>26
このへんとか
ttp://www.mysql.gr.jp/jpdoc/3.22/manual.ja_ODBC.html


28 名前:Disca ◆NAfP6znE :02/04/05 14:13
>>26
ありがとう、参考になりました。

29 名前:デフォルトの名無しさん :02/04/05 14:52
.netが発売されてから、あまり伸びてないね。
新しい人は、C#に関心があるのかな?

30 名前:デフォルトの名無しさん :02/04/05 15:20
souka?

31 名前:23 :02/04/05 16:51
>>24
VC6の次バージョン: ネイティブコードを作る。
偽VC: VC#.net, VB.netなどと同様の中間コードを作る(.netのない環境では動かない)

という意味です。
で、VC7はどっちなんでしょ?

32 名前:デフォルトの名無しさん :02/04/05 16:54
>>31
VisualSstudio .NETだろ?
ネイティブコードも作れるし、CLI版も作れる。

33 名前:デフォルトの名無しさん :02/04/05 17:20
>>15
ごめん。嘘ついてた。コレだと抜けが多すぎる...

>>25
システムフックのDLLを作ってそこで置き換える。
完璧なのを作りたいのなら、
マウスドライバに被せるような、フィルタドライバを作る。


34 名前:デフォルトの名無しさん :02/04/05 17:29
CM_Get_DevNode_Registry_Propertyって関数の第2引数に指定する#defineで
"CM_DRP_CAPABILITIES"の意味は何なんでしょうか?
知ってる方回答よろしく。m(_ _)m


35 名前:デフォルトの名無しさん :02/04/05 18:07
Excel2000 のオブジェクトを VC++6.0 で使いたいんですけど、どうしたらいいのでしょう?
Excel97 のサンプルは見つけたのですが、それを 2000 で使おうとすると、
excel9.tlh 内で
「error C2501: '_CommandBarsPtr' : 識別名を宣言するのに、型が指定されていません。」
等のエラーが出てしまいます。

ご存知の方、ご回答よろしくお願いします。

36 名前:デフォルトの名無しさん :02/04/05 22:06
VisualC++6.0 スタンダードエディション+DirectXでプログラムを作った
時はある程度安定してたけどVisualC++6.0エンタープライスにしたら
ビルドしたアプリがフリーズすることが多くなったんですけど自分だけ?

37 名前:デフォルトの名無しさん :02/04/05 22:16
>>36
アンタのコードにもともとバグがあったんだよ。
スタンダードエディションでは最適化をしないから、
今まで発覚しなかっただけ。

38 名前:デフォルトの名無しさん :02/04/05 23:42
VC6.0でつくったアプリには、
プロパティのバージョン情報以外に、
プロダクトIDのようなものが、
埋め込んであるんですか?


39 名前:デフォルトの名無しさん :02/04/05 23:52
>>36
サービスパックを最新のを当ててる?

40 名前:デフォルトの名無しさん :02/04/06 03:35
vc6エンタープライズとvc6.netどっちがよいのですか?


41 名前:デフォルトの名無しさん :02/04/06 03:50
>>40
vc"6".netにしる!

42 名前:デフォルトの名無しさん :02/04/06 13:07
自分のアプリを友人のマシンでテストプレイさせたら

Runtime Error!

って出てきます。自分のマシンではおきません。これって、
DLLが足りないとかが原因でおきるんですか?

だとしたら、どのDLLが必要なのかを簡単に調べる方法って
ありませんか?(使ってるAPIやらを全部洗い出してMSDN
ライブラリで調べろってのは勘弁してください)

43 名前:42 :02/04/06 13:12
ごめん。ageさせて。

44 名前:デフォルトの名無しさん :02/04/06 13:23
>>42
> どのDLLが必要なのかを簡単に調べる方法
Dependecy Walker 辺りを使うとよろし。

45 名前:42 :02/04/06 13:42
>>44
ありがとうございましたー。

フル英語なのがちょいムカつく(しかも、日本語pathは大文字変換のせいでバグありだ)けど、
これのおかげで何とかなりそうな予感です。

46 名前:15 :02/04/06 17:21
>33
レスありがとう。
う〜ん、簡単に出来そうと思ったんだけどなかなか難しそうだな。

47 名前:23 :02/04/06 17:25
>>32
ネイティブコードもつくれるとは知らんかったです。
ありがとございます。

じゃあ、ここで聞くことじゃないかもしれないけど、VC#.netもネイティブコード
吐いてくれるのかな?

48 名前:デフォルトの名無しさん :02/04/07 02:45
シェルエクステンションでエクスプローラにツールバーを加えたん
ですけども、そのうえのボタンを押したときに選択しているファイ
ルを取得する方法を教えてください。


49 名前:デフォルトの名無しさん :02/04/07 03:34
エクスプローラのあれは、
ListViewやないの?

50 名前:デフォルトの名無しさん :02/04/07 05:09
エクスプローラのListViewを取得することができるのかな?
もしくはメッセージをおくるとかですか?

51 名前:初心者 :02/04/07 17:29
基本的な質問なんですが、
VC6で、C++の教本に載ってる、プログラムを
普通に入力して実行するにはどのように
したらよろしいんでしょうか?

52 名前:デフォルトの名無しさん :02/04/07 17:36
>>51
・・・VC6の教本も買った方がいいと思うよ。マジで。

53 名前:デフォルトの名無しさん :02/04/07 18:17
>>51
VC6を立ち上げなさい。
ファイル、新規作成、プロジェクト選択、ファイル、新規作成、
ソースファイル(cpp)で後はコードを打て。

54 名前:デフォルトの名無しさん :02/04/07 18:19
>>51
VC6.0のエディタにコードを入力してビルド->実行じゃだめなの?
C++の教本に載っているようなものならコマンドラインからclを使った方がいいけど。

55 名前:デフォルトの名無しさん :02/04/07 18:53
VC6 を使っています。
自作クラスへのポインタの std::list を iterator を使って for でループしようとすると

SourceFile.cpp(121) : error C2678:
二項演算子 '<' : 型
'class std::list<class NAMESPACE::CLASSNAME *,class std::allocator<class NAMESPACE::CLASSNAME *> >::iterator'
の左オペランドを扱う演算子は定義されていません。
(または変換できません)(新しい動作; ヘルプを参照)

というエラーが出てしまいます。まったく意味不明なのですが、
どういう意味でしょうか?

56 名前:デフォルトの名無しさん :02/04/07 19:36
std::list::itarator を扱う operator < は定義されてないから
そんなもん使うんじゃねぇ!という意味でしょう。

57 名前:デフォルトの名無しさん :02/04/07 19:47
STLのiteratorの巡回終了条件には、!= を使うのが常道で、
i < list.end();みたいなコードは書けない場合もある。


58 名前:55 :02/04/07 20:00
>>56
それっぽいエラーが出たので対象クラス用の比較演算子群を定義したら
そのエラーは消えました。
ともあれ、ご返答いただきましてありがとうございました。

>>57
なるほど…ズバリこれでした。
iterator を使ってないコードからコピペしたので全然気づきませんでした。
ありがとうございました!!

59 名前:デフォルトの名無しさん :02/04/07 20:13
アルゴリズム使えよ

60 名前:デフォルトの名無しさん :02/04/07 20:39
ポインタのリストだからな…
全てのポインタが必ずi < list.end();のアドレスにあるとは限らん。

61 名前:デフォルトの名無しさん :02/04/07 23:21
>39
>サービスパックを最新のを当ててる?
サービスパックって複数枚あるんですけど、どれでしょうか?

62 名前:デフォルトの名無しさん :02/04/08 04:38
>>59
transform?

63 名前:初心者 :02/04/08 13:21
CWnd::OnKillFocus は入力フォーカスを失う直前に呼び出されるみたいですが、
フォーカスを失った直後に処理をしたい場合はどうしたらいいでしょうか?

64 名前:デフォルトの名無しさん :02/04/08 14:16
教えて君で申し訳ありませんが。
今、VC++でプログラムを自作し、移動ステージを動かさねばなりません。
しかし付属のマニュアルにはコントローラのパネル操作でのステージ移動
についてしか書いてなく困っているしだいです。
PCにコントローラを繋いで、そのコントローラに直接コマンドを
送る方法について教えてください。
おそらくこんな書き方では伝わりにくいと思うのですが・・・。
よろしくです。

65 名前:リアル厨房  :02/04/08 16:29
nが真のとき偽を返し、nが偽の時真を返すファンクションが欲しいのですけれど、
どのように書けばスマートに行けるのでしょうか?

こんなのは不味いですよね。
御教示頂けたら幸いです。

bool Classname::funcname(n) const{
  if(n){
    return (false);
  }else{
    return (true);
  }

66 名前:デフォルトの名無しさん :02/04/08 16:37
return !n;

67 名前:リアル厨房  :02/04/08 16:40
>>66
それも試したのですが動かなくてお伺いした所存です。
他に間違いがあると思いますので、もう少し試して見ます。有難う御座いました。

68 名前:リアル厨房  :02/04/08 16:44
関数を呼び出す時の()を付け忘れておりました。
どうもお騒がせ致しました。

69 名前:Disca ◆NAfP6znE :02/04/08 16:54
return (n ? false : true);

70 名前:デフォルトの名無しさん :02/04/08 16:57
return !!!n;

71 名前:デフォルトの名無しさん :02/04/08 17:00
operator !()しか定義されてなくて、
if( !!obj )
{...}
とやる罠

72 名前:デフォルトの名無しさん :02/04/08 17:08
一番基本的で他言語からも呼び出せるDLLが作りたいのですが
なんだかいろいろな方法があって困っています。
一番正当な方法がしりたいのですが、HPなどあったら教えてください。

73 名前:デフォルトの名無しさん :02/04/08 17:11
VCは、買ってみて、幻滅した。
結局コンパイラとデバッカしかつかっとらん。
俺はウィンドーズだけじゃなく、リナックスのアプリケーションも
作りてーんだぁーーーーー(切)
マイクロソフト マンセーー

74 名前:デフォルトの名無しさん :02/04/08 17:30
>73
すまない。その高度なボケにうまく突っ込む技術はオレには無い。

75 名前:デフォルトの名無しさん :02/04/08 18:11
単にマンセーの意味を間違ってるだけだと思われ

76 名前:デフォルトの名無しさん :02/04/08 19:11
                 /)
             、2)Y⌒  ⌒フ   +
           ッ-i'´       ⌒フ
           (´ ,.-゙ー-、     ろ、
        * シ彡ノ"ミVv    )
      *    ノノノノ"ヽヽヽミ   シ  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
.          ,l')∩  ∩ |)|ヾ ミ  < DoLoveLove?
           ,○)、 ▽  ノjl| YY゙    \________
           {_∃ `l____/⌒'i|
            ̄ Yl"゙⌒lY |  +
              ,ト|__/ハ i、
           ,iニiニiニユ ゙h,,)
           ノtYTYヾ\
          /''フ''''ー<"ヽ、
           /__ノ     \ノヽ、
          (__)     ゞ__)



77 名前:デフォルトの名無しさん :02/04/08 20:35
普通にMSDNLibraryを起動するとタスクマネージャにhh.exeってのが表示されますよね?
でも、VC++から起動すると表示されません。
これは、どういう風に起動しているのでしょうか?

78 名前:72 :02/04/08 21:36
わかりました。

79 名前:デフォルトの名無しさん :02/04/08 21:54
ショートカットのプロパティをみれ。

80 名前:デフォルトの名無しさん :02/04/09 00:17
ヲい!モ前ら!
プロジェクトファイルが提供されてない、メイクファイルしかない、
プロジェクトをVCで開くとき、どんな方法を使ってますか?

81 名前:デフォルトの名無しさん :02/04/09 00:21
>>77 COMのinprocess serverだろ。
VCから起動すると、たまにヘルプのキー入力を奪い取ったり(CTL+Fとか)かなり不便。

82 名前:デフォルトの名無しさん :02/04/09 00:23
std::negateで駄目な理由がおもいつかん。


83 名前:デフォルトの名無しさん :02/04/09 10:17
>15
いまさらだけどこんな発見。
コレ → SwapMouseButton
気づいてたらスマン。

84 名前:デフォルトの名無しさん :02/04/09 10:49
電源投入時の時間が知りたいんですけど、何かAPI知りませんか?
(電源投入時 → OSが起動した時間です。)
「起動してからの時間を取って、現在の時間から逆算」ってのは無しの方向で...
ご存知の方、よろしくお願いしますm(_ _)m

85 名前:デフォルトの名無しさん :02/04/09 12:09
>>84
RDTSC
電源投入時からっつーのは難しい。


86 名前:デフォルトの名無しさん :02/04/09 12:11
>>84
Winが起動してからならGetTickCount
そしてスレ違い

87 名前:デフォルトの名無しさん :02/04/09 12:24
HBITMAPってなんですか?
メモリー上にビットマップのデータがあってそれへのポインタですか?

88 名前:84 :02/04/09 13:35
レスどうも。>>85 >>86
質問の仕方の書き方を間違った...ついでに板も。←Win32APIのトコか?
A→Bなんて書き方をしちゃあイケナかったね。
システムが起動した(出来れば電源投入時)時間を取得したかったんですよ。
やっぱり経過時間から逆算するしかないのか・・・

89 名前:デフォルトの名無しさん :02/04/09 15:13
>>72
今ならCOM。将来は.NET。
かな?

90 名前:デフォルトの名無しさん :02/04/09 17:14
環境変数をVC使ってプログラムで登録するのはどうすれば良いですか?

91 名前:デフォルトの名無しさん :02/04/09 17:20
>>90
プロセス環境の環境変数の取得/設定なら、
Get/SetEnvironmentVariableです。
が、Windows全体の環境変数を設定する方法はわからないです。

92 名前:デフォルトの名無しさん :02/04/09 17:45
レスありがとうございます。>>91
質問悪くてすみません。
おっしゃられている通り、全体の環境変数なんですよ・・・

93 名前:デフォルトの名無しさん :02/04/09 18:08
FILE構造体を引数にもつ関数をもったDLLを作成し、
いざ実行プログラムでstderrを引数にして呼び出したら
DLLの関数内のfprintfで落ちるんだけど、なぜなんでしょう?


94 名前:デフォルトの名無しさん :02/04/09 18:20
OnDraw()で描画後、画面に表示されません。
Invalidate()とかしても表示されません。もしくはOnDraw()のループになります。
どうすればいいですか?

95 名前:デフォルトの名無しさん :02/04/09 18:35
Invalidateはクライアント全体を更新領域に追加する関数。
その後OnDraw(WM_PAINT)を呼び出して、無効領域の描画を行う。
OnDraw内でInvalidateをすると無限ループに陥る可能性がある

96 名前:94 :02/04/09 18:44
かわりの関数おしえてくださいです。。

97 名前:デフォルトの名無しさん :02/04/09 18:56
きっちりメッセージループを回しているなら、
好きなタイミングでInvalidateすれば次、もしくはさらに後のループで描画されるはず。
メッセージループを回していないなら、Invalidate後にUpdateWindowしろ。

98 名前:94 :02/04/09 18:57
もしかしてOnDrawで表示されないのはまだドキュメントが作成されてないからかな
と思い、新規作成を選んだら表示されました。

これを最初から行うにはどうすればいいのでしょう?

つまりOnCreate()とかそんなハンドラで、
それを呼び出す時点でViewは完成していて、OnDraw()が動いてくれる、そんなような関数ありますか?

99 名前:デフォルトの名無しさん :02/04/09 19:03
はじめから無題が開いているだろ。
もしかしてMDIか?
きっちり状況を説明しろよ

100 名前:94 :02/04/09 19:06
SDIです。
実行した時点ではなにも表示されません。
この状態で
・他のウインドの下に隠してから、もう一度アクティブにしてあげると表示される
・新規作成を選ぶと即座に表示される。

です。よろしくお願いします

101 名前:77 :02/04/09 20:48
>>79
そうじゃなくて、VC++の側からのような起動はどういう風にしているのか知りたいんです。

102 名前:デフォルトの名無しさん :02/04/09 22:26
>>101 たぶんHTMLHelp API でhhctrl.ocxを呼ぶ

103 名前:デフォルトの名無しさん :02/04/09 22:47
早速ですが、VC6 SP5で開発をはじめたVC初心者です
最近、プロジェクトのロード時間と、エディタの改行時間が重くて、困っております
プロジェクトのロード時は、『リストボックスを読み込んでいます』で、
エディタでは、ブレイクポイントのあるソースで改行をすると、砂時計でまたされます
何か、ご存知の方、ご指導ください

104 名前:15 :02/04/10 09:53
>83
レスサンクス、オレも亀レススマソ。
SwapMouseButtonは右左を入替えだけなんだよね。
右中はフックしてmouseEvent投げてやればある程度できるんだけど、
mouseEventのコールがまたフックされる、それをフラグで回避してる
けどやり方がおかしいためか挙動が変になっちゃう。
2日ほど仕事の空があってその間で出来るかなっと思って作り始めけど今は仕事で
時間が割けんのでストップ中です。

105 名前:デフォルトの名無しさん :02/04/11 11:29
       ,.-、       ,..-‐−- 、、
     /^`~",  :\  ,ィ":::::::::::::::::::;;;;;iii>;,、
   ,.-",   /......:::::i::l /:::::::::::::::;;;;;;;;iii彡" ::ヤi、
  ,.i  .|  :キ:::::::::::|::V::::::::::::;:"~ ̄     ::i||li
 / 、  | ,;:::::l:::::::::::マ,.-‐-、j'_,.ィ>、、   .:::iii》
 i、 ヘ  :\:::::::キ;:::::::(:::j::):...) `‐-‐"^{"^ヾノ"
  ヤ、 \:::::\,::::\:;;;:iゞ:-:;ィ     ,.,li`~~i    / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
.,;iiλ\.,,ィ^-‐'`ー",:::|::;X'::7、   ・=-_、, .:/   <      ついに完成した。これがドラえもんだ!!
";ii::i`ゝ、::;;;:、-‐-;;;;i‐'''|  .〉'.ヘ    ''  ./     \_____________________
.;ill;;:\::::::::::::::::;ノノl} ィ|、./:ー-`=‐-、、ノ
iilllllli;;:::`:‐-‐'":;ノ  │丶=‐-、,,_`l, ,.へ
llllllllllllii;;,,___;;;iill|||( ´D`) \ー=、7^ヾ'‐-、、
|||||||||||||||||||||||j'::::(U,U‐"、:::::\..::/   \  `ヽ
             UU


106 名前:VC挑戦中 :02/04/11 11:59
VC始めて1ヶ月の初心者です。ActiveX(COM)の質問をさせてください。
ダイログにActiveX(DLL)を貼り付けられなかったので(貼り付けて実行するとダイアログが表示されない)
コード中で作成することにしました。(VBでは貼り付けてコントロールが表示される)
#importディレクティブでロードし、スマートポインタをCoCreateInstanceで作成しています。
このDLLには、コントロールを持っているのですが、そのコントロールを表示することが出来ません。
コントロールを表示するメソッドは、DLLに実装されているものなのでしょうか?
それとも、OLE関係の関数で外部から表示することが出来るのでしょうか?
ちょっと内容がわかりづらいかもしれないですけど、宜しくお願いします。
環境はVC++6 SDKです。


107 名前:デフォルトの名無しさん :02/04/11 14:08
タスクトレーにアイコンを入れてみたんですが色がおかしいです。
どうやら16色じゃないとダメみたいです。
自分はWin98です。
MeやXPでも16色表示ですか?


108 名前:別の人 :02/04/11 14:09
>>94
SDI・MDIのヴューに対する開始時の処理は OnInitialUpdate() で。
・・・で、Invalidate()&UpdateWinodw() をペアで呼ぶと OnDraw()(≒WM_PAINT
正確には少し違う)が走る。
∞になるのは、既出だが多分OnDraw()の中でInva〜 or Update〜 を読んでるから。

最初だけ表示されないのはタイミングだけの話なので、面倒臭けりゃ後回しに
しといて後からゆっくり試しましょう。じゃ


109 名前:デフォルトの名無しさん :02/04/11 14:17
>>103
真面目な話、マシンの問題くさい。
ハードディスクが壊れる寸前、読み込みに時間のかかるセクタがコンパイラの
バイナリにぶち当たっている?のでは
大体、開発環境はマシン負荷が一番かかるので、イカれ始めはコイツから
発覚しやすい、多分。


110 名前:デフォルトの名無しさん :02/04/11 14:23
>>106
開発時に貼り付けるだけのときでも、関連パスが通ってなけりゃ
駄目だったりとか色々あると思う。そのためのプロパティ用コーディングやら
なんやらやってあるはずなので。でも詳しいことは知らん。

111 名前:デフォルトの名無しさん :02/04/11 14:25
>>107
アイコンリソース内に大小2つ持ったりしてんじゃないの。
ちゃんとしたアプリは。

112 名前:不明なデバイスさん :02/04/11 17:44
Visual C++ 6.0 Professional Edition: \84,100 (\13,600)

これって、アカデミックパックでもほとんどかわりありませんか?_


113 名前:デフォルトの名無しさん :02/04/11 19:13
DLLとダイナミックリンクする場合
どういうタイミングでリンクさせるべきですか?

(1)プログラム開始時にリンクさせてそのまま
(2)実際にDLL内のプロシージャを使用するときにリンクして必要無くなったら開放

複数のDLLとリンクさせてDLL内のプロシージャを使うことが
殆どない場合(2)にすべきですか?
(2)の方がメモリの使用量が少なくて他のアプリには優しそうですが
いちいちロードしていたら処理速度が落ちそうです。
メモリにキャッシュされていればロード時間は短縮されそうですが
キャッシュされているくらいメモリに余裕があるなら(1)の方が効率的ですよね?

どうしましょう?


114 名前:デフォルトの名無しさん :02/04/11 20:13
>113
楽な方でいいんじゃ無いですか?w

チウか9xってデフォルトだと死ぬほどディスクキャッシュにメモリ
持っていきますよね。もうね以下略。

115 名前:デフォルトの名無しさん :02/04/11 21:49
>>113
EXEやDLLのコードは実メモリに常駐しないよ。
仮想記憶上に割当てられて、必要なときに読みこまれるから、
(2)にメモリ節約や処理速度のメリットは無いよ。
(2)はプラグインの実装や、DLLバージョンの違いによる
APIの有無に対応する場合に有効です。



116 名前:デフォルトの名無しさん :02/04/11 22:38
でも、起動を早くする効果はある

117 名前:113じゃないけど :02/04/11 23:13
>>115>>116
ってことは、

(3)初めて必要になったときにリンクして、以後そのまま使用する。

って感じで、プロキシクラスっぽい使い方がベスト?

118 名前:デフォルトの名無しさん :02/04/12 06:48
VC++6入れようと思うのですが
Visual Studio 6.0 と Visual Studio .NETって
どっち入れたほうがいいですか?

119 名前:デフォルトの名無しさん :02/04/12 07:01
車に乗ろうと思うのですが
カローラと223系近郊型電車って
どっち乗った方がいいですか?

120 名前:デフォルトの名無しさん :02/04/12 08:15
飴をなめようと思うのですが
サクマドロップスとミルキーって
どっち舐めた方がいいですか?


121 名前:デフォルトの名無しさん :02/04/12 08:48
チンポ入れようと思うのですが
ヘルスとイメクラって
どっち入ったほうがいいですか?


122 名前:デフォルトの名無しさん :02/04/12 08:55
>>114
どういう制御なら満足なの?

123 名前:デフォルトの名無しさん :02/04/12 09:09
>>115
MFCxx.DLLみたいな、たくさんのEXEからつかわれる
やつは、DLL化したほうがシステムの負担が減るんじゃない?

124 名前:デフォルトの名無しさん :02/04/12 09:22
>>115
>EXEやDLLのコードは実メモリに常駐しないよ。
>仮想記憶上に割当てられて、必要なときに読みこまれるから、

どのくらいの頻度でスワップするか知らないけど、
ほぼ常駐状態なのでは?


125 名前:デフォルトの名無しさん :02/04/12 11:12
>>124
もっと仮想記憶について勉強してこい

126 名前:デフォルトの名無しさん :02/04/12 11:35
OSのファイルハンドルからFDを得るのか、
その逆の動作をするAPIかcrtの関数があったと思うのですが、
検索しても見あたらなくて困ってます

どなたかご存じありませんか?

127 名前:デフォルトの名無しさん :02/04/12 11:35
じゃこういう理解でいい?
 DLLがロードされたというのは メモリマップドファイル化された状態
 だから、実メモリ上は共有され
 実際にどこかのプロセスでアクセスがあるまでは実ロードも保留されている。


128 名前:デフォルトの名無しさん :02/04/12 11:37
>>125
なんか勘違いしてないか、こいつ。


129 名前:デフォルトの名無しさん :02/04/12 14:24
TranslateAcceleratorを使うと、子コントロールに入力フォーカスがあっても
キー入力を奪っちゃうんだけど、これを回避する方法はない?

たとえば、Aキーにアプリケーションの終了とか割り当てちゃうと、
エディットコントロールにフォーカスがあってもAが入力できないとか。

130 名前:115 :02/04/12 15:37
>>127さんの理解で正解。
仮想記憶1ページ分(Win32では4KB)の実メモリさえあれば
どんなサイズのEXE/DLLでも実行が可能です。



131 名前:デフォルトの名無しさん :02/04/12 17:24
>122
たまにはメモリ整理してくれよ…と。今は使ってないので問題無しw

132 名前:デフォルトの名無しさん :02/04/12 17:35
すみません教えて下さい
VC++いくつかのクラスを定義して、コンパイルしようとすると
最近こんなことを言われます

ビルド : 警告 : ビルドに失敗しました
(またはビルドの方法がわかりません) 'C:\しぃ言語\sea\Debug\sea.pch'

pchファイルとはなんでしょうか?
 対処法などあるのでしょうか 教えて下さい

133 名前:デフォルトの名無しさん :02/04/12 17:41
これって初心者向け?

134 名前:デフォルトの名無しさん :02/04/12 17:42
とりあえずVC立ち上げ直して、クリーンビルドやってみたら。

135 名前:デフォルトの名無しさん :02/04/12 18:08
>>131
整理って実際には?

136 名前:デフォルトの名無しさん :02/04/12 23:05
http://pc.2ch.net/test/read.cgi/tech/1006834463/182

がよくわからぬ。詳しく説明きぼんぬ。

137 名前:デフォルトの名無しさん :02/04/12 23:14
>136
コンパイラの警告を無視せずちゃんと調べろ、くらいの意味だと思われ。

138 名前:デフォルトの名無しさん :02/04/12 23:39
>>137
警告ですか。…警告が出てなくても落ちる時は
主にどこを調べればよいでしょうか。

139 名前:デフォルトの名無しさん :02/04/13 00:50
>138
ポインタに変なモノが入っていないか、根気よくデバッグして調べる。
参考までに、リリース版でこける原因のトップ3は
1. 初期化されていないポインタ
2. 初期化されていない配列や構造体
3. ASSERTトラップ
だ。頑張れ。

140 名前:デフォルトの名無しさん :02/04/13 07:46
http://www.google.co.jp/search?q=cache:Gku2r4QU1fMC:www.dodgson.org/lab/docs/hat/boost_intro.html+boost+shared_ptr&hl=ja&lr=lang_ja

ここのarrayの説明に、templateに整数で引数を渡すとVCじゃ問題ありみたいなことが書いてあるんだけど、
どういう問題があるの?

141 名前:デフォルトの名無しさん :02/04/13 12:59
ウィンドウのフレームや、タイトルバー、その他のバーの色を変えたいんだけど
できますか?

142 名前:デフォルトの名無しさん :02/04/13 13:06
できる

143 名前:デフォルトの名無しさん :02/04/13 16:55
>142
教えて下さい。おながいします。

144 名前:デフォルトの名無しさん :02/04/13 17:01
VBとVCにスレッド両方に書き込みましたが
「マルチポストうぜ〜」などと煽らずにマジレスしてください。

VBでファイルにバイナリアクセスする場合に
本にはバイト配列を使用して書き込むと書いてありましたが
どうやるんですか?
VCの場合はLONG型や浮動小数点型でもポインタを使って
バイト配列の一部にコピーしたりするのは簡単ですが
VBはポインタが無いのでどうやって変換して良いのか分かりません。
例えばLONG型(4バイト)と倍精度浮動小数点型(8バイト)を
12バイトの配列に格納する方法
逆に12バイトの配列からLONG型と倍精度浮動小数点型を抽出する方法教えてください。


145 名前:デフォルトの名無しさん :02/04/13 17:21
>>144
何のために、そんな事したいの ? 普通に文字列で書いて、文字列で読みだしゃい
いじゃん。

どうしてもやりたいなら、C で .dll 書いてそれ呼び出すか、RtlMoveMemory
API を使えばできるが、「VBはポインタが無いので」と言う認識では無理、
あきらめな。

146 名前:デフォルトの名無しさん :02/04/13 17:21
>>144
マルチポストしたなら答えてもらう資格はない

147 名前:デフォルトの名無しさん :02/04/13 17:25
string hogehoge="ageage";
MessageBox(NULL,hogehoge,"Message",MB_OK);
みたいにするとき
hogehogeの文字列char[]を参照するにはどうしたらいいDEATHか?



148 名前:デフォルトの名無しさん :02/04/13 17:32
&hogehoge[0]

149 名前:147 :02/04/13 17:59
>>148

おー!待ってたぜ。
ありがとう
I love you babe!


150 名前:デフォルトの名無しさん :02/04/13 18:26
>>149
マジかよ

151 名前:デフォルトの名無しさん :02/04/13 19:46
>>148-149
ワラタ

152 名前:デフォルトの名無しさん :02/04/14 00:27
すみませんちょっと教えてください
LPSTR
っていう変数名がなにげによくでてくるんですが
これってなんなんでしょうか?
 ヘルプをみても文字列への 32 ビット ポインタとしか書いてない・・・・
CString *と同じですか?

153 名前:デフォルトの名無しさん :02/04/14 00:35
char* と同じです。

154 名前:デフォルトの名無しさん :02/04/14 10:51
>>152
typedef char CHAR;
typedef CHAR *LPSTR, *PSTR;

155 名前:デフォルトの名無しさん :02/04/14 14:15
char 文字列知らない人・・・?時代は変わったのか・・・。

>文字列への 32 ビット ポインタ


156 名前:デフォルトの名無しさん :02/04/14 15:21
charへのFARポインタだろ
全くもう..


157 名前:デフォルトの名無しさん :02/04/14 18:25
FARって何?

158 名前:デフォルトの名無しさん :02/04/14 18:30
>>157
セグメントをまたいでのメモリアクセスが可能なポインタ。

159 名前:デフォルトの名無しさん :02/04/14 18:31
FAR…過去の遺物では?

160 名前:デフォルトの名無しさん :02/04/14 18:31
64kb境界を越えられるポインタだろ
全くもう..

161 名前:デフォルトの名無しさん :02/04/14 18:38
セグメントって何?
超えられない?

わけわからーん。

162 名前:デフォルトの名無しさん :02/04/14 18:54
>>160
それが1セグメントっす。

163 名前:デフォルトの名無しさん :02/04/14 19:00
>>159
ナニ、過去の遺物だって? 寝ぼけたこといってるなぁ。
VC がどんなコードを吐いてるか、考えたことないのか?

「FAR ポインタなんて過去の遺物」なんて言ってるヤツは、
今後一切、例外処理を使うなよ。
例外処理をしている DLL を呼び出すこともまかりならん。


164 名前:デフォルトの名無しさん :02/04/14 19:02
>>163
FAR自体を知らなくても例外処理できるから遺物なんでつよ(´Д⊂

165 名前:デフォルトの名無しさん :02/04/14 19:13
128bitコンパイラとかでてきたらFAR/NEARの復権もあり得るかモナ。

166 名前:163 :02/04/14 19:15
>>164
あのね、「遺物」というのは、もう誰も使ってないから「遺物」なんだよ。

たとえ知らなくても、現役で使われていたらそれは「遺物」とは言わんと思うが。


167 名前:159 :02/04/14 20:35
>166
んと,VC++のインクルードファイル見たんですよ。すると,

#define far
#define FAR far

ってなってたので。

32bit以前のコード移植の為にあるだけだと思ってたんですが。


168 名前:デフォルトの名無しさん :02/04/14 20:42
>>167
将来のコンパイラとのソース互換確保のためじゃないの?

169 名前:デフォルトの名無しさん :02/04/14 20:46
>>156-160
お前ら本当に大丈夫か ? まさか、Near ポインタがいまだに 16bit とかいって
んじぁねーのか。

170 名前:デフォルトの名無しさん :02/04/14 21:54
Nearポインタって何〜?

171 名前:デフォルトの名無しさん :02/04/14 22:24
きょうびセグメントつったら、最大4Gで、16bitのセレクタで指定しるアレだろ…

172 名前:デフォルトの名無しさん :02/04/14 23:34
NT(win32)じゃnearもfarもねーぞ!!。フラットだ!!。
「64k」って...いつの時代の話してるんだゴラァ!

173 名前:デフォルトの名無しさん :02/04/14 23:41
そろそろ64bitの時代が来ますがお前らどうですか?
VS.NETからPlatformSDKも最新版(64bit対応)になってそのままだと
通らないソースとか出てきてショボーンだったりしませんか?

174 名前:デフォルトの名無しさん :02/04/14 23:42
IntPtrとかなー、ちょっと直感的でないtypedefだとおもいません?

175 名前:デフォルトの名無しさん :02/04/14 23:44
>>173
一部のAPIは64bitへの移植に備えてるみたいだが、まだ中途半端で困る。


176 名前:デフォルトの名無しさん :02/04/15 00:15
つーか、64bitOS上で64bitコード書くつもりかおまえら何様だ(藁

177 名前:デフォルトの名無しさん :02/04/15 06:58
現在新visualc++6.0入門ビギナー編(林晴比古)で勉強中です。
何かアドバイスをください。

178 名前:デフォルトの名無しさん :02/04/15 08:14
その本を投げ捨てましょう。

179 名前:デフォルトの名無しさん :02/04/15 08:18
まずその本を捨てろ。

180 名前:デフォルトの名無しさん :02/04/15 10:21
VC++ (SDK)でRealPlayer用のファイルを再生する場合、どのようにすればいいのでしょうか?
RealSDKをDLしてみたんですが、MFCでコンソールアプリ用だったし。
rmoc3260.dllを#importしてCoCreateInstanceでスマートポインタを取得するところまではできたのですが、
「再生ウィンドウを表示して、自作ウィンドウに埋め込む」というのが出来ません。
VBとDelphiなら簡単にできましたが、ActiveXを使うにはVCは向いてないのでしょうか?
どなたか知恵を貸してください。

181 名前:デフォルトの名無しさん :02/04/15 10:26
VBはともかく、Delphiがやっていることと同じ事をやればOK。
もちろん、VC標準にはない機能は自分で実装すること

182 名前:180 :02/04/15 10:41
>>181
!?
DelphiもVBと同じ方法ですよ?
フォームにActivexコントロールをペタッと貼り付けて…

183 名前:デフォルトの名無しさん :02/04/15 10:48
>>182
ハァ?
おまえがDelphiでやった事じゃなくて、
Delphiが内部でやっていることだっつーの。
VCLのソースだって付いてきてるんだろ

184 名前:180 :02/04/15 11:21
>>183
実はDelphi全くの初心者で…
フォームに貼り付けて実行して表示された段階でできた!って思っただけなので。
(VCではダイアログに貼り付けても表示すらされない)
ちょっとDelphi勉強してきます。

185 名前:チビ :02/04/15 17:16
あげ

186 名前:デフォルトの名無しさん :02/04/15 20:04
ATLあるいはMFC使うのが通例。手でActiveXコントロールコンテナ書くのは無謀。

187 名前:学徒 :02/04/16 01:13
プログラムで0.1を百万回たさせても十万という値が出ずに中途半端な値
(確か十万よりちょっと大きかったです)が出るわけですがこの理由は何なのでしょうか?不思議でしょうがないです
int i=0;
float a=0;
while(i<1000000){
i++;
a=a+0.1;
}
誰か御教えください、おねがいしますm(_ _)m
またこのことについて載っているサイト等ありましたら御教えくださいませ

188 名前:デフォルトの名無しさん :02/04/16 01:32
>187
0.1というか浮動小数点数が2進数でどう表されてるかを
勉強すると良いかと。

189 名前:デフォルトの名無しさん :02/04/16 02:37
>187
10進数の 0.1 は、2進数では割りきれない値だから、その誤差が出る。
ループで加算のかわりに、乗算でも結果は同じだと思うな。
float a = 0.1;
printf("%f\n", a*1000000 - 100000);


190 名前:デフォルトの名無しさん :02/04/16 03:08
>>187
10/3 = 0.3333333を3回足しても10という値が出ずに中途半端な値
(確か10よりちょっと小さかったです)が出るわけですがこの理由は何なのでしょうか?不思議でしょうがないです。

191 名前:もうだめぽ・・・ :02/04/16 03:09
×10/3 = 0.3333333
○10/3 = 3.3333333

192 名前:デフォルトの名無しさん :02/04/16 03:32
http://www.google.com/search?hl=ja&q=%95%82%93%AE%8F%AC%90%94+%8C%EB%8D%B7&btnG=Google+%8C%9F%8D%F5&lr=lang_ja

193 名前:デフォルトの名無しさん :02/04/16 11:44
>>190
情報処理技術者試験でも受けてみなはれ。


194 名前:180 :02/04/16 15:29
>>186
MFC嫌いなんだよな〜
MFC使うならVBで書いたって同じだし…
でもユーザが
「VC++ SDKで。
プレゼンテーションを表示したいから、フォームでRealPlayerを実行したい」
ってなわがまま言うもんだから…
しっかし、COM難しすぎ!!

195 名前:デフォルトの名無しさん :02/04/16 16:31
>MFC嫌いなんだよな〜
なら、ATL/WTLですね :-)

196 名前:デフォルトの名無しさん :02/04/16 18:34
Win2000sp2で、PlatformSDK 2001/oct のセットアップがどうしても
失敗するんですが、原因わかる方、いる?

Errors occurred during installation.
1601: A Windows installer error has occurred.
512: Installation failed with one or more errors.
Plaese correct the errors and/or try again.

197 名前:学徒 :02/04/16 20:07
>>188-192
皆様ありがとうございます
0.1は2進数で割り切れない数だからだったんですね
ということはfloatでなくてdoubleにでもすれば少しはましになるということですね
完全に解決する方法はないのでしょうか?

>>189
>printf("%f\n", a*1000000 - 100000);
これはなぜ -100000引いてるんですか?

198 名前:デフォルトの名無しさん :02/04/16 21:34
>197
文字列で数値表現すれば一応解決w

199 名前:デフォルトの名無しさん :02/04/17 02:06
あの、質問いいでしょうか?

mciSendStringやsndPlaySoundなどで音を鳴らすときに
2つ以上の音を同時に鳴らすことはできないといわれました。
DIRECTSOUNDを使えばできるといわれたんですが
これは本当なのでしょうか?

また、もし本当なら、DSOUNDを使う以外にどのような手段があるでしょうか?

200 名前:デフォルトの名無しさん :02/04/17 02:07
自前ミキサを使ってwaveOut〜

201 名前:デフォルトの名無しさん :02/04/17 02:09
あらかじめ、2つの音がミックスされたwavを用意しておく。

202 名前:デフォルトの名無しさん :02/04/17 02:15
>>200
自前ミキサとは何でしょう?
検索エンジンにもひっかからないところを見るとプログラム用語ではないのでしょうか?

>>201
BGMと効果音なので、そういう手段はとれないんですよ。

203 名前:デフォルトの名無しさん :02/04/17 02:17
>>202
ぉぃぉぃ
まぁ、名前を聞いて理解できないようじゃおまえにゃ実現できない方法だから安心しろ。

BGMとSEなら、midi/waveで普通に並列で慣らせるだろ。
BGMをwaveで鳴らすような馬鹿なことはするな

204 名前:デフォルトの名無しさん :02/04/17 02:28
蛇足だが、自前ミキサとは自分の力で複数の音をリアルタイムに合成して
1つのwave outから沢山の音を出す事。素人にはおすすめ以前に、出来ない。
何にせよ、199君はDirectSoundを学ぶ事を勧めるよ。

205 名前:デフォルトの名無しさん :02/04/17 02:30
いや、ミキシング自体はものすごく簡単なんだが。

206 名前:デフォルトの名無しさん :02/04/17 02:30
むう、そんなに難しいものでしたか……
DIRECTSOUNDではできるんですが、
ちょっとした事情によりDSOUNDを使ってはいけないんですよ。

検索すればソースとかが出てきてもよさげなので、
それを改造してミキサを実装することにします。

すばやい回答ありがとうございました。

207 名前:デフォルトの名無しさん :02/04/17 02:39
>>205
ミキシングは簡単だが、sndPlaySoundしか知らない奴にダブルバッファリング
でリアルタイム合成出力なぞ出来る訳がなかろう。

208 名前:デフォルトの名無しさん :02/04/17 02:53
あれ、でも今試しに2回sndPlaySoundをやったら
同時に音がなったんですが、これはサウンドボードによるものなのでしょうか?
そんなに良いサウンドボードは使ってないんですが……

209 名前:デフォルトの名無しさん :02/04/17 02:59
最近のサウンドカードは2〜4chの出力を持っていて、
その数までなら普通に同時に鳴らせられる。
それから、Win2k(XPはしらん)ならOSがミキシングしてくれるから、
自前で書かなくても問題はない。

210 名前:デフォルトの名無しさん :02/04/17 03:26
なんとなくわかってきました。
WAVEファイルを読んでメモリにおいておき、
それを自分でWAVEOUTで出力するんですね。

実際に音の合成をするにはどのような演算をすればいいんでしょう?
それが検索でなかなか見つからなくて……

211 名前:デフォルトの名無しさん :02/04/17 03:26
>>209
ありがとうございます。
最近のマシンのみを対象にする場合はそれでもOKということですね。

212 名前:デフォルトの名無しさん :02/04/17 03:49
>>210
足し算です。但しオーバーしないように、あらかじめ元のwaveを縮小しておくべし。

213 名前:デフォルトの名無しさん :02/04/17 03:51
>>212
ありがとうございます、検索で見ながらさっそくやってみます。

214 名前:デフォルトの名無しさん :02/04/17 08:13
最近CPUをCeleron1.1GHzに替えたんですが、そしたらデバッガ上で実行する時
SSE命令の所を通るとIllegalInsatruction例外が発生するようになってしまいました。
SSEは自分で書いた物じゃなくてDirectXの中なんですが。
デバッガ上でなくシェル上でなら普通に動作します。
VC++6.0使ってるんですが、そういや最新のSP当てて無かったなぁ、とSP5
を当てて見たものの解決せず。
どうやったらこれ解決できるんでしょう?

検索して見たらこのスレの過去ログがヒットした物の、HTML化されて
無くて閲覧できづ。
キシュツだったらスマンですが、誰か何か知って居たら教えて下さい‥‥

215 名前:デフォルトの名無しさん :02/04/17 08:28
DirectX内で__tryで囲ってあるから大丈夫、という話だったきがする。
IllegalInstructionを「ハンドルされてなければ停止」にすればいいとか。

216 名前:デフォルトの名無しさん :02/04/17 12:35
がいしゅつだったらごめんなさい。
xxx.libxxxという名前のフォルダの下にライブラリファイルを置いたら、
リンクできないんですがなぜですか?
使用しているコンパイラはVC++6.0です。

217 名前:216 :02/04/17 12:38
age忘れ

218 名前:デフォルトの名無しさん :02/04/17 12:52
>216
MSDNで「リンカ入力ファイル」で検索すると
 .libxxxなんて入力ファイル形式が無いが。

219 名前:216 :02/04/17 13:02
>>218
ファイルじゃなくてフォルダの名前が"xxx.libxxx"なんです。
具体的にいうと
C:\Documents and Settings\username.LIBxxx\My Ducuments\project\hoge\lib
に置いてあるライブラリがリンクできないんです。LIBxxxはドメイン名です。

220 名前:216 :02/04/17 13:08
ためしに
C:\work\xxx.libxxx\
というフォルダを作ってそこに置いてみてもだめでした。

221 名前:デフォルトの名無しさん :02/04/17 13:08
DLLからDLLを呼ぶことってできます?
できるなら注意点を教えて欲しいです。

222 名前:デフォルトの名無しさん :02/04/17 13:32
>220
c:\Docu...\username.LIBxxx\...\hoge\lib\にライブラリファイル全部移しても
全然問題ないのだが。
ライブラリファイルのディレクトリがちゃんと通ってないのでは?
かオブジェクト/ラブラリモジュールの中に*.libの綴りが間違ってるとか?


223 名前:デフォルトの名無しさん :02/04/17 13:42
>>197 あらかじめ10倍にしておけ そして出力する時に少数点を付けろ

224 名前:216 :02/04/17 13:58
>>222
「ファイルをプロジェクトに追加」でそのライブラリファイルを指定して追加しても、
リンク時にそのライブラリに入っているはずの関数が未解決になるんです。
ほかのフォルダに移してリンクすればちゃんとできます。
>219の\projectのフォルダを丸ごとC:\workとかに移動すれば、
そのままでリンクが通るのに、
パスの途中に*.lib*という名前のフォルダがあるとだめなんです。
いい忘れてましたがOSはWindows2000です。

225 名前:デフォルトの名無しさん :02/04/17 21:52
S-JIS環境でUnicodeの文字(ハートマークとか)をTextOutで出力するにはどうすればよいのですか?
CharSetでSHIFTJIS_CHARSETはあるのですが、Unicodeにあたるものが見つかりません。
よろしくお願いします。

226 名前:SevenTH@SUNDAY :02/04/17 22:33
>>225
UnicodeのAPIを呼び出す。

227 名前:デフォルトの名無しさん :02/04/17 22:43
>226
なるほど、
TextOutW( dc, 0, 0, L"\x2665", 1 );
これで出来ました。
ありがとうございました。

228 名前:デフォルトの名無しさん :02/04/18 00:18
あの、ずっと今までフルスクリーンばかりで
今回はじめてウィンドウモードでプログラム組んでみたんですが
640*480にしても、タイトルバーなどを含めて640*480に
なってしまいます。描画可能領域を640*480にするには
どうしたらいいんでしょうか?

229 名前:デフォルトの名無しさん :02/04/18 00:26
>>221
双方の DLL でリンクするランタイムライブラリの種類に注意すべし。

シングルスレッド/マルチスレッド、スタティックリンク/ダイナミックリンク、…。


230 名前:デフォルトの名無しさん :02/04/18 00:48
>228
AdjustWindowRect

231 名前:デフォルトの名無しさん :02/04/18 01:37
>>230
そのAPIを検索したらわかりました。
ありがとうございます^^

232 名前:デフォルトの名無しさん :02/04/18 02:44
スロットゲームを作りたいのですがスロットが回転する部分の
実装方法がわかりません。どなたか教えていただけませんか?

233 名前:デフォルトの名無しさん :02/04/18 02:53
回転する部分の何がわからないんだよ
ドラムのデータの持ち方か?
アニメーションの方法か?

234 名前:デフォルトの名無しさん :02/04/18 02:59
>>233
アニメーション方法です。

235 名前:216 :02/04/18 03:04
>>215
むーん。
SSEをサポートしているCPUなんで、IllegalInstructionが送出されること自体が
おかしいような‥‥
「ハンドルされて無ければ停止」を試してみたいですが、手元に環境が無くて。
明日試して見マス。

236 名前:デフォルトの名無しさん :02/04/18 03:20
Windowsプログラマのみなさん
辛く無いですか?

237 名前:チビ :02/04/18 13:06
age

238 名前:デフォルトの名無しさん :02/04/18 13:50
>>236 そうですね 舐めてみたら確かにカライです

239 名前:デフォルトの名無しさん :02/04/18 20:45
VC6-SP5を使用しています。
コンパイルオプションに -MT (マルチスレッド対応)をつけた途端に
作成中のプログラムの挙動がおかしくなりました。

コンストラクタの初期化リストで NULL に設定したメンバの値が
勝手に何か別の値に書き換えられてしまうのです。

コンストラクタ内で MessageBox で確認すると NULL になっていますが、
メンバ関数を呼び出した時、書き換えていないはずの値にゴミが入っています。

関係する全てのファイルをマルチスレッド対応ライブラリにリンクするように
変更しましたし、まだライブラリを変更しただけで、コード内で
別スレッドを作成したりはしていませんので、別スレッドが書き換えているという可能性も低いです。

どうしてこうなってしまうのでしょうか?ご存知の方いらっしゃいましたらお願いいたします。

240 名前:デフォルトの名無しさん :02/04/18 20:56
>>239
どうしてって、潜在的なバグが表面化しただけだろ
Bounds CheckerとかPurifyで確認しろ

241 名前:デフォルトの名無しさん :02/04/19 12:20
【質問】
VC++でゲーム作ろうとおもってるのですが、
簡単なサイコロ目当てゲームをとりあえずやってみようとおもってるんだけど、
とりあえず、普通のウィンドウズようアプリ(アイコンクリックしたら起動、DOS窓じゃない)
って状態にもっていきたい。

とりあえず空っぽのなんの機能もないウィンドウは作った。
そこにC++のメインのゲーム処理ソースは一体どこに書いたらいいの?
クラスとかたくさんありすぎてわけワカメです。

242 名前:デフォルトの名無しさん :02/04/19 12:46
>>241
タイマーイベントでいいんじゃないか?

243 名前:デフォルトの名無しさん :02/04/19 12:52
>>242
ななにそれ!?

244 名前:デフォルトの名無しさん :02/04/19 12:57
>>243
検索すれよ。


245 名前:デフォルトの名無しさん :02/04/19 13:01
>>244
あったけど、意味がわらん。

246 名前:デフォルトの名無しさん :02/04/19 13:06
>>245
全部説明させる気かよ。
なんか本でも買って読めよ。


247 名前:デフォルトの名無しさん :02/04/19 13:08
タイマーイベントなんて本にのってないかったよ。


248 名前:デフォルトの名無しさん :02/04/19 17:03
pCmdUI->SetText("hoge");
で字に下線つけるのはどうすればいいですか?
普通にVC上でメニュー作る時に
キャプションに 開く(&O)
ってやるかんじでできる下線です。

249 名前:デフォルトの名無しさん :02/04/19 17:27
pCmdUI->SetText("&hoge");

250 名前:デフォルトの名無しさん :02/04/19 17:34
pCmdUI->SetText("&hoge");
だとできました。

ただpCmdUI->SetText("hage\t&hoge");
とするとだめでした。
こういうもんですか?



■過去ログ置き場に戻る■ 1- 次250 最新50
DAT2HTML 0.33f Converted.