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


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

★初心者にVisual C++を教えるスレ★ Part11
251 名前:デフォルトの名無しさん :04/03/11 22:20
>247
意味の解りやすさから言えば247か? ただ、
239じゃないけど、やっぱりC++としては仮想関数でなんとかするのが普通だとおもう。

class A;が更新できないとか言うのなら、しかたないけど。

252 名前:デフォルトの名無しさん :04/03/11 22:48
OO厨、ウザイ

253 名前:デフォルトの名無しさん :04/03/11 23:09
>>251
お前の考え方は一人でやる分には十分だよ。
でも、普通、多人数でやる分にはオブジェクト指向は、あんたみたいな奴が
100%ならいいが。ぷ。

254 名前:デフォルトの名無しさん :04/03/11 23:10
>>252
「それは詭弁です。」っと。

255 名前:デフォルトの名無しさん :04/03/11 23:14
大方の、プロジェクトは、下っ端にフィールド作らさせない。よ。


256 名前:デフォルトの名無しさん :04/03/11 23:15
作らさせない

257 名前:デフォルトの名無しさん :04/03/11 23:15
学校のデータ変換用ソフトがC++なんで今日久しぶりにソースといふモノを
見たんだけど、プログラム苦手&はっきり言って嫌いな俺にとってはもう
頭グチャグチャになっちゃいましたYO

しかもあと2,3個プログラムが残ってる・・あああ・・

短いからまだいいものの、長いプログラムなんてソース読んで
どうやって中身を知るんでしょうネェ。不思議でなりませぬよ。

えーっと、質問は、随分前にC++のプログラムが〜って話をしたら
えらく馬鹿にされてC++に未来なんてねーなんて言うことを低脳野郎に
言われたんですが、プログラムとしてはどうなんでしょう。未来なくても
使えるなら使いますがね(使いたくないよ・・。

258 名前:デフォルトの名無しさん :04/03/11 23:17
「そーかやっぱり未来はLISPだよな。」とか
いってLisperにでもなりなさい(w

259 名前:デフォルトの名無しさん :04/03/11 23:17
>>257
スレ違いな予感。

260 名前:デフォルトの名無しさん :04/03/11 23:19
>>257
給食喰えるなら、幾らでもプログラム作るぞ。はぁはぁ。

261 名前:257 :04/03/11 23:20
>>259
スレ汚してごめんなさい。ホントは質問もないんです。

ちょっと書きたかっただけなんですよ。ではッ ノシ

262 名前:デフォルトの名無しさん :04/03/11 23:21
>>257
C++はまともなライブラリがないから、
短期で開発したい企業はC#やJavaでやるんじゃないかな。


263 名前:デフォルトの名無しさん :04/03/11 23:21
すまそ、プログラマーは貴重な人材難だったな
。はぁはぁ

264 名前:デフォルトの名無しさん :04/03/11 23:22
なるほど、こうしてマ板向けの話になっていくんだな。

265 名前:デフォルトの名無しさん :04/03/11 23:25
質問させてください。
プリンタで印刷を行うプログラムを作っています。
「MS Pゴシック」「9ポイント」を指定し、
TEXTMETRIC 構造体の tmAveCharWidth を確認すると
15 となっているのですが、実際に20文字を横一列に
印刷すると、30mmではなく約31mm の長さがあります。

tmAveCharWidth ×(文字数) で、印刷される文字の長さが
取得できると思っていたのですが、間違っているのでしょうか?
ご存知の方は、ご教授ください。お願いします。

266 名前:257 :04/03/11 23:30
>>258
LISP ってなんでしょう。

>>260
あは〜っ、素晴らしい人ですね、あなた。憧れますよ。
1000個以上の2次元配列データを隣り合わせに次々外積計算するプログラム書けッ
っと言われて挫折した不肖ワタクシ、配列にデータを入れるのが精一杯でした・・。

>>262
ライブラリの話はなんか聞いた記憶があります。
でもないことが不満になるような経験がないっす。
そんなに悪いという印象はないんですがネェ。知らないだけですが(w

プログラマの頭は宇宙 と思った一日でした。

267 名前:デフォルトの名無しさん :04/03/11 23:31
TT構造体でお前は、市ね。タイプセットは、仕様書見れば明らか。
貧乏人をイジメルナヨ。

268 名前:デフォルトの名無しさん :04/03/11 23:33
>265
MS PゴシックでなくMS ゴシックの方を使ってください。あるいは、
「P」持つ、「プロポーショナル」の意味や。AveCharWidthのAve(rage)の
意味を噛みしめませう。

269 名前:デフォルトの名無しさん :04/03/11 23:42
TextOut関数で変数(int)の内容を出力するにはどうしたらよいのでしょう

270 名前:デフォルトの名無しさん :04/03/11 23:49
>>269
ロケーるを読んで、今は、右カキかとか読んで、結局、日本語縦書き、
と、朝鮮語の横書きは嫌だな。ぷ。

271 名前:269 :04/03/11 23:54
やぁ、自己解決しました。
>>270は海超えのカキコですかい?

272 名前:デフォルトの名無しさん :04/03/12 00:09
>>271
へへ、まあがんばれよ。あと、後ろを以下略。ぷ。

273 名前:デフォルトの名無しさん :04/03/12 00:21
VC7.1でMFCなんですが、プロジェクトにlibファイルを
追加するのはどこで指定すればいいんでしょうか?
vc6の頃には設定画面にkernel32.lib user32.lib...なんて書いてあるところが有って、
そこに付け足せば良かったような気がするんですが。


274 名前:デフォルトの名無しさん :04/03/12 00:22
ロケールで思ったんですが、localeって辞書には
ローカルっていう読み方しかないのですが
ホントにアメリカ人とかはそう呼んでいるのですか?

275 名前:デフォルトの名無しさん :04/03/12 00:25
ダイアログボックスのIDを"MYDLG"の様に文字列で
定義したかったんですが、間違えて MYDLG としてしまいました・・・
気を取り直して"MYDLG"と入れなおしたところ、
「この名前のシンボルは既に存在します」というエラーで弾かれていまいます。
この辺のシンボル情報を削除したいのですが、
どこを弄ればよろしいのでしょうか?

ちなみにIDを"MYDLG2"と全く別のものにすると、
コンパイルもプログラムも正常に動きます。

276 名前:デフォルトの名無しさん :04/03/12 00:27
モービル、モバイル、どっちが正しい?
俺はモビールだな、で、いいのだ。

277 名前:デフォルトの名無しさん :04/03/12 00:30
表を作りたい場合どうすればいいですかね?
テキストファイルから名前、日にちなどchar型とかint型とか違うのを読み込まなきゃいけないんですが。
2次元配列とかかなと思うんですけど、出来ますかね?

278 名前:デフォルトの名無しさん :04/03/12 00:31
>>274
おそらくロカイルかもな。ぷ。

279 名前:デフォルトの名無しさん :04/03/12 00:32
>268
ご指摘ありがとうございます。
それで、申し訳ないのですが、265 は書き込みミスで、元々MS ゴシックを
使っていました。(等幅フォントでないと計算できないですよね)

それでも、計算上で30mm のはずが、実際は31mm になります。
自分としては、tmAveCharWidth がLONG型で表現されているが、
実は小数点レベルが丸められてしまっている or 文字と文字の
間の長さ(tmInternalLeading?取得すると0なのですが)を
計算に加味する必要があるのか、などと原因を考えてみています。

280 名前:デフォルトの名無しさん :04/03/12 00:43
日本語はアセンドしかないから大変だ
外国見るならで鮮度+アセンド=日本のアセンド
で何なんだ。いまいち日本語タイプセットは嫌だ。

281 名前:デフォルトの名無しさん :04/03/12 00:51
おまえらよくスレ違いな質問にレスする気になるよな

282 名前:デフォルトの名無しさん :04/03/12 01:06
MM_LOMETRICかよ

283 名前:デフォルトの名無しさん :04/03/12 01:56
>>273
プロジェクトのプロパティの「リンカ」の「コマンドライン」って所に
入れればいいんちゃうかな。

もしくは
#pragma comment(lib, "*.lib")

284 名前:デフォルトの名無しさん :04/03/12 02:23
>>273
プロジェクトのプロパティのリンカの入力の一番上だろ?

285 名前:デフォルトの名無しさん :04/03/12 02:32
resource.h

286 名前:デフォルトの名無しさん :04/03/12 04:04
local:ローカル、locale:ロケール
financial:フィナンシャル、finance:ファイナンス
mobil:モービル、mobile:モバイル
product:プロダクト、produce:プロデュース

287 名前:デフォルトの名無しさん :04/03/12 06:14
俺の頭の中

administrator : アドミニストラトー
orange : オランゲ
alt : graph

288 名前:デフォルトの名無しさん :04/03/12 10:43
STLのmapとか使ってコンパイルかけると警告が大量に出るんですが、出ないようにできませんか?
それともただたんにソースが悪いだけなんでしょうか…

289 名前:デフォルトの名無しさん :04/03/12 12:23
>>288
VC7.1の導入。
それがいなやら
#pragma warning(disable : 4786)

290 名前:289 :04/03/12 12:25
VC7.0でもいいけど。

291 名前:288 :04/03/12 13:45
>>289
ありがとうございます!

292 名前:やは。あ〜るくんだよ。 :04/03/12 16:50
質問だうぞ。

293 名前:デフォルトの名無しさん :04/03/12 17:23
何でMSのSDKとかの各種ファイルっていまだに8.3形式を
かたくなに守り通しているんでしょうか?


294 名前:デフォルトの名無しさん :04/03/12 23:36
283,284さま。
ありがとうございました。
無事リンクされました。m(_ _)m


295 名前:デフォルトの名無しさん :04/03/12 23:48
これからCを学ぶことになりました。
学校だけでなく自宅でも学ぼうと思いましてVCを購入しようと思うのですが
まだ何の知識もないのでどれを購入すべきか迷っています。
スタンダードかプロフェッショナルか…

よろしかったらアドバイスお願いいたします!

296 名前:デフォルトの名無しさん :04/03/12 23:54
ものすごく不思議な質問かもしれんが、
仕様の公開されてないDLLからヘッダーファイルを
生成するとなるとどうすればいいんかね…?
何とかきばってLIBファイルは生成したんだがそこで行き止まり…。

よろしくおながいします…。

297 名前:デフォルトの名無しさん :04/03/13 00:19
>>295
VC単品ならスタンダードしか選択肢がないよ

298 名前:デフォルトの名無しさん :04/03/13 00:52
>>295
アカデミックでVisual Studio.NET 2003 (2万3千円円)を買うか、
アップグレード版の VS.NET2003 (3万5千円)を買うべし。

前者はアクティベーションあり。
後者はアクティベーションなし&インスコに元バージョンも不要。

これから勉強するならC#とかも視野に入れておいたほうがいいから、
VSをオススメしますよ。

299 名前:デフォルトの名無しさん :04/03/13 02:25
>>295
学習用途ならVC何ぞ要らん。
BCCやGCCでタダでやれ。そのほうが勉強にもなるし。

300 名前:デフォルトの名無しさん :04/03/13 02:54
300!

301 名前:デフォルトの名無しさん :04/03/13 08:21
>>295
学割でVS

302 名前:デフォルトの名無しさん :04/03/13 08:36
>>295
学校と同じものを買う

303 名前:デフォルトの名無しさん :04/03/13 15:14
>296
そんなことできんのか?

304 名前:デフォルトの名無しさん :04/03/13 17:34
>>293
<algorithm>というヘッダーファイルがあるけど

305 名前:デフォルトの名無しさん :04/03/13 18:03
質問です。
VC6.0でMFCベースのDoc/View形式SDIアプリケーションを作成しています。
ダイアログに付けたボタンにリソースのビットマップをデバイスコンテキストで
貼り付けているのですが、CDialogメンバ関数の役割分担がいまひとつ分からず、
ダイアログを開いた初期状態でそのビットマップが描画されません。
とりあえずOnCtlColorの中に書いて、同じダイアログ内のスクロールバーを
動かしたときには描画されているので、デバイスコンテキストの使い方は
間違っていないと思います。
OnInitDialogに書くと落ちてしまいますし、どうか初期化を行う正しい関数をご教授ください。

306 名前:デフォルトの名無しさん :04/03/13 19:34
ボタンにビットマップを表示させる、という機能でいいなら
CBitmapButtonを使えばいいのでは?
今はCButtonから別のクラス作ってオーナードローで書いてる?

307 名前:デフォルトの名無しさん :04/03/13 19:47
>>306さん
ピクチャボックスにビットマップを描画するのと同じ要領で、
BitBlt等使って描画していました。
CBitmapButtonもオーナードローも知りませんでした。勉強しなおします。
ありがとうございました。

308 名前:295 :04/03/14 00:22
みなさんレスありがとうございます。

>>297>>302
学校ではVisualC++のプロフェッショナルを使うらしいのですが…
スタンダードのほうが安いので支障なければそっちで、と思ったんです。

>>299
検索してみます!情報ありがとうございます。

>>298>>301
VisualStudioですか。その方が後々役に立ちそうですね。

と、まだ迷っている感じです。
何の学習も始まってないのにちょっと先走ってしまったのかな、と
反省しております。

アドバイスを参考にさせていただきます。ありがとうございました!

309 名前:デフォルトの名無しさん :04/03/14 01:45
お前らは Time=Dateだな
わかっていたよそんなことは。フフフフ

310 名前:デフォルトの名無しさん :04/03/14 01:57
>>309
いやいや、 Time == Money だよ

311 名前:デフォルトの名無しさん :04/03/15 03:59
APIのアプリケーションでTRACE()を使うにはどうしたらいいんですの?

312 名前:デフォルトの名無しさん :04/03/15 04:33
作る

313 名前:デフォルトの名無しさん :04/03/15 04:46
>>312
用意されてないんですか、、、。TRACE()はMFCのみなのかな、、

314 名前:デフォルトの名無しさん :04/03/15 09:51
_RPT0(_CRT_WARN, "ウンコー\n");
_RPT1(_CRT_WARN, "%s", "ウンコー\n");

315 名前:デフォルトの名無しさん :04/03/15 15:53
>>307
CButtonクラスにSetBitMap()というのがあるよ
(CBitmapButtonはひとつのボタンに4つのビットマップを割り当てるのに使う)

316 名前:デフォルトの名無しさん :04/03/15 16:10
CString型の変数を、LPCWSTRに変換する方法がわかりません。
どうしたらいいのでしょう?

317 名前:デフォルトの名無しさん :04/03/15 16:26
MultiByteToWideChar

318 名前:デフォルトの名無しさん :04/03/15 20:39
>>316
俺はいつもこうやってる。

CString csData = "TEST";
LPTSTR lpszData = new TCHAR[csData.GetLength() + 1];
_tcscpy(lpszData, csData);

もっと効率いい方法があったら誰か教えてくれると嬉しい。

319 名前:デフォルトの名無しさん :04/03/15 20:58
なんだかヤレヤレって感じ

320 名前:デフォルトの名無しさん :04/03/15 21:34
汎用変換マクロ

汎用変換マクロは基盤となる機構を形成します。上のマクロの例で示した A2W はこうした "汎用" マクロの一例です。これは OLE とは特に関係はありません。汎用マクロの一覧を以下に示します。

A2CW (LPCSTR) -> (LPCWSTR)
A2W (LPCSTR) -> (LPWSTR)
W2CA (LPCWSTR) -> (LPCSTR)
W2A (LPCWSTR) -> (LPSTR)



321 名前:質問です! :04/03/15 22:33
「プロジェクトにwinmm.libを参加させる・・・」
とはどのようにすれば宜しいのでしょうか?


322 名前:321 :04/03/15 22:40
あ、環境はVS.NET 2003です・・・
winmm.libの居場所は突き止めました。

323 名前:デフォルトの名無しさん :04/03/15 22:41
>>321
#pragma comment(lib,"winmm.lib")

324 名前:デフォルトの名無しさん :04/03/15 22:46
>>323
どうもです。
やってみます!

325 名前:デフォルトの名無しさん :04/03/16 05:09
>>318
CString csData = "TEST";
CString lpszData;
lpszData = csData;


326 名前:デフォルトの名無しさん :04/03/16 09:30
>>317 >>318
どうもありがとう、できました。

327 名前:デフォルトの名無しさん :04/03/16 10:49
CStringとLPCWSTRは互換性があるので、
そもそも変換の必要すらないはずなのだが・・・


328 名前:デフォルトの名無しさん :04/03/17 00:54
>>327 (°Д°)ハァ?

329 名前:デフォルトの名無しさん :04/03/17 01:01

LPCWSTR unko = L"ウンコー";
CString string = unko;// OK
LPCWSTR unko2 = string;// NG

330 名前:デフォルトの名無しさん :04/03/17 01:05
>>316
UNICODEビルドにする

331 名前:デフォルトの名無しさん :04/03/17 01:27
>>328-329みたいな奴はまだ回答するレベルに達して無いので書き込みを控えて欲しい。


332 名前:デフォルトの名無しさん :04/03/17 01:38
>>331
CStringにoperator LPCWSTR なんてもうありませんが、何か?

333 名前:332 :04/03/17 01:45
もちろん、UNICODEビルドじゃないときね

334 名前:デフォルトの名無しさん :04/03/17 02:42
>>333
何勝手に条件つけてんだ

335 名前:デフォルトの名無しさん :04/03/17 09:26
>>334
で、>>328-329の何が間違ってるの?

336 名前:デフォルトの名無しさん :04/03/17 10:17
つまらん質問ですまそ。

VisualC++.net 、 Windowsフォームアプリ(C++マネージ拡張)で
複数のフォームをもったアプリを書こうかとおもうんだけど、
自分以外のフォームを閉じようとするにはどうすればいいんだろ?


337 名前:デフォルトの名無しさん :04/03/17 11:16
一行で煽るのも良いが、初心者スレなんだから質問者に分かるように自分の
思ってることちゃんと説明しろよ。傍で見てても誰がどっち向いて言ってんのか
よくわからんよ。

338 名前:デフォルトの名無しさん :04/03/17 11:51
最初の質問者が悪い。
間違いない。


339 名前:デフォルトの名無しさん :04/03/17 16:25
MFCを使って開発しています。
ソフトをバージョンアップしたのですが、シリアライズしたいデータが増えてしま
いました。ファイルの読み込み・保存はMFC標準のC<ソフト名>Docクラスの
Serialize関数で行っています。そこで、以前のバージョンとファイルの互換性
を持たせるにはどのように実装するのが一般的なのでしょうか?互換性に関し
ては、古いバージョンのファイルが最新のバージョンで読み込めて、最新のバー
ジョンで保存したファイルと同じ形式のファイルで保存できればいいです。
調べてみたところ、GetObjectSchema関数を使ってオブジェクトのバージョンを
取得し、Serialize関数内でオブジェクトのバージョンごとに分岐させて処理すれ
ばうまくいきそうですが、これが一般的なのでしょうか?

340 名前:デフォルトの名無しさん :04/03/17 16:39
一般的です。

341 名前:デフォルトの名無しさん :04/03/17 17:08
>>340
レスありがとうございます。


342 名前:デフォルトの名無しさん :04/03/17 18:22
ゲーム作ってます。
ソースファイルが500を超えてきて、
ソリュージョンエクスプローラで該当のソースコードを探し出すのに時間がかかってしまいます。

フォルダを作る以外に何か良い方法はありませんか?


343 名前:デフォルトの名無しさん :04/03/17 22:24
>>342
VCのバージョンは?

344 名前:r :04/03/17 22:24
>>342
プロジェクト分けれ。

345 名前:デフォルトの名無しさん :04/03/17 22:36
VC++ で使える商用利用可能な正規表現ライブラリはありませんか?


346 名前:デフォルトの名無しさん :04/03/17 22:39
>>342
一度に全部のソースが必要なのかー?
プロジェクトを分けて lib に汁。


347 名前:デフォルトの名無しさん :04/03/17 22:57
>>346
たぶんアレだ。ゲームだから、

class CEnemy{};
 class CEnemySURAIMU public CEnemy{};
 class CEnemyBESU_SURAIMU public CEnemy{};
 class CEnemyHOIMI_SURAIMU public CEnemy{};

class CPartner{};
 class CPartnerSENSI public CPartner{};
 class CPartnerSOURYO public CPartner{};

みたいに派生させてて、さらに1クラス1ソースファイルになってるんじゃないかな?

348 名前:デフォルトの名無しさん :04/03/17 23:23
>>345
boost::regexは商用利用可だと思うけど、自信ないのでちゃんとライセンス読んで。

349 名前:デフォルトの名無しさん :04/03/17 23:38
>>348
Template ですね。VC++ 6.0 で動くかな。。


350 名前:デフォルトの名無しさん :04/03/17 23:56
>>349
regexとかはほぼだいじょーぶ。
ttp://boost.sourceforge.net/regression-logs/cs-win32-RC_1_31_0.html

351 名前:デフォルトの名無しさん :04/03/18 00:01
バージョンはvs.net 2003です。



現状では、LIBがすでに3つに分かれていまして、
汎用ライブラリ、ポリゴンエンジン、ネットワークエンジン。 
exeプロジェクトは2つ、クライアント、サーバーです。
ネットワークエンジンとポリゴンエンジンは共用しています。

この環境において、
たとえばゲームのメインを編集している時に、
ちょっと爆発エフェクト増やしたいなって思ったら、エフェクト用のクラスBombEffect.cppをファイル一覧から探して開いて編集開始、
BombEffect編集中にポリゴンエンジンの機能不足を感じたら、さらにポリゴンエンジンまで戻り、ポリゴンエンジンで行列演算の間違いに
気がついたら、こんどはジオメトリライブラリまでさかのぼる事になります(極端な例ですが・・)。
一度この修正に入ると、Try&Errがしばらく続くので、その間は複数のクラスを同時に編集する機会が発生します。
ファイル数が少ないうちは良いのですが、ファイル数が増えてきたために、ファイル間移動自体に時間がかかるようになってきました。
みなさまは、こういった問題をどのように解決してるのか、参考意見をいただければと思いました。

私は、最終呼び出し順に並んでくれるようなブックマーク(できればメソッド名まで)や、自分でランドマークが付けられる機能があれば、
5〜6箇所前後の修正を同時にしなきゃいけないケースでも、メインルーチンとサブルーチンの行き来がスマートだなぁとおもうのですが、
こういう機能は無いんですかね?

今は、クラスのメソッドを右クリック>定義位置にジャンプ といった方式で行ったり来たりしていますが、深いと結構手間です・・。



352 名前:デフォルトの名無しさん :04/03/18 00:03
>>347

そうそう、1クラス1ファイルです。ひょっとして皆さんは数クラス1ファイルなんでしょうか?


353 名前:デフォルトの名無しさん :04/03/18 00:06
>>351
VS2003なら、必要なファイル以外のタブは表示しないというのはどうすか?

354 名前:デフォルトの名無しさん :04/03/18 00:11
かいといてなんですが、ソースファイルにブックマークを付ける・・・ってのが希望の機能っぽい・・。


355 名前:デフォルトの名無しさん :04/03/18 00:12
>>353

始めはそれでやっていたんですが、すぐに一覧から外れちゃうんですよね。イチイチ閉じるのもめんどくさくて。



356 名前:デフォルトの名無しさん :04/03/18 00:16
>>355
マクロで何か出来ませんかねー。

357 名前:デフォルトの名無しさん :04/03/18 00:20
ブックマーク上手く設定できないなぁ。。


358 名前:デフォルトの名無しさん :04/03/18 00:26
関連ソースごとにxyzzyを起動する。
まぁ、xyzzyじゃなくてもいいんだが。
要は、エフェクトクラスのソースを一つの(マルチバッファな)エディタで開き、
ポリゴンエンジンのソースを一つのエディタで開き、
ってな具合にやると結構捗る。

で、基本は1クラス1ファイルだが、場合によっては複数入れてるなぁ。

359 名前:デフォルトの名無しさん :04/03/18 00:41
>>358

なるほどー。別エディタも平行して考えて見ます。

ところで、マニュアルを検索したところ、
>ブックマーク, ソース ファイル内の行にブックマークを付ける
という物が、俺が求めていたものに近いらしい。

しかし、名前なしのブックマークしか出来ない・・。ひょっとしてprofessionalだから?(涙)
引き続き調べ中・・。


360 名前:デフォルトの名無しさん :04/03/18 01:25
解決。

http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/vsintro7/html/vxtsknavigatingtext.asp

>タスク一覧のショートカット ("名前付きブックマーク") を追加するには

を使う事にしました。生産性アガッタ。




361 名前:デフォルトの名無しさん :04/03/18 21:14
CPtrList aaa::bbb(10)の意味を教えてください


362 名前:デフォルトの名無しさん :04/03/19 00:01
CPtrList aaaのメンバー関数bbbで引き数10

363 名前:デフォルトの名無しさん :04/03/19 10:19
クラスaaaにCPtrList型のbbbを宣言しているのでは?と思ったのですが
(10)は配列ではないですよね?


364 名前:デフォルトの名無しさん :04/03/19 10:24
>>363
おまいなあ
配列だったら[x]だろ・・・

365 名前:デフォルトの名無しさん :04/03/19 13:39
bbbはstaticでないとだめでした。
コンパイル時にCPtrListのコンストラクタが呼び出される?


366 名前:デフォルトの名無しさん :04/03/19 15:03
ああ、何かと思えば
class aaa
{
static CPtrList bbb;
}
の初期化か。

>365
プログラムが生まれてもいないのに呼べる訳ないだろ。

367 名前:デフォルトの名無しさん :04/03/19 16:43
(10)の意味は?


368 名前:デフォルトの名無しさん :04/03/19 16:53
>>367
bbb=10;

369 名前:デフォルトの名無しさん :04/03/19 17:40
bbbはCPtrListクラスのコンストラクタだと思うのですが?

370 名前:デフォルトの名無しさん :04/03/19 17:55
>>369
CPtrListのコンストラクタはCPtrList()だと思うのですが?

そのソース、コピペできる?
そのソース、コンパイルできる?
そのソース、実行できる?
そのソースの実行結果、検証できる?

371 名前:デフォルトの名無しさん :04/03/19 18:58
元からは弄ってあります。

class aaa {
int gvaaa ;

public:
aaa() {}
aaa( int i ) {
gvaaa = i ;
this->p() ;
}

void p( void ) {
printf( "gvaaa=%d\n", gvaaa ) ;
}
} ;

つづく


372 名前:デフォルトの名無しさん :04/03/19 18:59
つづき

class bbb {

public:
bbb() {}
static aaa a ;
} ;

aaa bbb::a(10) ;

main() {
bbb *b ;
b = new bbb ;
b->a.p() ;
}

以上


373 名前:デフォルトの名無しさん :04/03/20 15:07
bbbクラス内のスタティックメンバ変数a(aaaクラス型)を10で初期化。

374 名前:デフォルトの名無しさん :04/03/20 21:22
ユーザーが動かせないウィンドウってどうやって作るんですか?
ウィンドウプロシージャのWM_MOVEで(ウィンドウが動かされたら)もとの位置にMoveWindowすることでも一応できるのですが
「動かす→戻す」の間のブレがちょっと見苦しいんです。

375 名前:デフォルトの名無しさん :04/03/20 21:43
>>374
時計のアプリケーションとかで、ウィンドウ自体にリージョン設定して、
どこを押してもドラッグできるアプリケーションってあるけど、
アレの逆をすればいいんじゃないかなと思うんだけど…どうかな?
たしか、クライアント領域でマウス左ボタンを押下しても、
バーの部分で押されたとみなして処理する…とかそんな処理だったと思うけど…。
それのやり方を解説してるサイトは結構あると思う。
…ここまで書いてナンだけど、もっとスマートなやり方ありそうだ…。

376 名前:デフォルトの名無しさん :04/03/20 21:45
>>374
1. タイトルバーをなくす

377 名前:デフォルトの名無しさん :04/03/20 22:29
試して無いから分からんがPreTranslateMessage辺りは?

378 名前:デフォルトの名無しさん :04/03/20 22:30
>>374
pSysMenu->DeleteMenu(SC_MOVE,MF_BYCOMMAND);

379 名前:デフォルトの名無しさん :04/03/21 00:18
WM_MOVEが思いついて、何故WM_MOVINGも思い出せない。

380 名前:デフォルトの名無しさん :04/03/21 11:25
>>378
お見事!

381 名前:デフォルトの名無しさん :04/03/21 11:52
猫でもできるプログラミングの
Windows SDK編 第1部のイントロダクションのことで質問です。
コピーしてプロジェクトに挿入して実行してみたんですが、エラーが起きます。
エラーメッセージは、
「error C2440: '=' : 'void *' から 'struct HBRUSH__ *' に変換することはできません。(新しい動作 ; ヘルプを参照)
'void*' から非 'void' 型への変換には明示的なキャストが必要です。」
てな感じです。どこが悪いのか教えてください。
宜しくお願いします。

382 名前:デフォルトの名無しさん :04/03/21 13:30
... = (HBRUSH)GetStockObject(WHITE_BRUSH);

383 名前:デフォルトの名無しさん :04/03/21 13:36
既出のトップですね

384 名前:デフォルトの名無しさん :04/03/21 13:50
俺も始めたころ同じ問題で悩んだなぁ。
結局解決できずSDKやめて別サイトのMFC解説に走った覚えが。


385 名前:381 :04/03/21 14:40
>>382
できました。
ありがとうございます。

>>383
既出でしたか、すいませんでした。

これって猫でもできるプログラミングのミスなんですか?

386 名前:デフォルトの名無しさん :04/03/21 14:50
>>385
ttp://www.kumei.jp/c_lang/setvc.htm
↑の下の方にある蛇足を見れ

387 名前:デフォルトの名無しさん :04/03/21 14:53
>>385
それを書いた当時(VC++4.2)だとコンパイルエラーにはならなかったんじゃ無かったっけ?
あと純粋にCだとエラーにならない(VC6)。拡張子を.cにしてコンパイルしてみそ。

388 名前:デフォルトの名無しさん :04/03/21 15:13
>>387
>あと純粋にCだとエラーにならない(VC6)。拡張子を.cにしてコンパイルしてみそ。
( ゚д゚)ポカーン

389 名前:381 :04/03/21 17:07
>>386-388
このページ初めて知りました。
ありがとうございました。

390 名前:デフォルトの名無しさん :04/03/21 17:28
>>388
ん ? 何か間違ってるか ?

391 名前:388 :04/03/21 19:24
>>390
C++コードの拡張子を.cにしちゃだめだろうと言いたかったんですが、
じつはこっちだったんですね。
ttp://www.kumei.jp/c_lang/sdk/sdk_00.htm

失礼しました。m(_ _)m


392 名前:デフォルトの名無しさん :04/03/21 21:16
ダイアログボックスにエディットコントロールを貼り付けたわけですが、
コレにファイルをドロップしたら、
エディットコントロールにファイルのフルパスを入れたいわけなんです。
ちょっといろいろ探しているのですが、ダイアログボックスに張ったコントロールに
ドロップされたファイル名の拾い方がわかりません。
やり方とかしってる方がいたら教えてもらえるとありがたいです。

393 名前:デフォルトの名無しさん :04/03/21 23:33
>>392
COleDropTarget

394 名前:392 :04/03/22 00:45
>>393
ありがとう。
MFC使ってないからそのまま使うのは無理そうだけど、
とりあえずいろいろやってみるです。

395 名前:デフォルトの名無しさん :04/03/22 14:07
C言語のCGIを作ろうと思ってるんですがコンパイルの仕方がわかりません。
exeファイルをcgiにリネームしてもダメでした。
VC++を持ってるんですけどこれでできるのですか?


396 名前:デフォルトの名無しさん :04/03/22 16:41
>>395
鯖環境を書け。まずはそれからだ。

397 名前:デフォルトの名無しさん :04/03/22 16:46
>>392
EDITをサブクラス化してWM_DROPFILESを拾うっていうのはダメか?

398 名前:デフォルトの名無しさん :04/03/22 16:56
>>396
AAA!CAFEです。
コンパイル済みのファイルをアップロードするそうなのですが。

399 名前:デフォルトの名無しさん :04/03/22 17:13
>>398
winじゃないだろ

400 名前:デフォルトの名無しさん :04/03/22 17:35
BSD!BSD!(AA略

401 名前:デフォルトの名無しさん :04/03/23 15:43
MFCで作ったアプリケーションを、
開発したマシンではないマシンで動かすと、
MFC71.dllがないとかいわれてしまいます。
どうしたらエラーを解決できますか?

402 名前:デフォルトの名無しさん :04/03/23 15:57
>>401
足りないdllを入れる

403 名前:デフォルトの名無しさん :04/03/23 23:00
>>401
スタティックリンクする。
MFCをやめる。

404 名前:デフォルトの名無しさん :04/03/24 00:33
>>401
今時、「MFC共有DLLの使用」なんていう貧乏くさいことはおやめなさいってことよ。
HDDの容量も腐るほどあるんだし。

405 名前:デフォルトの名無しさん :04/03/25 09:09
>>401
そのアプリケーションを窓から投げ捨てる

406 名前:デフォルトの名無しさん :04/03/25 09:53
それを>>405が拾う

407 名前:デフォルトの名無しさん :04/03/25 10:58
>>401-406
ラジャー。

408 名前:デフォルトの名無しさん :04/03/29 04:27
復旧記念age

409 名前:デフォルトの名無しさん :04/03/29 07:24
質問です。
class hogehoge{
  bool flag;
  HANDLE hHoge;
public:
  hogehoge(){
    flag = 0;
  }
  ~hogehoge(){
    CloseHandle(hHoge);
  }
DWORD WINAPI KuSoSuRe(){
    while(flag){Sleep(1000);}
  }
  hogestart(){
    flag = 1;
    hHoge = CreateThread(NULL,0,KuSoSuRe,0,0,NULL);
  }
  hogestop(){
    flag = 0;
  }
}
'CreateThread' : 3 番目の引数を 'DWORD (LPVOID)' から 'LPTHREAD_START_ROUTINE' に変換できません。 (新しい機能 ; ヘルプを参照)
スコープ内でこの名前を持つ関数でターゲット型に一致するものはありません。
どうすればいいんですか?

410 名前:デフォルトの名無しさん :04/03/29 09:47
メンバ関数は渡せない。
static にして、第4引数にthisを渡しましょう。

411 名前:デフォルトの名無しさん :04/03/29 11:44
>>410
ariko

412 名前:デフォルトの名無しさん :04/03/29 22:37
すみません、若干スレ違いかも知れませんがどなたかお教えください。

DLL 中で malloc() して文字列を返す場合、この領域はいつまで保たれるのでしょうか?
呼び出し元のアプリが終了した時点で開放されるのか、あるいは自分で開放する必要があるのか。
DLL の関数が終了した時点で失われるということはないですよね?

環境は次の通りです。
Windows XP
Visual C++ 7.0
Delphi 5

VC で DLL を作って Delphi のアプリから呼び出すことを考えています。
よろしくお願いします。

413 名前:デフォルトの名無しさん :04/03/29 22:44
>>412
>DLL 中で malloc() して文字列を返す場合、この領域はいつまで保たれるのでしょうか?

死ぬまで。
死ねば記憶(記憶領域の管理)は失われます。

これはDLL内の関数だろうが、アプリ本体だろうが同じ。

>呼び出し元のアプリが終了した時点で開放されるのか、あるいは自分で開放する必要があるのか。

あなたのプログラミングスタイルが「アプリが終了した
時点で解放されるなら、自分で解放する必要はない」と
いうものなら、自分で解放する必要はありません。


414 名前:412 :04/03/29 22:51
>>413
早いお答えありがとうございます。安心しました。

415 名前:デフォルトの名無しさん :04/03/29 23:26
C言語の学習用にVisual C++.net standardを購入してインストールしたんですが
Cのプログラムを書く場合はどのアイコンをクリックすればよいのでしょうか?
本当にしょーもない質問ですいません

416 名前:デフォルトの名無しさん :04/03/30 00:23
>>415
1.スタートメニューからMSVS.NETを起動(横8の字のアイコン)
2.スタートページで「新しいプロジェクト」
3.win32プロジェクト
4.名前を付けてOK
5.アプリケーションの設定で何を作るのか決める

417 名前:415 :04/03/30 00:41
>>416
本当にすいません。ありがとうございます。

418 名前:デフォルトの名無しさん :04/03/30 11:22
Visual Studio 6.0 Service Pack 6 正式リリース
http://msdn.microsoft.com/vstudio/downloads/updates/sp/vs6/sp6/default.aspx

419 名前:デフォルトの名無しさん :04/03/30 12:12
助けてください。先輩に
「おまえ今日このVBコード C++に張り替えておいてくれ
5時までな!!といって客先に出ていってしまいました。」
20ラインくらいなのですが変換てつだってください。
おねがいします。動作環境で不具合が出たらしくいそいでいるのです

420 名前:デフォルトの名無しさん :04/03/30 12:43
ソース貼れ。

421 名前:デフォルトの名無しさん :04/03/30 13:35
>>419
とりあえず閉じかぎかっこの位置が変だな

422 名前:419 :04/03/30 13:48
お願いします。VCコンパイルすらわかりません
'備考呼び出しCall StrReplace(OutputLine(StrInt), vbLf, vbCrLf)
’LFをvbCrLfに置換する処理
Public Function StrReplace(ByRef strExp As String, _
ByRef strFind As String, _
ByRef strRep As String, _
Optional ByVal lngStart As Long = 1, _
Optional ByVal lngCount As Long = -1, _
Optional ByVal lngComp As Long = vbBinaryCompare) As String

Dim strBuffer As String '置き換え結果一時格納バッファ
Dim lngPos2 As Long 'InStr 関数用文字検出位置
Dim lngMidSize As Long 'Mid$ 関数で抜き出される文字数
Dim lngTotalSize As Long '置き換え開始ポインタ
Dim lngExpLen As Long '置き換えの対象となる文字列のサイズ
Dim lngFindLen As Long '検索される文字列のサイズ
Dim lngRepLen As Long '置き換えされる文字列のサイズ
Dim lngBufSize As Long '予約された文字列のサイズ
Dim lngMargin As Long '予約バッファサイズと置換サイズの差
Dim lngRepCnt As Long '置き換えを行った回数


lngExpLen = Len(strExp) 'strExp のサイズを得る
lngFindLen = Len(strFind) 'strFind のサイズを得る
lngRepLen = Len(strRep) 'strRep のサイズを得る
If lngExpLen = 0 Or lngFindLen = 0 Then 'strExp または strFind がサイズ 0 だった場合
StrReplace = strExp '何も置換せずに関数を抜ける
Exit Function
End If

423 名前:419 :04/03/30 13:49
If lngFindLen < lngRepLen Then 'strRep の文字数が strFind より大きい場合
lngBufSize = lngExpLen + ADD_SIZE 'バッファサイズを strExp より ADD_SIZE 多く確保
Else
lngBufSize = lngExpLen
End If
strBuffer = String$(lngBufSize, vbNullChar) 'strBuffer を NULL 文字で埋める

If lngStart <= lngExpLen Then '正しい検索開始点が設定されている場合
If lngStart <> 1 Then
Mid(strBuffer, 1, lngStart - 1) = Left$(strExp, lngStart - 1) '検索開始点より前の文字列をバッファにコピー
End If
lngTotalSize = lngStart
Else '正しい検索開始点が設定されていない場合
StrReplace = strExp '何も置換せずに関数を抜ける
Exit Function
End If

424 名前:419 :04/03/30 13:50
Do
lngPos2 = InStr(lngStart, strExp, strFind, lngComp) '文字を検索し、その位置を返す
If lngRepCnt = lngCount Then lngPos2 = 0 '置換回数が設定回数に達した場合、見つからなかったことにする
If lngPos2 Then '文字が見つかった場合
lngMidSize = lngPos2 - lngStart '見つかった文字までのサイズを得る
If (lngTotalSize + lngMidSize + lngRepLen) > lngBufSize Then '次回置換時に予約サイズを超えてしまう場合
lngMargin = (lngTotalSize + lngMidSize + lngRepLen) - (lngBufSize + ADD_SIZE) '次回置換時に必要なサイズとバッファサイズの差分を得る
If lngMargin <= 0 Then 'ADD_SIZE 増加するだけで事足りる場合
strBuffer = strBuffer + String$(ADD_SIZE, vbNullChar) 'ADD_SIZE の数だけ NULL を増やす
lngBufSize = lngBufSize + ADD_SIZE
Else 'ADD_SIZE 増加するだけではサイズが足りない場合
strBuffer = strBuffer + String$(lngMargin, vbNullChar) 'lngMargin の数だけ NULL を増やす
lngBufSize = lngBufSize + lngMargin
End If
End If

425 名前:419 :04/03/30 13:52
Else
lngMidSize = lngExpLen - lngStart + 1
If (lngTotalSize + lngMidSize + lngRepLen) > lngBufSize Then '次回置換時に予約サイズを超えてしまう場合
lngMargin = (lngTotalSize + lngMidSize + lngRepLen) - (lngBufSize + ADD_SIZE) '次回置換時に必要なサイズとバッファサイズの差分を得る
If lngMargin <= 0 Then 'ADD_SIZE 増加するだけで事足りる場合
strBuffer = strBuffer + String$(ADD_SIZE, vbNullChar) 'ADD_SIZE の数だけ NULL を増やす
lngBufSize = lngBufSize + ADD_SIZE
Else 'ADD_SIZE 増加するだけではサイズが足りない場合
strBuffer = strBuffer + String$(lngMargin, vbNullChar) 'lngMargin の数だけ NULL を増やす
lngBufSize = lngBufSize + lngMargin
End If
End If
Mid(strBuffer, lngTotalSize, lngMidSize) = Right$(strExp, lngMidSize) '対象文字列の最後までを抜き出す
lngTotalSize = lngTotalSize + lngMidSize - 1
End If

426 名前:419 :04/03/30 13:52
Loop Until lngPos2 = 0 '検索文字列が見つからなくなるまでループ

StrReplace = Left$(strBuffer, lngTotalSize) '置き換え結果を返す

End Function

長文すみません以上です

427 名前:デフォルトの名無しさん :04/03/30 15:11
CString StrReplace(CString str)
{
int i = 0;
while(true) {
i = str.Find("\n", i + 1);
if(i == -1) break;
str.Delete(i);
str.Insert(i, "\r\n");
}
return str;
}

428 名前:デフォルトの名無しさん :04/03/30 15:19
TDL::String StrReplace(TDL::String str)
{
return str.Replace("\n", "\r\n");
}

429 名前:デフォルトの名無しさん :04/03/30 16:34
VCで、シリアル通信(送信と受信)ってできますか?
できるとしたらどうすればいいですか?
よろしくお願いします。

430 名前:デフォルトの名無しさん :04/03/30 20:13
comポートを開け

431 名前:デフォルトの名無しさん :04/03/30 22:02
>>418
SP6 キタァァァァァーーーー!!
待ち望んでたぜ……


…でも、VC7.1で慣れちゃったけどな。

432 名前:デフォルトの名無しさん :04/03/31 00:26
はじめまして、質問です。

vc++6.0使っているのですが、
クラス内でvectorを使うにはどうしたらいいですか?

普通に#include<vector>して、

using namespace std;
vector<hoge> a;

しているのですが、どうですか?







433 名前:APIで :04/03/31 00:34
>>429
CreateFileでCOMを開き
GetCommStateで設定
WriteFileで送信 ReadFileで受信
あとは、ポート閉じるのなんだか忘れた

434 名前:デフォルトの名無しさん :04/03/31 00:38
どうですか?っていうのはナニが聞きたいのだ?

435 名前:432 :04/03/31 00:47
#include<vector>
#include "hoge.h"
using namespace std;

vector<hoge> a;

と、記述して、ビルドすると、

'hoge' : 定義されていない識別子です。
'vector' : クラスのテンプレート名で仮引数リストの指定がありません。

と、エラーが出るのですが、どこが間違っていますか?

436 名前:デフォルトの名無しさん :04/03/31 01:18
>>435
hoge.hの内容が分からないのに答えられないよ。

437 名前:432 :04/03/31 01:41
>>436

hoge.hはただのクラス定義なのですが。。
クラスの内容も関わってきますか?

438 名前:デフォルトの名無しさん :04/03/31 01:48
>>432
(ここに何かかいてあるんじゃねーの?) 'hoge' : 定義されていない識別子です。
(ここに何かかいてあるんじゃねーの?) 'vector' : クラスのテンプレート名で仮引数リストの指定がありません。

情報の小出しうぜぇ。つか、hogeの定義が間違ってるんだよ。ヴォケ。

439 名前:デフォルトの名無しさん :04/03/31 03:03
一番たちの悪い質問の仕方だな

440 名前:432 :04/03/31 03:35
>>438
情報の小出しですいません。質問に慣れていないので。

(ここに何かかいてあるんじゃねーの?)
のところには、

クラスファイルのパスとエラー箇所の行数、
とエラー番号(error C2065 <= こんなんでした)が書いてあるだけです。

mainやメンバ関数無いにvectorを宣言した時はビルドが通るのですが、
メンバ変数として、クラスのヘッダに記述した時だけ
上記のエラーがでます。



441 名前:デフォルトの名無しさん :04/03/31 05:20
SP6 DL しました!
相変わらず VBだけは 起動時に SP6 と 起動画面に 入るのですが
VC には、入りませんね。。 ちゃんと入っているか不安です(笑)

いったい何が変わったのでしょう?

442 名前:デフォルトの名無しさん :04/03/31 05:32
>>432
> クラスファイルのパスとエラー箇所の行数、
> とエラー番号(error C2065 <= こんなんでした)が書いてあるだけです。
この辺が重要なわけで。

とりあえず、>>1でも読んで出直してきた方が良いと思われます。

443 名前:デフォルトの名無しさん :04/03/31 05:45
>>442
だまっておしえれ

444 名前:デフォルトの名無しさん :04/03/31 07:33
>>443
教わりたかったら情報提供しろ。それができないなら来るんじゃね。

445 名前:デフォルトの名無しさん :04/03/31 08:26
>>444
俺は教える側。

446 名前:デフォルトの名無しさん :04/03/31 08:28
>>442の位置に書くなら、
前方宣言と一言書けばすむことだろ。

447 名前:デフォルトの名無しさん :04/03/31 08:34
SP4を手に入れた少し後にSP5が出てナンダヨーと思いつつ
また直ぐにSP6が出るだろうと思いそのままにする事2年ぐらいたつか・・・
でもつい最近、好い加減もう出ないだろうと諦めSDKを入れた序にSP5も導入。
そしたらまた直ぐにSP6ですか。全くナンダヨー。
SP5とSDKセットのバックアップCDまで作ったのにさぁ。

448 名前:デフォルトの名無しさん :04/03/31 11:49
>>446


449 名前:デフォルトの名無しさん :04/03/31 17:22
Windowsのアプリケーションを作る時に
printfでデバッグ情報を吐かせたいんですが、
この場合標準出力はどこになっているんでしょうか。

450 名前:デフォルトの名無しさん :04/03/31 17:32
>>449
なんでそういう無理なことするの?
もっと自然なやり方があるんじゃない?

451 名前:デフォルトの名無しさん :04/03/31 17:34
>>449
自分で開かなければ、どこでもないです。
ふつうは、OutputDebugStringを使ってVSの出力ウインドウに
表示させます。

452 名前:デフォルトの名無しさん :04/03/31 18:18
>>447
負け組乙w

453 名前:デフォルトの名無しさん :04/03/31 19:04
トレースマクロでもいいんじゃない
と言ってみるでつ

454 名前:デフォルトの名無しさん :04/03/31 19:07
>>453
いいですね。

455 名前:デフォルトの名無しさん :04/03/31 20:25
ここで質問するのが適当でないかもしれないですか、
疑問に思ったので質問させてください。
ウインドウを表示するプログラムを作成し、そのプログラムのデバック中に
表示されているウインドウにフォーカスがある状態でF12を押すと、

test.exe の 0x77fa144b でハンドルされていない例外が発生しました : ユーザー設定のブレークポイント。

と言われ停止するのですが、これは仕様なのでしょうか?
調べてもF12に何か割り当てられている様子がないです。
それとも自分の環境がおかしいだけなのでしょうか?
ちなみに環境はVS2003 + Win2000です。

456 名前:デフォルトの名無しさん :04/03/31 22:29
VC6.0でも出るよ。例外にはならないけどブレークする。

457 名前:デフォルトの名無しさん :04/03/31 22:36
なんか、SP6ってプロセッサーパックが使えなくなるって書いてあるんだが
SP6入れた後、CPU命令とか使える?

458 名前:455 :04/04/01 01:09
>>456
他の環境でも同じ症状がでると言うことが分かっただけでも有難いです。
例外と言ってはいるもののcatch出来ません。
DebugBreak呼んでるのと同じ動作をするようです。
F12を押したら何かアクションを起こすようにしたかったのですが・・・
意外と問題になってないのが不思議です。
回避策が見つからないのでひとまず諦めます。
どうもありがとうございました。

459 名前:デフォルトの名無しさん :04/04/01 01:44
mfc を使わないとき、OutputDebugString 使わなくても

#include <dprintf.h>
すれば dprintf で printf 見たく使えるから そっちが楽でしょう。。


P.S.
VC6 で STL 標準の使えるんですか? 今日から使おうと思って。。 STLport を入れました。ライブラリ無しで。

460 名前:デフォルトの名無しさん :04/04/01 01:56
>>459
ほんなら vsprintf()とOutputDebugString()を組み合わせた関数を
自分で作りなさい。

461 名前:デフォルトの名無しさん :04/04/01 01:57
>>460 ?????

#include <dprintf.h>
すれば dprintf で printf 見たく使えるから そっちが楽でしょう。。


462 名前:デフォルトの名無しさん :04/04/01 02:09
>>461
なんのこっちゃ・・・

463 名前:デフォルトの名無しさん :04/04/01 02:13
OutputDebugString じゃなく

dprintf 使えば ってこと。。 案外知らない人が多いんだね。。。

464 名前:デフォルトの名無しさん :04/04/01 02:18
>>460
馬鹿は書き込むな

465 名前:デフォルトの名無しさん :04/04/01 02:19
>>463
で、dprintfはVCに標準で入ってるわけ?

466 名前:デフォルトの名無しさん :04/04/01 02:20
>>465
入っています!

#include <dprintf.h>

してね!

467 名前:デフォルトの名無しさん :04/04/01 02:26
>>466
あら、本当だ。
MSDNライブラリに書いてないのにね。

468 名前:デフォルトの名無しさん :04/04/01 02:33
DEBUGが定義されていないとコンパイルエラーになるから微妙だな。
外したい時は逆に面倒になる悪寒。

469 名前:デフォルトの名無しさん :04/04/01 02:35
ttp://iboard.to/4/bbs.cgi?id=ku0013&upass=&start=15&mode=kの掲示板の571で使われているタグはどのようなものなのでしょうか?教えてください。

470 名前:デフォルトの名無しさん :04/04/01 02:49
<marquee direction="down">

471 名前:デフォルトの名無しさん :04/04/01 03:42
>>468
結局、デバッグ版とリリース版で切り替える処理を自分で入れなきゃいけないんだな。
そう便利でもないな。

472 名前:デフォルトの名無しさん :04/04/01 20:33
crtdbg.hに_VERIFYがあればいいのに。

473 名前:デフォルトの名無しさん :04/04/01 23:19
Outlookのタイプライブラリを使おうとしたんですが、コンパイルが通りません。
何かインクルードする必要でもあるのでしょうか?

環境
Visual C++6.0
Windows XP
Microsoft Outlook2002

a.cpp
<<<<<<< ここから
#import "C:\Program Files\Microsoft Office\Office10\MSOUTL.OLB" \
no_namespace exclude("_IRecipientControl", "_DRecipientControl")

int main()
{
return 0;
}
<<<<<< ここまで

474 名前:473 :04/04/01 23:19
続き
エラー内容は下記のとおりです。

コンパイル中...
a.cpp
c:\program files\microsoft visual studio\myprojects\test\debug\msoutl.tlh(971) : error C2146: 構文エラー : ';' が、識別子 'Assistant' の前に必要です。
c:\program files\microsoft visual studio\myprojects\test\debug\msoutl.tlh(971) : error C2501: 'AssistantPtr' : 識別名を宣言するのに、型が指定されていません。
c:\program files\microsoft visual studio\myprojects\test\debug\msoutl.tlh(971) : error C2501: 'Assistant' : 識別名を宣言するのに、型が指定されていません。
c:\program files\microsoft visual studio\myprojects\test\debug\msoutl.tlh(975) : error C2146: 構文エラー : ';' が、識別子 'COMAddIns' の前に必要です。
c:\program files\microsoft visual studio\myprojects\test\debug\msoutl.tlh(975) : error C2501: 'COMAddInsPtr' : 識別名を宣言するのに、型が指定されていません。
c:\program files\microsoft visual studio\myprojects\test\debug\msoutl.tlh(975) : error C2501: 'COMAddIns' : 識別名を宣言するのに、型が指定されていません。
c:\program files\microsoft visual studio\myprojects\test\debug\msoutl.tlh(981) : error C2146: 構文エラー : ';' が、識別子 'LanguageSettings' の前に必要です。
c:\program files\microsoft visual studio\myprojects\test\debug\msoutl.tlh(981) : error C2501: 'LanguageSettingsPtr' : 識別名を宣言するのに、型が指定されていません。
c:\program files\microsoft visual studio\myprojects\test\debug\msoutl.tlh(981) : error C2501: 'LanguageSettings' : 識別名を宣言するのに、型が指定されていません。
c:\program files\microsoft visual studio\myprojects\test\debug\msoutl.tlh(985) : error C2146: 構文エラー : ';' が、識別子 'AnswerWizard' の前に必要です。
c:\program files\microsoft visual studio\myprojects\test\debug\msoutl.tlh(985) : error C2501: 'AnswerWizardPtr' : 識別名を宣言するのに、型が指定されていません。
以降省略。

475 名前:デフォルトの名無しさん :04/04/01 23:42
""の中の\は\\とするのに100朝鮮人

476 名前:473 :04/04/01 23:50
残念。\\にしてみたけど変わりませんでした。

477 名前:デフォルトの名無しさん :04/04/01 23:58
プログラムを始めようと思っているのですが、C言語かC++言語にしようか
迷っています。ですが、友達からC++のソフトMicrosoft Visual C++ 6.0を
貰って、それをインストールしました。
これでも、C++のソフトでもC言語はできるのでしょうか?
あと、他にイイ言語があれば教えてください。
よろしくお願いします

478 名前:デフォルトの名無しさん :04/04/02 00:00
>>477
できます。

479 名前:デフォルトの名無しさん :04/04/02 00:04
ありがとうございます☆⌒(*^▽^*)⌒☆
それと、勉強するのにココのサイトがわかりやすぞ!っていうサイトが
あったら教えてもらえませんか?C++でも、Cでもいいので・・・
いくつも質問してすみません。

480 名前:デフォルトの名無しさん :04/04/02 00:12
http://www.sgnet.co.jp/c/

481 名前:デフォルトの名無しさん :04/04/02 00:14
>>479
ここ。<判りやすいぞ

482 名前:デフォルトの名無しさん :04/04/02 00:15
ありがとうございます(*^▽^*)
本当にありがとうございました☆


483 名前:デフォルトの名無しさん :04/04/02 00:22
>>479
http://www.kumei.ne.jp/c_lang/

484 名前:デフォルトの名無しさん :04/04/02 00:22
>>480
変な癖がつきそうだし、ansi違反のサンプルだし…

485 名前:デフォルトの名無しさん :04/04/02 00:26
>>484
もうちょっとましなのあったら教えてあげて。
残念ながら自分は知らないです。
よろしくお願いします。

486 名前:デフォルトの名無しさん :04/04/02 00:33
>>484
具体的にどこらへんが悪い?

特に良いと思うわけでもないが、そんなに問題があるようにも見えないので。

487 名前:デフォルトの名無しさん :04/04/02 00:36
>>484
まぁ、printf()如きに「しょうがないなぁ〜」とか言われたくないよな。

488 名前:デフォルトの名無しさん :04/04/02 00:55
(*^▽^*) (*^▽^*) (*^▽^*) (*^▽^*) (*^▽^*) (*^▽^*) (*^▽^*)
(*^▽^*) (*^▽^*) (*^▽^*) (*^▽^*) (*^▽^*) (*^▽^*) (*^▽^*)
(*^▽^*) (*^▽^*) (*^▽^*) (*^▽^*) (*^▽^*) (*^▽^*) (*^▽^*)
(*^▽^*) (*^▽^*) (*^▽^*) (*^▽^*) (*^▽^*) (*^▽^*) (*^▽^*)
(*^▽^*) (*^▽^*) (*^▽^*) (*^▽^*) (*^▽^*) (*^▽^*) (*^▽^*)
(*^▽^*) (*^▽^*) (*^▽^*) (*^▽^*) (*^▽^*) (*^▽^*) (*^▽^*)
(*^▽^*) (*^▽^*) (*^▽^*) (*^▽^*) (*^▽^*) (*^▽^*) (*^▽^*)
(*^▽^*) (*^▽^*) (*^▽^*) (*^▽^*) (*^▽^*) (*^▽^*) (*^▽^*)
(*^▽^*) (*^▽^*) (*^▽^*) (*^▽^*) (*^▽^*) (*^▽^*) (*^▽^*)
(*^▽^*) (*^▽^*) (*^▽^*) (*^▽^*) (*^▽^*) (*^▽^*) (*^▽^*)
(*^▽^*) (*^▽^*) (*^▽^*) (*^▽^*) (*^▽^*) (*^▽^*) (*^▽^*)
(*^▽^*) (*^▽^*) (*^▽^*) (*^▽^*) (*^▽^*) (*^▽^*) (*^▽^*)



489 名前:デフォルトの名無しさん :04/04/02 01:21
>>486
void main()

490 名前:デフォルトの名無しさん :04/04/02 01:33
>>486
gets()
空白の入れ方が変。
口調が丁寧に見えて実は独り善がり。
(asciiコードで書くべき)サンプルに2バイト文字を使用している。
自ら指摘しているミスをサンプルで犯している。

ざっと見ただけでこんなに出てくるんだからお郷が知れるよ。

491 名前:デフォルトの名無しさん :04/04/02 02:21
まあまあ。この手のサイトはほとんどオナニーで作ってるようなもんだから。
俺がちゃんとしたテキストとして読んで勉強になったのは、
http://www.asahi-net.or.jp/~yf8k-kbys/
ここと猫だけ。

492 名前:デフォルトの名無しさん :04/04/02 07:44
>>491
そこは少なくとも丁寧には書かれているね。
疑問点はないではないんだけどまぁいいか。

493 名前:デフォルトの名無しさん :04/04/02 10:44
>>473
#import "C:\\Program Files\\Common Files\\Microsoft Shared\\Office10\\MSO.DLL" named_guids
#import "C:\\Program Files\\Microsoft Office\\Office10\\MSOUTL.OLB" \
no_namespace exclude("_IRecipientControl", "_DRecipientControl")

後、不必要なファイルをインクルードしていると同様なエラーが出る事がある。
ゴミファイルが影響する事もあるので、
Debugフォルダ内のすべてのファイルを削除してから、
再コンパイルする事。


494 名前:493 :04/04/02 10:45
ついでにこれも貼っておく。
ttp://www.codeproject.com/com/outlookcontacts.asp


495 名前:DLLのデバッグ :04/04/02 16:04
DLLのデバッグを行おうとしていますが、デバッグモードに入りません。
環境はWindows2000でのVisualC++6.0です。

IISのエクステンションを作ってそれをデバッガーでデバッグしたいと
思っています。VC++から新規作成でISAPI Extension Wizardを使って
サーバー拡張オブジェクトを作成し、デバッグモードでビルドします。
ビルドされたDLLはIISによりアクセスできるInetPub/wwwroot/以下の
ディレクトリに置き、アクセス権限も与えます。
dllは正常に作動し、ブラウザで起動するとDefault()の中で指定され
ているメッセージが返ってきます。

ここで、デバッグの為にプロジェクトの設定の中のデバッグタブにある
デバッグセッションの実行可能ファイルをC:\Winnt\system32\dllhost.exe
に設定し、Default()中にブレークポイントをつけて、ブラウザでDLLを
呼び起動させてみました。DLLは正常に動作しますが、デバッグモードには
入りません。デバッグセッションの実行可能ファイルをC:\Winnt\system32\
inetsrv\inetinfo.exeにしてやってみたりしましたが、うまく行きません。

MSDNにあるDLLのデバッグに関するページを参考にしているのですが、
ttp://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/vsdebug/html/_core_debugging_dlls.asp
うまく行きません。Inetinfo.exeのバージョンは5.0.2195.6620
dllhost.exeのバージョンは5.0.2195.6692です。
どなたかよくご存知の方、教えていただけますでしょうか。
よろしくお願いします。


496 名前:デフォルトの名無しさん :04/04/02 16:40
質問させていただきます。

VCでコードを編集中にキーボードのどこかに手があたって、タブのところに ^ がスペースのところに ` が表示されるようになったのですが、どこを触ったらこうなるのでしょうか。

497 名前:デフォルトの名無しさん :04/04/02 17:19
>>496
[編集] -> [高度な操作] -> [空白の表示]

498 名前:デフォルトの名無しさん :04/04/02 18:01
>495
DLLから適当な時期にDebugBreakを呼んで、
そこおからデバッグかければいいんでないか?

499 名前:DLLのデバッグ :04/04/02 19:24
>498 さん、メッセージありがとうございます。

DebugBreak() 入れてやってみましたが、うまく行きませんでした。
通常のEXEプログラムに DebugBreak() 入れますとその場所でデバッガー
が起動しますが、DLLの中途に入れてもデバッガーは起動せず、また
DLL自身も動作しませんでした。

なにか、他に設定しなければいけないところとかあるのでしょうか。

500 名前:デフォルトの名無しさん :04/04/02 23:46
>>499
ビルド
 +-- アクティブな構成の設定

がReleaseになってるとか。


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