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


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

★初心者にVisual C++を教えるスレ★ Part21
251 名前:デフォルトの名無しさん :2005/09/05(月) 18:18:13
そりゃ支援するためのデータが有るからだろ

252 名前:デフォルトの名無しさん :2005/09/05(月) 18:28:19
支援するためのデータってヘッダだろ?DirectXで開発するならヘッダあるに決まってるじゃん。

253 名前:デフォルトの名無しさん :2005/09/05(月) 18:43:07
VCもDelphiみたいに型情報まで判断して支援してくれりゃ言うことないんだけどな

254 名前:デフォルトの名無しさん :2005/09/05(月) 23:54:31
開発環境 OS:XP 言語 visual C++6.0
VBからの移行プログラムで、C言語でのプログラムの修正を解析されたのですが、
msghook が出てきました。msghook ってなんですか。わかる方教えてください。

255 名前:デフォルトの名無しさん :2005/09/06(火) 00:30:59
買う前にMSのサイトで各エディションの比較表を見てVisualC++.net Version2003
を買ったんだけど、コンパイラが違うのは使うまで分からなかった。
Toolkit2003のおかげで助かったけど、このものすごく重大な違いが
ものすごく分かりやすくかかれていないのは問題じゃないか?

256 名前:デフォルトの名無しさん :2005/09/06(火) 01:44:44
>>243
マクロ作ればいけると思うぞ。
CTRL + SHIFT + R で記録すればコードを各必要も無いし。

>>支援
インテリセンスのコトだったら
IDirect3DDevice9 とかの型もヒントが出てくるケド…?
…釣られてる?

257 名前:デフォルトの名無しさん :2005/09/06(火) 04:17:48
普通は入力支援されるんだがDirectXのインストール順とかでダメなことがあるらしい
NCBやいらないファイルを削除してリビルドするだけでうまくいくこともあるみたいだけどね
鬱氏で昔話題になった記憶がある

258 名前:デフォルトの名無しさん :2005/09/06(火) 05:10:18
>>255
俺も同じなんだが、そんな俺にVisualC++.net Version2003でToolkit2003でコンパイルする方法を教えてくれないか?

259 名前:デフォルトの名無しさん :2005/09/06(火) 05:59:48
Visual C++ と C++Builderってどうちがうの?
おなじC++言語で開発するんだから余り変わりないの?


260 名前:デフォルトの名無しさん :2005/09/06(火) 06:12:15
>>259
使い勝手やライブラリ、コンパイラなどが違います。
VCは主軸を.NETに移しており新機能はそちらが中心となっております。
BCBはしばらくリリースがありませんでしたが数ヶ月後にDelphi2006に
統合されてリリースされる予定です。

261 名前:デフォルトの名無しさん :2005/09/06(火) 06:15:58
ソース比べてみればわかるけど
全然別物

262 名前:デフォルトの名無しさん :2005/09/06(火) 06:16:57
大丈夫、C++の標準関数などを使っている分には大差ないから。

263 名前:デフォルトの名無しさん :2005/09/06(火) 06:17:54
>>254
メッセージフックじゃろ

>>261
プ

264 名前:デフォルトの名無しさん :2005/09/06(火) 06:18:27
そこで#pragma comment(linker, "/nodefaultlib:\"libc.lib\"")ですよ

265 名前:デフォルトの名無しさん :2005/09/06(火) 06:21:43
>>260-262
どもw
どちらの方がオススメなんでしょうか?
自分はDelphiからの移行を考えているのですが・・・・

266 名前:デフォルトの名無しさん :2005/09/06(火) 06:23:34
>>265
なにをやりたいかにも拠るが、GUIやりたいなら当然BCBの方が移行は楽。

267 名前:デフォルトの名無しさん :2005/09/06(火) 06:30:01
>>265
成るほど。
企業などではどちらがよく使われるの?


268 名前:デフォルトの名無しさん :2005/09/06(火) 06:30:37
>>265
BCBだと結局Delphiと変わらない
C++覚えたいだけならそのほうが都合がいいかもしれんが

269 名前:デフォルトの名無しさん :2005/09/06(火) 06:34:00
>>268
なるほど・・・・・Delphiと変わらんか・・・
Delphiは趣味で使うにはいいんだけど、企業で使われることは少ないらしいし。
一応SE目指してC勉強してるんで・・・それだとちょっとなあ・・・



270 名前:デフォルトの名無しさん :2005/09/06(火) 06:34:53
>>267
どっちもあまり使ってないと思うが雑誌のアンケートを信じるなら
Java > VB > Delphi >>> VC >>>(超えられない壁)>>> BCB

分野で完全にひっくり返ったりするから参考程度で

271 名前:デフォルトの名無しさん :2005/09/06(火) 06:53:24
>>270
どもw参考にします

272 名前:デフォルトの名無しさん :2005/09/06(火) 07:52:28
私の勤める会社でも部署によっては業務系でDelphiもJAVAも使っているし、
私と同じのプロジェクトに参加しているソフト屋は制御系でBCBを使っているらしい。
どちらもVBは使っているがVB.netではない。寧ろC#の案件が一部あるそうだ。

273 名前:デフォルトの名無しさん :2005/09/06(火) 10:45:11
C++覚えたいだけならそっちのスレへ

274 名前:デフォルトの名無しさん :2005/09/06(火) 11:41:38
了解しますた

275 名前:デフォルトの名無しさん :2005/09/06(火) 13:39:18
CString を charへ変換したいのですがどうすればいいでしょうか?
例えばcharからintならatof(a);
というやり方でできますが
CStringからcharはどのようにしたいいですか?
Cで作ったプログラムをVisual C++を使って作りたいのですが
ここがどうしてもうまくいきません。
Cで作ったものはVisual C++でもうまくいくのでしょうか?


276 名前:デフォルトの名無しさん :2005/09/06(火) 13:41:17
 テストは Windows XP(SP2), Pentium 4, Visual C++2003で。
 以下のコードで、最適化をかけずにビルドすると
何故か 結果がおかしいです。

float swappp(const float f)
{
  unsigned int r = *(unsigned int*)&f;
  r =    ((r >> 24) & 0xff)
      | ((r << 24) & 0xff000000)
      | ((r >> 8) & 0xff00)
      | ((r << 8) & 0xff0000);
  return *(float *)(&r);
}


277 名前:デフォルトの名無しさん :2005/09/06(火) 13:41:55
276の 続きです。
union IntFloat
{
  unsigned int i;
  float f;
};

int main()
{
  IntFloat t;
  t.f = -1002.249939f;    // A : t.i = 0xC47A8FFF
  t.f = swappp(t.f);     // B : t.i = 0xff8f7ac4のはず
  printf("0x%08x\n", t.i);  // C : でも t.i = 0xffcf7ac4
}

 スワップしているだけなので、8bit単位で同じ値になるはずなのに、
何故か 8F->CFになります。
 原因は単精度浮動小数点ではない値を浮動小数点として扱っている為、
CPUの浮動小数点レジスタのフォーマットに変換した際に値が変化してしまったと
考えられるのですが、これはバグなのでしょうか。
 それとも C++の規約的には不定となるようなコードで、
こうなっても仕方がない類のものなのでしょうか。

278 名前:デフォルトの名無しさん :2005/09/06(火) 13:43:30
ただCStringの持ってる文字列をchar配列に取り出したいだけなら、

CString str = "Hoge";
char szBuf[5];
lstrcpy( szBuf, (LPCTSTR)str);

これでいい

279 名前:デフォルトの名無しさん :2005/09/06(火) 13:44:10
CString を charへ変換したいのですがどうすればいいでしょうか?
例えばcharからintならatof(a);
というやり方でできますが
CStringからcharはどのようにしたいいですか?
Cで作ったプログラムをVisual C++を使って作りたいのですが
ここがどうしてもうまくいきません。
Cで作ったものはVisual C++でもうまくいくのでしょうか?


280 名前:278 :2005/09/06(火) 13:44:50
>>275宛てね

281 名前:デフォルトの名無しさん :2005/09/06(火) 13:49:21
>>275,279
何がしたいのか日本語で言ってみろよ

それから氏ね

282 名前:デフォルトの名無しさん :2005/09/06(火) 14:04:04
textBox->Text += "1";の演算ができないです。
Form1.h(624): error C2845: '+' : __gc ポインタ 'System::String __gc *' に対してポインタ演算ができません。
というエラーがでます。

VC++.NET 2003使用

283 名前:デフォルトの名無しさん :2005/09/06(火) 14:28:59
(マネージドだと、こんなVBライクな事が出来るのか・・・)

284 名前:デフォルトの名無しさん :2005/09/06(火) 14:33:19
>>276
反転すると指数部が0xffかつ仮数部が非0になるので非数(NaN: Not a Number)となるな。
8F->CFとなっても非数には変わりないから、IEEE754的には正しい動作と言えると思う。

285 名前:デフォルトの名無しさん :2005/09/06(火) 14:37:21
あとC/C++的には、floatの内容をいじくった時点で未定義なコードだと思う。

286 名前:デフォルトの名無しさん :2005/09/06(火) 14:37:47
>>276
swapp()がfloatを返す仕様だからしかたないね。
ポインタのままかバイト列か整数で受け渡しをすれば巧くいくと思うけど。

287 名前:276 :2005/09/06(火) 14:41:15
>> 284-286
 なるほど。そうでしたか。
 ありがとうございました。

288 名前:デフォルトの名無しさん :2005/09/06(火) 14:48:25
>>282
もっと自分で考えれ

>>283
できてないだろ

289 名前:デフォルトの名無しさん :2005/09/06(火) 21:20:03
>>258は教えてくれないのですか?

290 名前:デフォルトの名無しさん :2005/09/06(火) 22:02:46
ぐぐれ

291 名前:デフォルトの名無しさん :2005/09/06(火) 22:38:02
コマンドプロンプトで始めにcd c  って打つんですけど指定されたパスが見つかりません
って出ます。何でですか?  ファイル名c です。」

292 名前:デフォルトの名無しさん :2005/09/06(火) 22:51:38
スレ違い。

293 名前:デフォルトの名無しさん :2005/09/06(火) 23:11:11
CAsyncSocket Class にて、関数を作成する際(例:TestFunc(構造体名& testType); )に、
CWinApp Class にて宣言した構造体を引数にしたいのですが、コンパイルすると、
「構造体名がシンタックスエラーを起こしました。」のメッセージが出てしまいます。
ワークスペース表示欄にて、Socket classの名称の方が、Win classの名称より上位にあるために、
構造体名が参照されず、このようなことが起きているのでしょうか?どうやったら、
コンパイルが通るかわかりません。誰か知ってる人いたら、教えて下さい。

294 名前:デフォルトの名無しさん :2005/09/06(火) 23:20:41
>>293
よく理解できないが前方宣言はどう?

295 名前:デフォルトの名無しさん :2005/09/07(水) 01:36:44
>>258
VisualC++.net Version2003でToolkit2003のコンパイラを使う方法のこと?
だったら自分も確実な方法は知らない。サポート対象外で自己責任。

オプションの実行ファイルディレクトリにToolkit2003のbinフォルダを優先させて
登録する人が多いみたいだけど、自分はさらにToolkit2003のlink.exeと
link.exe.configを退避させてる。(元のlink.exeを使いたいから)

ちなみに dbghelp.dll msobj71.dll mspdb71.dll msvcp71.dll msvcr71.dll
cl.exe.config link.exe.config は元のファイルとバイナリ一致
link.exeはサイズが一緒なんでメッセージの言語が違うだけかなと。

296 名前:295 :2005/09/07(水) 01:53:42
最適化のオプションは コマンドライン→追加のオプション のところに書く。

297 名前:デフォルトの名無しさん :2005/09/07(水) 04:45:40
>>294
その手がありましたね。ありがとーございました!
なんとかできそうです!

298 名前:デフォルトの名無しさん :2005/09/07(水) 10:30:09
で、Toolkit2003のコンパイラだとどんなメリットが?

299 名前:デフォルトの名無しさん :2005/09/07(水) 10:34:01
エラーメッセージが英語になる

300 名前:デフォルトの名無しさん :2005/09/07(水) 10:41:50
そりゃ便利だ
さっそく使ってみよう

301 名前:デフォルトの名無しさん :2005/09/07(水) 12:42:20
VC7 から VC7.1にしたら、ダイアログ上に配置する
Buttonのデザインが古くなってるんですが、
我慢するしかないですか?

302 名前:デフォルトの名無しさん :2005/09/07(水) 13:01:38
LPCTSTR型はMFCではないと使えないんですか?
コンソールアプリケーションでは使えませんか?
よろしくお願いします。
環境 VC++6.0 win2000です

303 名前:デフォルトの名無しさん :2005/09/07(水) 13:18:19
302
#include <windows.h>でどう?

304 名前:デフォルトの名無しさん :2005/09/07(水) 13:22:38
>>303
サンクス!ありがとーっす!動いたっす!

305 名前:デフォルトの名無しさん :2005/09/07(水) 17:14:44
まぁ、LPCTSTRが使いたいだけならwindows.hインクルードせんでも、
自分で、typedefしてもいいんだけどな

306 名前:デフォルトの名無しさん :2005/09/07(水) 17:43:55
なるほどtypdefもいいんですね!ありがとうございます
>>305

307 名前:デフォルトの名無しさん :2005/09/07(水) 17:51:42
typedef const char *LPCTSTR;と書く予感。

308 名前:デフォルトの名無しさん :2005/09/07(水) 23:05:38
>>299
ググれば一瞬で分かるだろハゲ

309 名前:デフォルトの名無しさん :2005/09/07(水) 23:18:57
CString を vector<string> col;に入れたい。
だして表示したい。
のですがどうすればいいでしょうか?
1 SQLを実行後にCstrig strResult;//hage がはいってます。
vector<string> col;
vector<vector<string> > recordset;
col.resize(10);
col[i] = strResult;//ぐるぐるまわす 入りますか。?
recordset.push_back(col);
///////////
CDC::TEXTOUT(10,10,(recrordset[1][1]).c_str());

CDC::TEXTOUT(10,20,(recrordset[1][2]).c_str());
・・・
************
* hage *
* *
* *
* *
************

310 名前:デフォルトの名無しさん :2005/09/07(水) 23:27:57
>>295
ありがとう

311 名前:デフォルトの名無しさん :2005/09/08(木) 00:46:39
>>309
なんで普通にcol.push_back(static_cast<const char *>(strResult));しないの?

312 名前:デフォルトの名無しさん :2005/09/08(木) 01:03:09
>>309
言いたい事わわかるような気がするんですが
コードの部分だけでしか分かり得ません
私は韓の国からやってきましたが日本語をべんきょしても
あなたの日本語は理解し得ません

313 名前:デフォルトの名無しさん :2005/09/08(木) 01:36:24
>なんで普通にcol.push_back(static_cast<const char *>(strResult));しないの?
神出現 W、わかりました。ということは
col.push_back((LPCTSTR)strResult);もOK牧場ですよね。
おきててよかった。ありがとう311
 何度もあつかましいようですけど CDC::TextOut(10,10,(recrordset[1][1]).c_str());
は、OKでしょうか。これでグローバルのベクター(SQL結果の1時記憶)が完成しました。
それから、vector<Cstring> COL; vector<vector<Cstring> > RS;はやめておいた方がよいですよね。



↓ダイアログ画面のつもりでした。↓
************
* hage  *
*      *
*     *
*      *
************







314 名前:デフォルトの名無しさん :2005/09/08(木) 05:10:04
>>313
質問の要点は的確に。
>それから、vector<Cstring> COL; vector<vector<Cstring> > RS;はやめておいた方がよいですよね。

CStringをvectorに入れることの是非を問うているのなら、それはそれで構わないと答えるけど。

315 名前:デフォルトの名無しさん :2005/09/08(木) 07:34:59
>>313
col.push_back(static_cast<LPCTSTR>(strResult));

316 名前:デフォルトの名無しさん :2005/09/08(木) 10:37:51
>>313
プログラムの前に日本語勉強してこい

317 名前:205 :2005/09/08(木) 11:14:34
アドバイスありがとうございます。

どうやら色々やってみたところGetDC(hWnd)、ReleaseDC(hWnd)をメッセージループで
使用するとページファイルが際限なく上がるみたいです(DirectX使ってるので
サーフェスにGetDC、ReleaseDCを使うだけでいいのに間違えて書いてた)。
よってこれに関してはペンやブラシの作成は関係なかったみたいです。

ただ、メッセージループ内でCreatePen、CreateBrushするとなぜかしばらくプログラムを
起動しているとペンやブラシが消える(ペンやブラシで描いた図形が画面から消える)みたいですが
ループ外であらかじめ作っておけば大丈夫、ということがわかりました。

318 名前:デフォルトの名無しさん :2005/09/08(木) 11:28:04
質問者は日本語で質問してくれ

319 名前:デフォルトの名無しさん :2005/09/08(木) 13:23:41
VC++6.0 WinXPsp2

質問です。
タイプライブラリを #import するとプライマリヘッダ(.tlh)とセカンダリヘッダ(.tli)が自動生成され、
それらを #include しようとするのですが、そこで警告が出てしまいます。

たとえば #import "hoge.tlb" としてコンパイルすると、hoge.tlh と hoge.tli が生成され、
warning #990: #include of "Release/hoge.tlh" may be non-portable
warning #990: #include of "c:\aaa\bbb\ccc\hoge.tli" may be non-portable
のような警告が出ます。

この警告が出ないようにする方法はありませんでしょうか。
よろしくお願いします。

320 名前:デフォルトの名無しさん :2005/09/08(木) 13:29:24
XPでVC++6.0を使うのを止めて.NET2002/2003を使うか、
Win2kあたりでVC++6.0を使う。


321 名前:デフォルトの名無しさん :2005/09/08(木) 16:20:00
>>320
ありがとうございます。
.NETに乗り換えることにします。

322 名前:fool :2005/09/08(木) 17:41:14
よく自分で調べろっていうやついるけどさぁ
要するに自分じゃ説明できないから調べろってことなのか?
だとしたらただ無駄にプライドが高いだけの馬鹿だなwww

323 名前:デフォルトの名無しさん :2005/09/08(木) 17:43:40
あくまで「だとしたら」、の話だよな。

324 名前:デフォルトの名無しさん :2005/09/08(木) 17:56:39
>>230
ほんとだ。
なんか不便。
当然、一度変数に入れれば問題ないが面倒だよな。

325 名前:デフォルトの名無しさん :2005/09/08(木) 18:03:22
引数に直接""でリテラルを書くのはダメプログラマ

326 名前:デフォルトの名無しさん :2005/09/08(木) 18:31:19
func(STRING_DEF1)

327 名前:デフォルトの名無しさん :2005/09/08(木) 18:33:23
>>325
そうなのか。
次からはこんな感じで行こう!!
String a,b,c,d,e,f,g,h,i,j,k;

328 名前:デフォルトの名無しさん :2005/09/08(木) 18:34:16
>>327
ダメプログラマどころかカスプログラマだな

329 名前:デフォルトの名無しさん :2005/09/08(木) 18:43:11
>>325
んなアホなこというお前こそダメプログラマ

330 名前:デフォルトの名無しさん :2005/09/08(木) 19:48:04
catch(const char*){
とかやってしまうのはだめなんか・・・。だめだよなそりゃ。

331 名前:デフォルトの名無しさん :2005/09/08(木) 19:52:34
>>325
なんで?

332 名前:デフォルトの名無しさん :2005/09/08(木) 19:53:49
>>331
変更が有った時に全部直すのがめんどくさいからじゃね?

333 名前:デフォルトの名無しさん :2005/09/08(木) 20:19:24
国際化に対応するのが大変だな

334 名前:デフォルトの名無しさん :2005/09/08(木) 21:06:12
>>328
突っ込んでくれてありがとう。

335 名前:デフォルトの名無しさん :2005/09/08(木) 22:40:50
VC7 から VC7.1にしたら、ダイアログ上に配置する 
ボタンのデザインが古くなってるんですが、 
我慢するしかないですか? 

皆さんはボタンも自作しますか?


336 名前:デフォルトの名無しさん :2005/09/08(木) 22:53:11
まったく同じ質問をどこかで見たぞ

337 名前:デフォルトの名無しさん :2005/09/08(木) 22:53:24
>>301=>>335
VC7を使い続ければいいんじゃね?
VC7.1じゃないと困ることでもあるのか?

338 名前:335 :2005/09/08(木) 23:07:58
VC7.1で作り始めちゃったので・・・
UIの見た目が、何故か劣化してるのが
どうしても気になっちゃったもので、
見た目をどうこういう程、大したもの作ってる分けでは無いのですが、
よくよく、出回っているフリーソフト等のボタンと見比べると、
見劣っちゃうな・・・と

339 名前:デフォルトの名無しさん :2005/09/08(木) 23:16:04
>>338
manifestファイルがないとかでは?

340 名前:335 :2005/09/08(木) 23:26:25
>>339
ありがとうございます。
ぐぐったらそれっぽい感じです!
助かりました!

341 名前:デフォルトの名無しさん :2005/09/09(金) 01:47:11
特定のフォルダの中のファイルを調べるにはどうすればいいんでしょうか?
MSDNライブラリで、フォルダやディレクトリで検索してみましたが色々出すぎてわかりませんでした

342 名前:デフォルトの名無しさん :2005/09/09(金) 01:50:12
system("dir targetFolder");

343 名前:デフォルトの名無しさん :2005/09/09(金) 12:47:16
コマンドプロンプトでforma(ry

344 名前:デフォルトの名無しさん :2005/09/09(金) 13:51:48
>>341

_findfirst

345 名前:デフォルトの名無しさん :2005/09/09(金) 15:00:32
VisualC++2003スタンダード(日本語版)でMFCプロジェクトを作成したのですが
メニュー等の文字は日本語になのですが、DDVに引っかかったときのメッセージは英語です。
プロジェクト→プロパティ→リソース→全般→追加のインクルードディレクトリに
$(VCInstallDir)\atlmfc\include\l.jpn
を追加すれば日本語になってくれるのですが、毎回この操作をしなければならないのでしょうか?

346 名前:デフォルトの名無しさん :2005/09/09(金) 16:05:11
院生の先輩にVC6++とあるひとつのワークスペース(?)を
渡された初心者です。
CPU使用率を上げてしまう個所を探せ、という課題なのですが
ソースの中からそういうループみたいな部分を抜き出すことができる
ツールとかご存知の方、教えてくださいm(__)m

WinXpです

347 名前:デフォルトの名無しさん :2005/09/09(金) 16:20:33
自分でソース見て探せや怠け学生

348 名前:デフォルトの名無しさん :2005/09/09(金) 16:37:59
>>346
課題ぐらい自力でやれ

349 名前:デフォルトの名無しさん :2005/09/09(金) 16:51:01
そのワークスペースをupしろ。
見付けてやるぞ。

350 名前:デフォルトの名無しさん :2005/09/09(金) 16:58:58
↓本当にワークスペースだけうpする奴

351 名前:346 :2005/09/09(金) 17:00:57
自力で何とかすることにします。
板汚し、失礼しました。

352 名前:デフォルトの名無しさん :2005/09/09(金) 19:43:03
Vtuneでもいれれば。

353 名前:デフォルトの名無しさん :2005/09/09(金) 19:44:51
>>346
マジれすすると、そう言う時にはVC++を使うと良い。
ちょいとプロファイルを取ってみれば、大体見当つくだろ。

354 名前:デフォルトの名無しさん :2005/09/09(金) 19:46:17
て言うか変な課題だな

355 名前:デフォルトの名無しさん :2005/09/09(金) 19:49:03
課題ではなくて単にその先輩が無能なんで
丸投げしただけだろ。その先輩の尻拭いを
させられているわけだな。
>>346は解決したら先輩に言ってやれ。
こんなものも出来ないならさっさと院なんか
辞めて下さいって。


356 名前:346 :2005/09/09(金) 19:55:09
そんなことする人じゃありません。
悪質な決め付けしかできない人は来ないでください。

357 名前:デフォルトの名無しさん :2005/09/09(金) 20:06:27
>>356
んな事言ってもなぁ
こんな課題して何の力がつくんだっていう

358 名前:デフォルトの名無しさん :2005/09/09(金) 20:10:00
先輩の尻拭いじゃなくて、要は使われてるんじゃね?
教授の実験の手伝いをさせられてる理系大学四年生みたいな感じ

359 名前:デフォルトの名無しさん :2005/09/09(金) 20:44:00
どちらにせよ、きんも〜☆

360 名前:デフォルトの名無しさん :2005/09/09(金) 21:40:32
初心者に最適なC++、C言語の本を教えていただけないでしょうか?

361 名前:デフォルトの名無しさん :2005/09/09(金) 21:47:44
>>360
C++、C言語の話はスレ違い

362 名前:デフォルトの名無しさん :2005/09/09(金) 22:07:32
推薦図書/必読書のためのスレッド PART25
http://pc8.2ch.net/test/read.cgi/tech/1119115838/l50


363 名前:名無しさん@そうだ選挙に行こう :2005/09/10(土) 19:22:29
VC.NETのMFCのダイアログで、keyDownメッセージを使いたいのですが
どうしたことかカーソルキーの部分だけ応答してくれません。KeyUpを使うと問題なく
反応するのですが、KeyDownではカーソルキーを使う際に何か問題があるのでしょうか?


364 名前:名無しさん@そうだ選挙に行こう :2005/09/10(土) 19:52:16
使えたはず

365 名前:名無しさん@そうだ選挙に行こう :2005/09/10(土) 20:41:51
作り方が悪いんじゃね?

366 名前:名無しさん@そうだ選挙に行こう :2005/09/10(土) 20:47:56
 float test[500][500];
これをするとWinMainで頭で
 'System.StackOverflowException'のハンドルされていない例外が xxx.exe で発生しました。
とエラーを吐きます。
 float test[250][250];
なら問題ないです。
1MB程度の配列は使えないのでしょうか?




367 名前:名無しさん@そうだ選挙に行こう :2005/09/10(土) 20:50:58
リンカのオプションいじってスタックサイズ大きくすれば取れるかもね。
面倒なら自分で動的に確保or STL

368 名前:名無しさん@そうだ選挙に行こう :2005/09/10(土) 21:21:14
「WM_KEYDOWN ダイアログ」でぐぐってみなかったんだろうか?

369 名前:名無しさん@そうだ選挙に行こう :2005/09/10(土) 21:37:44
>>367
ありがとうございます。多分出来ました。



370 名前:名無しさん@そうだ選挙に行こう :2005/09/10(土) 21:56:29
>>366
ローカル変数にするのがいけない

371 名前:名無しさん@そうだ選挙に行こう :2005/09/10(土) 22:06:50
ローカルではなく構造体に書いていたんですが、それがまずかったんですかね。

372 名前:名無しさん@そうだ選挙に行こう :2005/09/10(土) 22:33:33
ようするに367

373 名前:名無しさん@そうだ選挙に行こう :2005/09/10(土) 22:44:52
VC以前の問題

374 名前:名無しさん@そうだ選挙に行こう :2005/09/10(土) 22:52:01
金出せば買えるんだね

375 名前:名無しさん@そうだ選挙に行こう :2005/09/11(日) 00:04:31
VC++ってC++とどこが違うんですか?

376 名前:名無しさん@そうだ選挙に行こう :2005/09/11(日) 00:09:28
>>375
日本語って日本語ワープロとどう違うんですか?
って言ってるのと同じ。

377 名前:名無しさん@そうだ選挙に行こう :2005/09/11(日) 00:10:35
逆だった。
日本語ワープロって日本語とどこが違うんですか?
だな。

378 名前:名無しさん@そうだ選挙に行こう :2005/09/11(日) 00:15:03
IMAPIを使ったライティングソフトを作るとしたら
開発側とクライアントでどういった環境が必須になるんでしょうか?

例えば
 開 発  :WinXPSP1以降 VS.NET2003以降
クライアント:WinXPSP1以降 .NET Framework1.1必須
みたいな

379 名前:名無しさん@そうだ選挙に行こう :2005/09/11(日) 01:47:53
>>375
VC++ → 製品名
C++ → 言語名

380 名前:名無しさん@そうだ選挙に行こう :2005/09/11(日) 17:06:47
>>375
まずプログラミング言語C++がある。
MSが作ったC++のコンパイラとMFC/ATLなんかのライブラリをつけた製品がVC++。

381 名前:名無しさん@そうだ選挙に行こう :2005/09/11(日) 17:09:38
しむらー!IDE!IDE!

382 名前:名無しさん@そうだ選挙に行こう :2005/09/11(日) 17:14:46
dllについてなんですが、
関数呼び出しをdll形式にするとメモリの節約になるのは分かるのですが、
関数の実行速度についてはどうなんでしょうか?
ダイナミックリンクと、スタティックリンクではどちらのほうが実行速度が速くなりますか?

383 名前:名無しさん@そうだ選挙に行こう :2005/09/11(日) 17:25:39
VCTKがあるからパッケージ内容にIDEやATL・MFCが含まれるとは限らない

384 名前:名無しさん@そうだ選挙に行こう :2005/09/11(日) 17:31:53
>>382
呼び出しオーバーヘッドがほんのちょっと増えるだけでたいして変わらんと思うけど。

385 名前:名無しさん@そうだ選挙に行こう :2005/09/11(日) 18:34:24
>>382
メモリの節約じゃなくて、EXEが占める容量の節約だろ

386 名前:名無しさん@そうだ選挙に行こう :2005/09/11(日) 19:03:56
>>385
複数のプログラムで同じDLLを使うとメモリの節約になる。

387 名前:名無しさん@そうだ選挙に行こう :2005/09/11(日) 19:07:12
気になるんなら自分で試してみるだけだ
自分で試して違いがわからんのなら聞いても無駄

388 名前:382 :2005/09/12(月) 00:22:54
実験してみました。

実行時間比
ダイナミック:スタティック = 1000:700

でした、予想では9割くらいしか違わないと思っていたのですが、
ダイナミックとスタティックでは7割も違っていたので驚きました。

389 名前:デフォルトの名無しさん :2005/09/12(月) 05:33:40
>>388
そんな馬鹿な。どんな実験したの?
ほとんど何もしないようなDllエクスポート関数を
何回も呼び出したんじゃないの?現実にはそんなことはないわけだからね。

390 名前:382 :2005/09/12(月) 20:27:42
全ての関数をDLLにして実行しました。
関数の中の関数もDLLにしたんですが、普通はしないもんなんでしょうか?

391 名前:デフォルトの名無しさん :2005/09/12(月) 20:45:49
全ての関数・・・(´Д`i|)

392 名前:デフォルトの名無しさん :2005/09/12(月) 21:20:31
>関数の中の関数もDLLにしたんですが
詳しく

393 名前:382 :2005/09/12(月) 22:49:44
funcall(void)
{
func1();
func2();
func1();
.......
}
func1()
{
i++;
........
func3();
}

こんな感じで関数が作成されているとき、
func1(), func()2, func3()全てをDLL化しました。
なんか皆さんの反応を見ると
funcall()だけをDLL化したらよかったような気もします・・・

現在は
funcall_dss()
{
funcall();
}
こんな風に主要な関数だけDLL化するようにしました。

394 名前:デフォルトの名無しさん :2005/09/12(月) 23:15:13
何でもDLLにすれば良いと思っているんじゃないか?

395 名前:デフォルトの名無しさん :2005/09/13(火) 01:14:06
>>393
DLLにする意味わかってやってるのか?


396 名前:デフォルトの名無しさん :2005/09/13(火) 18:39:19
わかってやってたらこんなことにはならんわな

397 名前:デフォルトの名無しさん :2005/09/14(水) 02:35:44
>>393
一般的に、DLL化する目的として以下の項目が挙げられる

・複数のプロセスorアプリで共通のデータおよび関数を使う
  →ディスク容量/メモリサイズの節約
・DLLとして関数群を独立させることで、作業の効率を高める
  →個別にメンテ/拡張できる
  →DLLを修正しても、インタフェースに変更が無ければ、呼び出し側の再コンパイルは不要
・独立した機能(サブセット)として分割することで、生産性/利便性を向上させる
  →インタフェースさえ一致していれば、他言語で書いたDLLも使用可能
  →他人が作った同機能のDLLも使用可能

つまりは、複数のモジュールで共通で使用するような関数やデータの集まりを
DLL(or スタティックリンクライブラリ)としてまとめるわけた。

398 名前:デフォルトの名無しさん :2005/09/14(水) 15:42:44
マウスカーソルの置く位置を変えるAPIはなんですか

399 名前:デフォルトの名無しさん :2005/09/14(水) 15:55:57
聞く前に自分で調べろ

400 名前:デフォルトの名無しさん :2005/09/14(水) 16:26:04
SetCursorPos

401 名前:デフォルトの名無しさん :2005/09/14(水) 18:24:33
>>398
厳密に言うと Visual C++に限った質問じゃないんで、今度からは向こうでやってくれ

Win32API質問箱 Build35
http://pc8.2ch.net/test/read.cgi/tech/1125850096/

402 名前:デフォルトの名無しさん :2005/09/17(土) 08:44:34
自宅でVisual C++ 6.0 Standard Editionを使用しています。

次の機能を使いたいのですが、Standard Editionでは使えません。

・プロファイル
・最適化
・実行時ライブラリの静的リンク

Visual C++ .NET Standard Version 2003ではこれらの機能は使えるのでしょうか?


403 名前:デフォルトの名無しさん :2005/09/17(土) 08:50:54
もうすぐ2005でるけど

404 名前:デフォルトの名無しさん :2005/09/17(土) 08:56:50
>>402
何寝言言ってんだあんた・・・
あんた本当に6.0SE使ってんのか・・・

405 名前:デフォルトの名無しさん :2005/09/17(土) 09:09:36
>>402
>次の機能を使いたいのですが、Standard Editionでは使えません。
>Visual C++ .NET Standard Version 2003ではこれらの機能は使えるのでしょうか?

あんたに使えるか、という質問なら仮令2003でも使えないだろうね。

406 名前:デフォルトの名無しさん :2005/09/17(土) 10:17:13
プロファイラがどういう状況で必要になるかといえば、
例えば1つのシステムを大勢で開発している場合だろう。
システムの統括者が、どの部分に問題があるか調べたいと思った場合
自分の書いたソースならともかく、人が書いた膨大な量のコードを調べるのは大変
こいう場合にプロファイラなどのツールが役に立つ。
あと会社の場合、監査結果などのドキュメントを残す必要もある。

407 名前:デフォルトの名無しさん :2005/09/17(土) 10:23:06
なんだ突然

408 名前:デフォルトの名無しさん :2005/09/17(土) 13:41:20
>>404

本当に6.0 SEでは使えませんよ。ちゃんとヘルプに書いてあります。

画面ではグレイ表示されて選択できません。


409 名前:デフォルトの名無しさん :2005/09/17(土) 13:45:11
Visual C++ の各 Edition
Microsoft Visual C++ 6.0 は、Standard、Professional、Enterprise の 3 つの Edition があります。

Standard Edition 上級者向け Visual C++ ツール セットを使いながら、C++ 言語を学習します。
Standard Edition には、Professional Edition の機能がほとんど揃っています。
コードの最適化、プロファイラ、MFC ライブラリの静的リンクの 3 機能だけがありません。

Professional Edition Windows 95 や Windows NT など、Win32 プラットフォーム向けのアプリケーション、サービス、およびコントロールを開発します。
オペレーティング システムのグラフィカル ユーザー インターフェイスまたはコンソール API を使用できます。

Enterprise Edition インターネットまたはイントラネット向けのクライアント/サーバー アプリケーションを開発し、デバッグします。
Enterprise Edition には、Professional Edition の全機能のほか、SQL データベースの操作用ツール、SQL ストアド プロシージャのデバッグ用ツールが揃っています。
Visual SourceSafe のソース コード管理システムを使用すると、チームでの開発が容易になります。


410 名前:デフォルトの名無しさん :2005/09/17(土) 13:51:36
静的リンクできないのはMFCだけやん。

411 名前:デフォルトの名無しさん :2005/09/17(土) 14:07:55
そんなにやりたければMFCのソースからビルドすればいいだけ

412 名前:デフォルトの名無しさん :2005/09/17(土) 14:35:42
>>408=>>409
確かに自分で選択はできない
自分で選択できないだけで、Releaseビルド時には最適化されとる
プロジェクト→設定→C/C++タブで確認してみれ
Debug時は無効、Release時は速度になっとるわ

413 名前:デフォルトの名無しさん :2005/09/17(土) 16:07:41
>>412
IDE上ではそうなってるけど、コンパイラが最適化オプションを無視してるという可能性はないの?

414 名前:デフォルトの名無しさん :2005/09/17(土) 16:18:14
コンソールからコンパイラ起動すれば
最適化コンパイラならOptimizing Compilerと表示されるはず

C:\tmp>cl
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 13.10.3052 for 80x86
Copyright (C) Microsoft Corporation 1984-2002. All rights reserved.

415 名前:デフォルトの名無しさん :2005/09/17(土) 16:20:17
スタンダードとその他ではcl自体同じ物なのかな?

416 名前:デフォルトの名無しさん :2005/09/17(土) 16:32:35
>>413
速度比較してみればすぐ分かるでしょ。

417 名前:デフォルトの名無しさん :2005/09/17(土) 21:46:01
>>412
VC++.NET2003Standardだけど確認してみたらそうなってた。
もしかしてReleaseビルドすれば最適化されるのか!?
いや、、そんな事はないとは思うが…。

418 名前:デフォルトの名無しさん :2005/09/17(土) 21:56:48
最適化はコムパイラの重要なおすぃごとでつ

419 名前:デフォルトの名無しさん :2005/09/17(土) 21:59:48
結局最適化を気にしてるのは
最適化されるかどうか自分で確認すらできない馬鹿ばっかりだということだ

420 名前:デフォルトの名無しさん :2005/09/17(土) 22:30:53
>>418
は?
>>419
最後の最後で結局答えを出せないバカばっかだな

421 名前:デフォルトの名無しさん :2005/09/17(土) 22:39:39
professional持ってるから最適化なんか気にしたことないし

422 名前:デフォルトの名無しさん :2005/09/17(土) 22:46:16
>>420
そんなに自虐しなくてもいいんだお?(^ω^)

423 名前:デフォルトの名無しさん :2005/09/17(土) 23:26:01
>>422
そうかい?
じゃあ教えてお^^

424 名前:デフォルトの名無しさん :2005/09/18(日) 00:49:28
o

425 名前:デフォルトの名無しさん :2005/09/18(日) 04:25:43
>>420
>>423
(`m´#)ムカッ
W(=0=)W ガオォー!!
(ノ ゚Д゚)ノ ==== 彡┻━┻
\(`O´θ/エ~イ キックじゃ!バキッ! ☆/(x_x)顔文字
(((((((三 三 三 ( ▼_▼) ダッシュ!
逃がさん ( ▼_▼)―C<―_-)
( ▼▼)//(ノ××)ノ バシバシ!
ウラァ ( ▼_▼)=○  ☆()゜O゜)
エイッ! (ノ`ヘ´)ノミ...●

プハー ○o。.(-。-)y-~~





426 名前:295に追加 :2005/09/18(日) 15:08:25
link.exeからc*.dllを使うらしいので、standardのlink.exeが使いたければ、
退避させたあとstandardのlink.exeとlink.exe.configを同じフォルダに
コピーする必要があるかもしれない。

427 名前:デフォルトの名無しさん :2005/09/19(月) 19:54:54
猫でもわかるWindowsプログラミングを始めたのですが、いきなりサンプルファイルでコンパイルエラーがでてしまいました。
キャストがおかしいみたいなエラーなのですが、VC++は初心者なのでいきなりつまずいて困っています。

\projects\sample\sample\sample01.cpp(58) : error C2440: '=' : 'LPCSTR' から 'LPCWSTR' に変換できません。
指示された型は関連がありません。変換には reinterpret_cast、C スタイル キャストまたは関数スタイルのキャストが必要です。
\projects\sample\sample\sample01.cpp(85) : error C2664: 'CreateWindowExW' : 2 番目の引数を 'char [9]' から 'LPCWSTR' に変換できません。(新しい機能 ; ヘルプを参照)
指示された型は関連がありません。変換には reinterpret_cast、C スタイル キャストまたは関数スタイルのキャストが必要です。


エラーメッセージは上記です。よろしくお願いします。


428 名前:427 :2005/09/19(月) 19:56:17
VC++2005EXPRESS beta2とPlatform SDKでコンパイルしてます。

429 名前:デフォルトの名無しさん :2005/09/19(月) 20:08:28
プロジェクトのプロパティの
[全般] -> [文字セット] を "マルチ バイト文字セットを使用する" か "設定なし" にすれば通ると思う


が、窓プログラミングになれてきたら LPCSTR を LPCTSTR、char を _TCHAR にして
_T( ) を利用したコーディングすることをお勧めする。

430 名前:デフォルトの名無しさん :2005/09/19(月) 20:16:56
>>429
ありがとうございました。
設定なしにしたところ、コンパイル通りました。

WindowsSDKは知らないことだらけなのでこれから少しずつやっていきたいです。

431 名前:デフォルトの名無しさん :2005/09/19(月) 20:55:43
>猫でもわかる

やめとけ
まともな本買って勉強するのが結局は近道

432 名前:デフォルトの名無しさん :2005/09/19(月) 21:01:43
猫の内容はずいぶん古い

433 名前:デフォルトの名無しさん :2005/09/19(月) 21:03:45
猫の糞サイトの尻拭いさせられるのも納得いかんな
自前でトイレットペーパーぐらい用意しろよ

434 名前:デフォルトの名無しさん :2005/09/19(月) 22:16:10
つか猫スレがあるから検索汁

435 名前:デフォルトの名無しさん :2005/09/19(月) 22:32:25
あのサイトなぜ修正しないの?
みつけにくい所に注意書きはあるのに

436 名前:デフォルトの名無しさん :2005/09/19(月) 22:42:47
猫だから

437 名前:デフォルトの名無しさん :2005/09/19(月) 23:31:04
修正したら本が売れなくなるからだろ。

438 名前:スタティックライブラリを自作したい :2005/09/19(月) 23:37:12
VC++6.0 で自作のスタティックライブラリを作成しそれを他のプロジェクト
から利用としていますがよく分かりません。

現状行っているのは
1. プロジェクト作成時にWin32 Static ライブラリを選択
2. 「プロジェクト->プロジェクトへ追加」を選択し、hoge.cpp hoge.hを追加
3. コンパイル
以上でライブラリの作成は完成のつもりでいます。

そして
1. 別のプロジェクトをMFC AppWizard[exe]で作成
2. 自作ライブラリを使いたいので #include "hoge.h"
と書いています。あと include やリンク?のパスを通せばいい
という感覚でいるのですがいまいち設定法が分かりません。
(色々やってみましたがうまくいきません)。

ライブラリの作成の仕方やその使い方を教えていただけないでしょうか。
よろしくお願いします。


439 名前:デフォルトの名無しさん :2005/09/19(月) 23:44:44
>>438
ペゾルド下巻

440 名前:名無しさん@お腹いっぱい。 :2005/09/20(火) 03:31:55
windows XP でシリアル通信をしようとしました。
HANDLE iComm;
iComm = CreateFile("COM1",GENERIC_READ | GENERIC_WRITE,0,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);
if(iComm == INVALID_HANDLE_VALUE){
// エラー処理
}
デバイスマネージャには、COM1しかないのに、いつもエラー処理になります。
どーしてもCOM1ポートのハンドルがとれなくて、先に進めません。RS232Cを使用するために、他に何か設定がありますか?

441 名前:デフォルトの名無しさん :2005/09/20(火) 04:11:09
うちの Win2000 と WinXP で、そのコードでハンドル取れたぞ?

442 名前:名無しさん@お腹いっぱい。 :2005/09/20(火) 04:38:42
440です
CMSCommを利用して、 SetPortOpen(true)を使用したところ、
一度だけ開いたのですが、その後、何度やっても
「ポートは既に開いています」が表示されてしまいます。
閉じ忘れかと思い、パソコンを再起動したのに、
それでも表示されて開きません。
CreateFileでも、やっぱりだめなままです。。。。
再起動しても、ポートは閉じられませんか?
何かポートを故意に閉じる方法ってありますか?

443 名前:デフォルトの名無しさん :2005/09/20(火) 05:47:27
VC++6.0でやってます
scanfで数値を一文で横に入力するようにするにはどのようにプログラムすればいいでしょうか?
100 200 300 と入力する感じにしたいのです
よくわからなかったので
scanf("%d %d %d",&a,&b,&c)みたいにやってみたのですが
これだと縦に
100
200
300
と入力するようになってしまいます
やりかた教えてください

あと小数点つき123.45とか入力した場合
途中で終わってしまいます
小数点入り数値を入力しても大丈夫なやり方も教えてほしいです


444 名前:デフォルトの名無しさん :2005/09/20(火) 06:03:54
scanfはCの標準関数だから
Cスレで聞いた方がいい

445 名前:デフォルトの名無しさん :2005/09/20(火) 06:08:07
>>444
Cスレで聞いてきま


446 名前:デフォルトの名無しさん :2005/09/20(火) 06:15:00
初歩の質問ですみません
リソースを編集するときに
コントロールボックスがなくて困っています。
どうしたらでてくるのでしょうか
お願いします。

447 名前:デフォルトの名無しさん :2005/09/20(火) 06:18:49
ツールバーを右クリック

448 名前:デフォルトの名無しさん :2005/09/20(火) 06:20:06
すばやい回答ありがとうございます
助かりました^^;

449 名前:デフォルトの名無しさん :2005/09/20(火) 06:50:00
VCとか関係なく、Winアプリの基本だな?

450 名前:346 :2005/09/20(火) 09:33:26
、、、。


451 名前:デフォルトの名無しさん :2005/09/20(火) 11:32:34
>>442
GetLastError して、エラールックアップしてみれ。

452 名前:デフォルトの名無しさん :2005/09/20(火) 12:07:06
>>450
Visualくわんてぃふぁい

ぴゅーりふぁいがメモリリーク検出


453 名前:デフォルトの名無しさん :2005/09/21(水) 00:38:57
CMSComm *pMSComm = new CMSComm();
pMSComm->Create(NULL,WS_VISIBLE,CRect(0,0,0,0),this,2000,NULL);
>>>ポート設定のパラメータ・・・
pMSComm->SetPortOpen(true);
>>>送信処理
pMSComm->SetPortOpen( false);
delete pMSComm;
CMSComm を newして、Create して、delete すると、delete直後に
warning: calling DestroyWindow in CWnd::のメッセージが表示されます。
どーしてわからないんですが、誰か教えてくれませんか。

454 名前:デフォルトの名無しさん :2005/09/21(水) 00:43:43
そのまま。ウインドウを持つクラスは、始末するまえに
DestroyWindow呼んででウインドウを破棄しとけ、と言う話。

455 名前:デフォルトの名無しさん :2005/09/21(水) 00:44:12
インリン関数

456 名前:デフォルトの名無しさん :2005/09/21(水) 01:05:10
>>454
ありがとうございます!!!できましたー!!!

457 名前:デフォルトの名無しさん :2005/09/21(水) 01:43:39
>>448は女

458 名前:デフォルトの名無しさん :2005/09/21(水) 02:18:20
質問です。
とあるクラスの関数内で外部から取り込んだポインタの
コピーを行いたいのですがうまくいきません。
具体的には以下のような呼び出しを行ってもまったくコピーされません。
何故でしょうか?
-------------

class test *tst;
tst = new test();

int figure=5;
int *figure_a;
int*figure_b;
figure_a = &figure;

tst->reference(figure_a,figure_b);
cout<<"figure_aの値:"<<*figure_a<<"\n"<<flush;
cout<<"figure_bの値:"<<*figure_b<<"\n"<<flush;

delete tst;

-------------
void test::reference(int *a, int *b)
{
b=a;
}

459 名前:デフォルトの名無しさん :2005/09/21(水) 02:31:14
呼び元のポインタを格納する変数が更新されていないからだな

460 名前:デフォルトの名無しさん :2005/09/21(水) 04:01:15
COleVariant を利用したいのですが、昔のPGの修正で、COleVariantの
宣言とコンパイルは通るものの、なぜかうまく使えません。
afxole.h が見たらなかったので、StdAfx.h の中に、#include <afxole.h>を入れ、
initinstance にて、AfxoleInit を実行したのですが、COleVariantこの変数を
利用するところで、プログラムが落ちます。どうしたら、OLEが使えるようになりますか?

461 名前:デフォルトの名無しさん :2005/09/21(水) 04:23:43
http://www.geocities.jp/chiakifujimon/index.html
ここを見ながらやっています。
HTMLエディタの3のクリップボードを操ろう で
そこに書かれてあるように関数(SetClipBoard GetClipBoard)
を追加したのですが、このようなエラーがでてしまいました。
Notepad2View.cpp
C:省略\Notepad2\Notepad2View.cpp(160) : error C2556: 'class CString __thiscall CNotepad2View::GetClipBoard(void)' : オーバーロード関数の戻り値は異なっていますが、引数リストは同一です。
C:省略\Notepad2\Notepad2View.cpp(160) : error C2371: 'GetClipBoard' : 再定義されています。異なる基本型です。
c:省略\notepad2view.h(42) : 'GetClipBoard' の宣言を確認してください。
C:省略Notepad2\Notepad2View.cpp(173) : error C2511: 'SetClipBoard' : オーバーロードされたメンバ関数が '<Unknown>' にありません。
どこがダメだったんでしょうか。
分かる方お願いします。

462 名前:デフォルトの名無しさん :2005/09/21(水) 05:16:15
>>461
> オーバーロード関数の戻り値は異なっていますが

463 名前:デフォルトの名無しさん :2005/09/21(水) 06:12:57
だからよ
どっかのサイトを見ながらやってんならそこで訊けよ

464 名前:デフォルトの名無しさん :2005/09/21(水) 06:35:50
訊いたんですがそのBBSが出会い系の宣伝でいっぱいだったもので
ここに来たんですがいけなかったですか?

465 名前:デフォルトの名無しさん :2005/09/21(水) 06:38:00
何に対しての「だから」ですか?

466 名前:デフォルトの名無しさん :2005/09/21(水) 07:07:40
('A`)=3

467 名前:デフォルトの名無しさん :2005/09/21(水) 07:28:40
質問です。

DLL内から、そのDLLを呼び出した実行ファイルのファイル名を取得する方法はないでしょうか?
ファイル名が無理であれば、何でもいいのでその呼び出し元の実行ファイルを特定できるような
情報をDLL側で取得したいのですが・・・。

468 名前:デフォルトの名無しさん :2005/09/21(水) 07:36:44
>>467
GetModuleFilename()の最初の引数を0にすればできると思う。

469 名前:467 :2005/09/21(水) 07:44:01
>>468
ありがとうございました。
早速ためしてみます。

470 名前:デフォルトの名無しさん :2005/09/21(水) 07:45:28
>>461
インクルードファイルでSetClipBoardをGetClipBoardで宣言してたりしない?
#そうでなかったとしてもいずれその辺だ。

471 名前:デフォルトの名無しさん :2005/09/21(水) 08:10:09
自分のレベルにあったサンプルじゃないと時間を無駄にするだけ
動かすだけが目的だったらプロジェクトごとついてるやつにした方がいい。

472 名前:デフォルトの名無しさん :2005/09/21(水) 08:10:56
>>470 ごめんなさいよく分からないのですが
インクルードファイルはいじってないです。
ただ、メンバ関数の追加から関数を作って、そのまま関数をコピペしただけです。

473 名前:デフォルトの名無しさん :2005/09/21(水) 08:26:10
そこの最後に完成品おいてあるじゃん
それ落としてビルドするだけだ

作成したHTMLEditorのソースファイル:src.lzh(227kByte)

474 名前:デフォルトの名無しさん :2005/09/21(水) 09:03:28
>>459
有難う御座います、
呼び元を変数内で更新するにはどうすれば宜しいでしょうか?

475 名前:デフォルトの名無しさん :2005/09/21(水) 09:03:44
>>473 ビルドしてみましたがHPに書いてあるような機能が実現されてないみたいでした;
それに、何がいけなかったかが分からないと成長したきがしませんでした;
どうも分からないみたいなので、このことは諦めることにします;
こんど新しい本を買うのでそれでがんばってみます

476 名前:デフォルトの名無しさん :2005/09/21(水) 13:33:27
>>474
int**

>>475
> HPに書いてあるような機能が実現されてないみたいでした
いや、書いてあるし…

いろいろ調べが甘いと思うぞ。
C2556 とかも調べりゃいろいろ出てくるし。

477 名前:デフォルトの名無しさん :2005/09/21(水) 14:42:29
>>476
オォォォォォ〜、動きました。
なんで更新されないのかがよく判りませんが
ご教授有難う御座いました。

478 名前:デフォルトの名無しさん :2005/09/22(木) 14:58:13
すいません、ダイアログベースでタブコントロールを使ったプログラムを作ってるんですけど、
タブの中のダイアログのデータ交換をするときに親ダイアログのソースファイルに

CTab1.Dlg dlg;
dlg.UpdateData(FALSE);

と書き込んだらビルドできるんですけど実行できないんです。
(Debug Assertion Failedというのが出てきて強制終了させられます)
どうすればいいですか?教えてください。

479 名前:デフォルトの名無しさん :2005/09/22(木) 15:21:44
CTab1.Dlg dlg;
dlg.UpdateData(FALSE);

この2行の間で何もしてないなら
まだウインドウが生成されてないように見えるが

480 名前:デフォルトの名無しさん :2005/09/22(木) 15:58:35
つーかタブの中のダイアログってなんだ・・・

481 名前:478 :2005/09/22(木) 16:20:09
>>479
すいません、その2行の間は省いて書き込んでました。
実際は
dlg.m_edit = "あああ";
みたいな感じでやってます。

>>480
親ダイアログにタブコントロール貼り付けて、
その中に表示させるものが新しく追加したダイアログってことです。
デフォルトの親ダイアログにはUpdateData関数使えるんですけど…。

482 名前:デフォルトの名無しさん :2005/09/22(木) 18:53:11
>>481
Createしたのか?

483 名前:デフォルトの名無しさん :2005/09/23(金) 00:37:56
タブコントロールの中にダイアログを表示????

484 名前:デフォルトの名無しさん :2005/09/23(金) 00:42:01
>>483
タブコントロールでモードレスダイアログの表示をON/OFFで切り替える。
コストはかかるけどアイテム一個一個の管理を丸投げできるからコーディングが楽になるぞ。
MFC雑技団とかに載ってる。

485 名前:デフォルトの名無しさん :2005/09/23(金) 00:46:18
>>484
×表示をON/OFFで切り替える。
○表示/非表示を切り替える。

ナゾ日本語スマソ

486 名前:デフォルトの名無しさん :2005/09/23(金) 01:00:09
そんな雑技いらねぇ

487 名前:デフォルトの名無しさん :2005/09/23(金) 02:24:27
Windowsプログラミングでカードゲーム的なものを作りたいんですが、
「画像をクリックして切り替える」ってのをどうやって
再現すればいいのか分かりません。
ヒント的なものをください。
カードの部分を領域指定して・・・って感じですかね?
どーもうまくいかなくて・・

488 名前:デフォルトの名無しさん :2005/09/23(金) 02:36:01
全部描きなおし

489 名前:デフォルトの名無しさん :2005/09/23(金) 04:02:34
C++.net Standard版を買いました。
インストールしようとおもったのですが、認証がひつようなようですが、
アンインストールすれば、同一PCで再インストールできるのでしょうか?
可能な場合、アンインストールした別のPCでインストールできるでしょうか?

490 名前:デフォルトの名無しさん :2005/09/23(金) 04:29:51
アンインストール後、
インストールして認証しようとした時に「ダメ」と表示されたら、
電話認証に電話して事実を伝えれば問題ないとか聞いたぞ。

491 名前:デフォルトの名無しさん :2005/09/23(金) 05:41:23
Windowsのカードゲームはcards.dll使ってるんだよな
検索するとサンプルが見つかる

492 名前:デフォルトの名無しさん :2005/09/24(土) 15:36:36
MFCで画像の読み込みがしたいのですが、指定した範囲に画像を読み込んで表示させるのはどうやればいいんでしょうか?

http://www1.axfc.net/uploader/9/so/No_2033.jpg.html
↑こんなのを想定してます

493 名前:デフォルトの名無しさん :2005/09/24(土) 15:59:14
やりたいことが分かってるんなら、
それをキーワードにぐぐる先生なりで調べろや
最初から他人を頼みにするんじゃねぇよ

494 名前:デフォルトの名無しさん :2005/09/24(土) 16:07:48
こんな感じで検索してがんばってみ。
http://www.google.co.jp/search?num=50&lr=lang_ja&q=%E7%94%BB%E5%83%8F%20%E6%8F%8F%E7%94%BB+mfc

495 名前:デフォルトの名無しさん :2005/09/26(月) 21:54:44
超初心者的な質問なんですが
VC++6.0standardで、フリーウェアを公開することはできるなでしょうか?

496 名前:デフォルトの名無しさん :2005/09/26(月) 22:06:27
>>495
Release版のEXEにReadme.txtをつけてアーカイブするだけ。

497 名前:デフォルトの名無しさん :2005/09/26(月) 22:11:33
お答えいただきありがとうございます。
Readme.txtにはなにをかいたらいいのでしょうか?
あとアーカイブするとはなんですか?
初心者ですいません

498 名前:デフォルトの名無しさん :2005/09/26(月) 22:31:15
ReadmeはVectorでいろいろ落としてみるなり、
書き方をググってみるなりして自分で調べろ。
一般的には、インストール方法や動作環境等を書いた簡易説明書。

アーカイブする=ファイルをまとめて圧縮する

少しは自分で調べる癖をつけましょう。
初心者でも、適当なキーワードでググるくらいはできるでしょうに・・・。

499 名前:デフォルトの名無しさん :2005/09/26(月) 22:38:13
変な方向へ話が進んでるな

500 名前:デフォルトの名無しさん :2005/09/26(月) 22:44:46
>>498
ググるとはなんですか?
とくる予感。


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