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


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

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



1 名前:デフォルトの名無しさん mailto:sage [2007/04/12(木) 23:25:17 ]
1 : ◆Manna2uCLg :2005/04/15(金) 13:33:14
Visual C++入門者・初心者からの質問を、
お兄ちゃん達が優しく、時には厳しく回答してくれるスレッドです。

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

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

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

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

2 名前:デフォルトの名無しさん mailto:sage [2007/04/12(木) 23:28:11 ]
Part25 ttp://pc11.2ch.net/test/read.cgi/tech/1168354839/
Part24 ttp://pc10.2ch.net/test/read.cgi/tech/1158296664/
Part23 ttp://pc8.2ch.net/test/read.cgi/tech/1140711893/
Part22 ttp://pc8.2ch.net/test/read.cgi/tech/1131443284/
Part21 ttp://pc8.2ch.net/test/read.cgi/tech/1124806288/
Part20 ttp://pc8.2ch.net/test/read.cgi/tech/1120222322/
Part19 ttp://pc8.2ch.net/test/read.cgi/tech/1116209988/
Part18 ttp://pc8.2ch.net/test/read.cgi/tech/1113539594/
Part17 ttp://pc8.2ch.net/test/read.cgi/tech/1107926989/
Part16 ttp://pc8.2ch.net/test/read.cgi/tech/1101022051/
Part15 ttp://pc5.2ch.net/test/read.cgi/tech/1097880265/
Part14 ttp://pc5.2ch.net/test/read.cgi/tech/1093672937/
Part13 ttp://pc5.2ch.net/test/read.cgi/tech/1089011118/
Part12 ttp://pc5.2ch.net/test/read.cgi/tech/1083585833/
Part11 ttp://pc5.2ch.net/test/read.cgi/tech/1077965179/
Part10 ttp://pc5.2ch.net/test/read.cgi/tech/1074933908/ ※
Part09 ttp://pc5.2ch.net/test/read.cgi/tech/1068983609/ ※
Part08 ttp://pc5.2ch.net/tech/kako/1063/10630/1063029371.html
Part07 ttp://pc5.2ch.net/tech/kako/1056/10562/1056280510.html
Part06 ttp://pc5.2ch.net/tech/kako/1052/10529/1052931903.html
Part05 ttp://pc5.2ch.net/tech/kako/1048/10486/1048698321.html
Part04 ttp://pc5.2ch.net/tech/kako/1044/10441/1044196393.html
Part03 ttp://pc5.2ch.net/tech/kako/1038/10381/1038160750.html
Part02 ttp://pc3.2ch.net/tech/kako/1030/10309/1030985362.html
Part01 ttp://pc3.2ch.net/tech/kako/1023/10235/1023530449.html

3 名前:デフォルトの名無しさん mailto:sage [2007/04/12(木) 23:29:27 ]
【関連スレ】
■MFC相談室 mfc17d.dll■
pc10.2ch.net/test/read.cgi/tech/1164073111/l50
Win32API質問箱 Build48
pc10.2ch.net/test/read.cgi/tech/1166172047/l50
鬱だ氏のう DirectX (Part 16)
pc8.2ch.net/test/read.cgi/tech/1133007002/l50
【ISO/ANSI/JIS】 C言語なら俺に聞け! Part 130
pc10.2ch.net/test/read.cgi/tech/1159613789/l50
C++相談室 part55
pc10.2ch.net/test/read.cgi/tech/1164951094/l50
C/C++の宿題を片付けます 80代目
pc10.2ch.net/test/read.cgi/tech/1166969820/l50
【初心者歓迎】C/C++室 Ver.33【環境依存OK】
pc10.2ch.net/test/read.cgi/tech/1164376287/l50

【関連サイト】
猫でもわかるプログラミング
www.kumei.ne.jp/c_lang/
MSDN ライブラリ ※変更された
msdn.microsoft.com/library/ja/
msdn2.microsoft.com/ja-jp/library/ (2005のことはこっち)
Platform SDK Update ※変更された
www.microsoft.com/downloads/details.aspx?FamilyId=A55B6B43-E24F-4EA3-A93E-40C0EC4F68E5&displaylang=en
Google
www.google.co.jp/

4 名前:デフォルトの名無しさん mailto:sage [2007/04/12(木) 23:30:00 ]
【このスレの前身 VisualC++相談室 過去スレ】
part 1 ttp://piza.2ch.net/tech/kako/970/970607517.html
part 2 ttp://piza.2ch.net/tech/kako/981/981630730.html
part 3 ttp://piza2.2ch.net/tech/kako/993/993186053.html
part 4 ttp://pc.2ch.net/tech/kako/1002/10021/1002165477.html
part 5 ttp://pc.2ch.net/tech/kako/1006/10068/1006834463.html
part 6 ttp://pc.2ch.net/tech/kako/1011/10116/1011615035.html
part 7 ttp://pc.2ch.net/tech/kako/1017/10178/1017843192.html
part 8 ttp://pc.2ch.net/tech/kako/1022/10224/1022499000.html
part 9 ttp://pc5.2ch.net/tech/kako/1036/10368/1036897197.html

5 名前:デフォルトの名無しさん mailto:sage [2007/04/12(木) 23:31:17 ]
以上、前スレ997でした。

>>前スレ998-1000
ありがとうございました。

6 名前:デフォルトの名無しさん mailto:sage [2007/04/13(金) 00:03:01 ]
1乙

7 名前:前987 mailto:sage [2007/04/13(金) 01:54:08 ]
関係ありそうなとこにはvolatileつけましたが一緒でした
変数の初期化はしてあると思うのですが
もう一度確かめてみることにします
CEventと変数では同期をとるのになにか違いがあるのですか?
大分前に同じと言われたような

8 名前:デフォルトの名無しさん mailto:sage [2007/04/13(金) 08:41:59 ]
>>7

変数だと
たとえばaが0以外になると次の処理に進む。
while(true) {
if( a != 0 ) break;
Sleep(100);
}
最適化されて
if( a == 0 ) {
while(true) {
Sleep(100);
}
}
になってしまうことないようにvolatile使うんじゃないの。
でも俺は最適化とvolatileが上手く機能するか調べたことない。

同期イベントなら関数コールして調べるので前期のような最適化はかからない。

また、上記だと1秒間に10回aを調べる。
aの値が変化しても反応が最大で100ミリ秒遅れる。
かといってSleepを減らすとこの空回りするループにCPU処理を使ってしまい無駄。

9 名前:デフォルトの名無しさん mailto:sage [2007/04/13(金) 08:47:34 ]
>>8

以下のようにすれば最適化はされないはず。
これでも駄目なら別の原因?

//宣言のみ
bool check();

void thread()
{
while(true) {
if( check() ) break;
Sleep(100);
}
......
}

//threadの後または別のファイルに
//checkがあれば最適化不可能だろう
bool check()
{
return a != 0;
}

同期イベントならループにしたりSleepつけなくていい。

10 名前:デフォルトの名無しさん mailto:sage [2007/04/13(金) 09:58:53 ]
>>7
> CEventと変数では同期をとるのになにか違いがあるのですか?
・同時に複数のスレッドから変数を変更する可能性
・リードする側がチェック直前/直後で変数が書き換わる可能性(それで動作が異なってしまう場合)
等、気をつける必要があると思。



11 名前:デフォルトの名無しさん [2007/04/13(金) 12:07:46 ]
VisualC++ 2005 Expressを使用しています。使用歴は1週間だけです。
UNIXのプログラムにWindowsのガワをつけたプログラムの作成をして配布しようと思っている
のですが、配布の段階でつまずいてしまいました。

プログラムはWindowsフォームアプリケーションでCLIに依存しています。
OSはWindows Vista x64です。
インストーラの作成を行いたいのですが、その方法が分かりません。
私が検索してたどりついたのは以下のところまででした。
お力をお借りできないでしょうか。

1.MSDNで
ttp://msdn2.microsoft.com/ja-jp/library/ms235317(VS.80).aspx
にあるように「その他のプロジェクトの種類」を行おうと思ったのですが、見当たりませんでした。
「Visual Studioにインストールされたテンプレート」と「マイテンプレート」だけでした。
2.ヘルプを参照するとプロジェクトのプロパティで「ビルド」を選択すると必須コンポーネントが
選択できるということでしたが、そのような項目はみあたりませんでした。
(Visual C#には「発行」にありましたが、VisualC++ではこれも見つかりませんでした)
3.Windows Installerをインストールしようと思ったが、「このコマンドを実行するのに十分な
記憶領域がありません。」というエラーでインストールできなかった。

経験が全くないため見当違いな部分が多く、検索も下手で要領を得ませんが、解決法をご存知の
方がいらっしゃったらお力を貸していただけないでしょうか。

12 名前:デフォルトの名無しさん [2007/04/13(金) 12:20:26 ]
Visual C++ 6.0を再インストールしようと思って、
一旦削除してもう一回インストールし直したら、
「プライマリ プラットフォームがありません。
ビルドシステムは使えません。セットアップがインストールしたアドオン プラットフォーム(.pkg)のロードに失敗した可能性があります。」
といわれ、エラーで落ちる。
何回インストールし直してもだめ。

教えてエロい人><

13 名前:デフォルトの名無しさん [2007/04/13(金) 12:49:00 ]
Visual Sutdio 2005を初めて使うのですが、Eclipseのインポートの再編成のような機能はないのでしょうか。
言語はJAVAからの応用がききますが、クラスや関数はまだ覚えられていないため、
#includeやusingを設定するのに苦闘しています。

※例外処理でfinallyが無いのが納得できない……

14 名前:デフォルトの名無しさん mailto:sage [2007/04/13(金) 16:35:17 ]
>>11
たぶんそれはExpress Editionにない機能と思う

15 名前:デフォルトの名無しさん [2007/04/13(金) 18:08:20 ]
>>14
お返事ありがとうございます。
今日ずっと調べた所、VisualC++ではインストーラーは作成できないようですね。
VisualC#であればClickOnceを使ってインストーラーの作成ができたので、つらいですが
VisualC#でプログラムを書き直そうと思います。
予算があればStandard Editionを買いたい所ですが・・・

16 名前:デフォルトの名無しさん [2007/04/13(金) 22:02:57 ]
VisualStudio2005のスタンダード版ってMFCと静的リンクできますか?出来るなら買いたい。

17 名前:デフォルトの名無しさん mailto:sage [2007/04/13(金) 22:19:35 ]
>>16
OK

18 名前:デフォルトの名無しさん mailto:sage [2007/04/13(金) 22:28:10 ]
階層構造でtodoを記述できるような補助機能ってあります?

19 名前:デフォルトの名無しさん mailto:sage [2007/04/13(金) 22:33:53 ]
性的リンク

20 名前:デフォルトの名無しさん mailto:sage [2007/04/13(金) 22:34:47 ]
WindowsXP環境でVisualStudio2005・C++で単純なWin32アプリケーションを作成したのですが、
これをWindowsVistaで実行しようとすると、
「このアプリケーションのサイドバイサイド構成が正しくないため、アプリケーションを開始できませんでした」
というエラーが出て起動できません。
Vistaで動かすにはどうしたらいいでしょうか?



21 名前:デフォルトの名無しさん [2007/04/15(日) 00:08:40 ]
WindowsXPでVisual C++ 2005 Express Editionを使っています。
「Windowsゲームプログラミング」という本のプログラムを実行してみたところ、
アクセス違反と表示されてしまいました。
デバッガでステップ実行してみるとWM_DESTROYのreturn 0;からDispatchMessageを出るまでの間に
表示されるのですが、どこが悪いのか分かりません。
どうしたらアクセス違反を無くせるでしょうか。
以下、出力抜粋とコードです。

test_window2.exe の 0x77d0f450 で初回の例外が発生しました: 0xC0000005: 場所 0x25a2c7fc を読み込み中にアクセス違反が発生しました。
test_window2.exe の 0x77d0f450 で初回の例外が発生しました: 0xC0000005: 場所 0x25a2c7fc を読み込み中にアクセス違反が発生しました。
プログラム '[3220] test_window2.exe: ネイティブ' はコード 0 (0x0) で終了しました。

#include <windows.h>
#define APP_NAME TEXT("Sample_MainWindow")
#define DRAW_STRING TEXT("Kitty on your lap")
LRESULT CALLBACK WindowProc (HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) {
switch(uMsg) {
case WM_DESTROY:
PostQuitMessage(0);
return 0;
}
return DefWindowProc(hWnd, uMsg, wParam, lParam);
}
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR lpCmdLine, int nCmdShow) {
WNDCLASS wc;
MSG msg;
HWND hWnd;
HDC hdc;

22 名前:21 [2007/04/15(日) 00:10:29 ]
wc.style = CS_HREDRAW | CS_VREDRAW;
wc.lpfnWndProc = WindowProc;
wc.cbClsExtra = 0;
wc.cbWndExtra = 0;
wc.hInstance = hInstance;
wc.hIcon = LoadIcon(NULL, IDI_APPLICATION);
wc.hCursor = LoadCursor(NULL, IDC_ARROW);
wc.hbrBackground = (HBRUSH)COLOR_BACKGROUND + 1;
wc.lpszMenuName = NULL;
wc.lpszClassName = APP_NAME;
if (!RegisterClass(&wc)) return 0;
hWnd = CreateWindow(APP_NAME, TEXT("Window Title"),WS_OVERLAPPEDWINDOW | WS_VISIBLE,
CW_USEDEFAULT, CW_USEDEFAULT,CW_USEDEFAULT, CW_USEDEFAULT,NULL, NULL, hInstance, NULL);
if (hWnd == NULL) return 0;

/* デバイスコンテキストのハンドルを取得 */
hdc = GetDC(hWnd);
/* デバイスに文字列を描画 */
TextOut(hdc, 10, 10, DRAW_STRING, lstrlen(DRAW_STRING));
/* デバイスコンテキストのハンドルを解放 */
ReleaseDC(hWnd, hdc);
while(GetMessage(&msg, NULL, 0, 0) > 0) {
DispatchMessage(&msg);
}
return msg.wParam;
}
よろしくお願いします。


23 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 00:30:22 ]
>>21
実行してみたが、ウチの環境では問題なし。

24 名前:21 mailto:sage [2007/04/15(日) 02:38:05 ]
わざわざ実行までして頂いてありがとうございます!!
問題なしですか、どうしよう…
そうするとコードではなくてうちの環境が悪い可能性がありそうですね。
………
ということで環境を疑う前提で再度ググりまくってみたところ、おかげさまで解決策が見つかりました!
ImeWatcherというソフトを起動していたのですが、そちらを終了させるとアクセス違反が発生しなくなりました。

その結論に至った流れとしては、こちらのページ ttp://forums.belution.com/ja/vc/000/335/02s.shtml
を参考に出力に知らないソフトが混じっていないか見てみたところ、
なぜか起動中のソフトのdllがいくつか混じっていたため試しに一つ一つ終了させて確認していたら
それを終了させておけばアクセス違反が発生しないということが判明したという次第です。
これが相性とかいうやつなのか、単にImeWatcherのバグなのか分かりませんが、
原因(と一応の対策)がわかってすっきりしました。ありがとうございました。

下記はアクセス違反発生時の出力の抜粋です。
'test_window2.exe': 'C:\src\test_window2\debug\test_window2.exe' を読み込みました。シンボルが読み込まれました。
'test_window2.exe': 'C:\WINDOWS\system32\ntdll.dll' を読み込みました。シンボルが読み込まれていません。
'test_window2.exe': 'C:\WINDOWS\system32\kernel32.dll' を読み込みました。シンボルが読み込まれていません。

ここ→'test_window2.exe': 'C:\Program Files\Takubon\ImeWatcher\ImeWatch.hook' を読み込みました。バイナリはデバッグ情報と一緒にビルドされませんでした。

'test_window2.exe': 'C:\WINDOWS\system32\oleaut32.dll' を読み込みました。シンボルが読み込まれていません。
test_window2.exe の 0x77d0f450 で初回の例外が発生しました: 0xC0000005: 場所 0x25a2c7fc を読み込み中にアクセス違反が発生しました。
test_window2.exe の 0x77d0f450 で初回の例外が発生しました: 0xC0000005: 場所 0x25a2c7fc を読み込み中にアクセス違反が発生しました。
プログラム '[2644] test_window2.exe: ネイティブ' はコード 0 (0x0) で終了しました。


25 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 09:31:03 ]
MS VC++ VS2005なんですが
#include <stdio.h>
int main(void)
{
FILE *fp1;
 if( (fp1 = fopen( "d:\\tmp\\aaa.txt", "r" )) == NULL ){
}else{
}
}
だと、警告がでるんですが
でない書き方(fopenを使わない)を教えて下さい


26 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 09:55:25 ]
どんな警告が出るんだ?

27 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 10:01:50 ]
>>26
レスどうもです
warning C4996: 'fopen': This function or variable may be unsafe. Consider
using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNING
S. See online help for details.C:\Program Files (x86)\Microsoft Visual
Studio 8\VC\include\stdio.h(234) : 'fopen' の宣言を確認してください。

ググったらfopenは古いから使うなってことらしいです


28 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 10:09:51 ]
>>27
移植性を考慮するなら、言語規約にあるfopen()を使うのが妥当。
MSの甘言に載せられて移植性を度外視するのなら、fopen()の派生版でもAPIでも使えば宜しい。

29 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 10:27:18 ]
C/C++言語の初心者が使うには余計な機能

30 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 12:08:54 ]
>Consider using fopen_s instead



31 名前:デフォルトの名無しさん [2007/04/15(日) 12:21:21 ]
>>21
GetMessage(&msg, NULL, 0, 0)
で&msgで参照する時、ImeWatcheあたりがmsg使ってて、
それでプロテクトメモリ競合が発生して、AccessViolation出してるっぽいなあ
while(GetMessage(&msg, NULL, 0, 0) > 0) {
DispatchMessage(&msg);
}
return msg.wParam;
}

REGETMESSAGE:
if(&msg){
while(GetMessage(&msg, NULL, 0, 0) > 0) {
DispatchMessage(&msg);
}
}
else{goto REGETMESSAGE;}
return msg.wParam;
}
なんてするとどうなるんだろか?


32 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 12:31:43 ]
MSG msg;
で、このmsgがぶつかる場合というのは
ウィンドウメッセージキュー
なのか
PostThreadMessageキュー
どっちかで、他がつかんでて、ぶつかってるんだろう。

33 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 15:33:16 ]
Web API(Yahoo! API)をVisual C++で使いたいのですが、
Web APIを利用するためのクラスなどはありませんか?

34 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 16:04:41 ]
>>30
レスサンキューです


35 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 16:23:54 ]
>>33
スレ違い。

そして無視される>28、>29

36 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 16:39:48 ]
>>25
C++のstd::ifstreamを使えばOk

>>28
ところがどっこい、あのセキュリティ強化のライブラリ関数はTR 24731として公開されており、
下手すると将来の標準Cに取り込まれる可能性すらある。現時点ではまだどうなるかわからないけどな。
ちなみにOpen Watcomのも実装しているようだ。

37 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 18:07:53 ]
>>36
M$のはSafer Cと相違点が多すぎる。
警告通りに直したら後でひどい目にあうのは確実。

38 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 18:18:01 ]
fopen_s なんか使ってるやついるんか?
winアプリならapi使うだろうし
学習用途なら標準Cライブラリだろうし

39 名前:デフォルトの名無しさん [2007/04/15(日) 19:32:11 ]
XP VS2002 MFC。
大文字と小文字を区別せずに文字列(char)を検索したいのですが、
速くて簡単な方法ありましたら教えて下さい。

40 名前:デフォルトの名無しさん [2007/04/15(日) 19:44:58 ]
元々は正社員だったのに取引先にフリーのほうが稼げるとか騙されて
結局派遣やってるバカがいるんだけどw
なんか派遣先といい関係、とか言ってたから思わず吹き出しちゃったよw
最近はマネージャーもやってるとか寝言言ってるし、派遣がまねぇじゃぁ?はあ!?w

そもそも信頼されてるなら直接契約するか正社員にするはずだが、
いつでも切れる派遣会社経由って舐められてんだよ

派遣期間が長くならないうちに早く就職しろ、と忠告したら、ウッキー!って逆ギレw
バカで頑固だから何度言っても理解できない
騙されたとはいえ結局は自分で決めて派遣やってる癖に逆ギレしちゃってまぁ
人間として本当に恥ずかしい




41 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 20:23:48 ]
>>39
stricmp()

42 名前:39 [2007/04/15(日) 21:36:55 ]
>>41
レスありがとうございます。
先頭からstricmpで比較していって検索するモノが出来ました。

43 名前:デフォルトの名無しさん mailto:sage [2007/04/16(月) 22:19:58 ]
SDKで作ったサンプルプログラムですがアプリの動作で
ちょっとおかしなところがありまして質問します。

ファイルから読み込んでビットマップを表示させます。
画像がクライアント領域よりも大きければ、表示と同時にウィンドウ標準の
スクロールバーを各種設定をして表示させます。
スクロールバーはきちんと機能して画像がスクロールされます。

ところがウィンドウのサイズを小さくして水平スクロールバーが
クライアント領域が消えるくらいまで小さくすると水平スクロールバーが
消えたと思ったら下側のフレームに水平スクロールバーが薄く表示されています。
そこからもっとウィンドウのサイズを小さくするとタイトルバーの×ボタンに重なって
スクロールバーのサイズグリップが重なって見えます。
これでは見栄えが悪いと思い解決方法はないかと思い質問しました。
よろしくお願いします。

開発環境はVisual C++ 6.0 Pro
OSはXP Pro SP2

44 名前:デフォルトの名無しさん mailto:sage [2007/04/16(月) 23:08:24 ]
なんか難解な日本語だなw

下側のフレームに薄く表示されるって状態がいまいちわからんのだけど
言ってる各状態のスクリーンショットとか撮れん?


45 名前:43 mailto:sage [2007/04/17(火) 00:06:02 ]
>>44
説明が下手で済みません。画面のスクリーンショットは自分のホームページに載せて
リンクしました。
以下がリンクです。

水平スクロールバーが下側のフレームに薄く表示されている画像。
ttp://www3.zero.ad.jp/m-takahashi19741025/20070417BMPViewSample01.png

スクロールバーのサイズグリップがタイトルバーの×ボタンに重なっている画像。
ttp://www3.zero.ad.jp/m-takahashi19741025/20070417BMPViewSample02.png

よろしくお願いします。

46 名前:デフォルトの名無しさん mailto:sage [2007/04/17(火) 05:44:09 ]
最小のサイズを決めておけば?

47 名前:デフォルトの名無しさん mailto:sage [2007/04/17(火) 07:16:21 ]
>>45
CreateWindowでウィンドウスタイルにWS_HSCROLLとWS_VSCROLLを指定してスクロールバーを出して
その時に一緒に表示されるサイズグリップの挙動ってことでいいんだよな?
VCが作る雛型にスタイル追加してやってみたけど、サイズ小さくしたら普通に消えていったけどなぁ
2000とXPの違いなんだろうか・・・

48 名前:デフォルトの名無しさん mailto:sage [2007/04/17(火) 07:32:24 ]
3つほど質問があります。

@C++はクラス外に関数を記述できますが、main()やWinMain()以外を
 クラス外に記述する意味はあるのでしょうか?
 単にCからの引き継ぎ、慣習ということであれば
 なるべく全ての処理をクラス内に記述したいのですが。
AVisual C++には、JavaのLoggerクラスの様な標準ログ出力クラスは用意されていないのでしょうか。
 見あたりませんでした。clogをリダイレクトする処理を実装するしかないでしょうか。
BGUIアプリを、コンソール出力無しに作成する場合は、
 WinMain()関数を使用するしかないのでしょうか?(Google検索だとそのように記述するサイトがヒット)
 機種依存するコードはなるべく外出し、極小化したいのですが、
 WinMain()からmain()を呼ぶように記述するしかないでしょうか。

49 名前:デフォルトの名無しさん mailto:sage [2007/04/17(火) 08:16:53 ]
1. まあみんながみんなOOPというわけではないからね。
Cみたいな手続き型プログラミングだけでなく、
STLアルゴリズムみたいにジェネリックプログラミングでは非メンバ関数も必要に応じて使う。
何にせよ、OOPのときでも静的メンバだけのクラスなんて作るなんて馬鹿げていると俺は思うけどね。

2. Logger(というよりJava自体)を俺は知らないが、clogをリダイレクトするくらいなら、
適当なファイルをofstreamで開けば十分だと思う。ちなみにVC++のclogは、バッファリング付の標準エラー出力。

3. プロジェクトのプロパティ→リンカで
•システム→サブシステムにWINDOWS(コンソールを使わない指定)、
•詳細→エントリポイントにmainCRTStartup(main用のスタートアップルーチン)
を指定すると、mainから始まる非コンソールアプリケーションが作れるはず。
あまり一般的な手法ではないかもしれないが。

50 名前:デフォルトの名無しさん mailto:sage [2007/04/17(火) 08:59:53 ]
>>48
GUIアプリって時点で十分環境依存だからWinMainを排除したところで意味はないぞ。



51 名前:デフォルトの名無しさん mailto:sage [2007/04/17(火) 09:07:46 ]
>適当なファイルをofstreamで開けば十分だと思う。ちなみにVC++のclogは、バッファリング付の標準エラー出力。
(cin, )cout, cerrの他に用意されてるの?
#尤も、cerrはバッファリングしないが。

52 名前:デフォルトの名無しさん mailto:sage [2007/04/17(火) 12:34:20 ]
質問があります。

開発環境、実行環境ともにWindowsXP(SP2)
仕様環境はVC++6.0です

レジストリの
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\USBSTOR
のStartを3から4に書き換えた(USB大容量記憶デバイス禁止)状態で
USBポートに挿入されているリムーバブルディスクの確認(空き容量と場所(E:などの割り当てられる文字))を行う方法が
存在するのなら、ご教示ください。

53 名前:デフォルトの名無しさん mailto:sage [2007/04/17(火) 20:27:35 ]
>>48
1:C++は不完全OOPです。

2:所詮テキストをフォーマットしてファイルに出力するだけなのでそもそも特別に必要でない

3:Windowsの標準的なGUIアプリにおいてはそもそもコンソールなんて使ってません
  ていうか規定のエントリポイントを排除しないでください

54 名前:デフォルトの名無しさん mailto:sage [2007/04/17(火) 20:32:30 ]
>>51
そうだよ
無論標準C++に含まれている

55 名前:48 mailto:sage [2007/04/17(火) 20:34:52 ]
>>49
ご丁寧にありがとうございます。
1につていは、Javaの癖なんですよね。C++では非メンバ関数が当たり前ということであれば
郷に従う必要がありそうです。
2については、ログレベル(外部ファイルで、出力する下限レベルを設定)を
実現したいので、やはり個別実装しないと駄目なんでしょうね。
3については、なるべく一般的なコーディングを心がけて移植性を高めたいと思うので、
一般的でないなら止めた方が良さそうですね。

>>50
そのまま他でコンパイルできることまでは望みませんが、
このクラスは機種依存、と明確にして移植性を高めるのが目的です。
確かに、WinMainでそれを考える意味はあまりないのかもしれませんね。
イベントドリブンでなければともかく。

56 名前:48 mailto:sage [2007/04/17(火) 20:39:34 ]
あ、返事中に新たな回答が。

>>53
1、そう意識していくしかないのでしょうね。
もっとも、自分で制約をかければほぼ完全にOOP的に
実装できそうだと思ってはいますが(それが良いかはともかく)
2、>>55で書いてしまったのですが、ログレベルを実現したいのです。
個別実装したいと思います。
3、わかりました。WinMainを使って素直に実装しようと思います。

57 名前:デフォルトの名無しさん mailto:sage [2007/04/17(火) 21:00:15 ]
Windows用のプログラムを作れる環境では、
どんなコンパイラでもWinMainが使えると思って平気。
その程度の移植性ならある。

58 名前:デフォルトの名無しさん mailto:sage [2007/04/17(火) 22:16:19 ]
ていうかWinMainが使えなきゃWindows用のGUIプログラムなんて作れなくね?


59 名前:デフォルトの名無しさん mailto:sage [2007/04/17(火) 22:54:30 ]
>>58
>>49
インスタンスハンドルはGetModuleHandle(0)で、
WinMainの最後の引数の代わりはSW_SHOWDEFAULTで代用すればいい。
(どうしても拘るのならGetStartupInfoと言う手もあるが)

60 名前:デフォルトの名無しさん mailto:sage [2007/04/18(水) 07:37:19 ]
そこまでする意味が理解できない件



61 名前:デフォルトの名無しさん mailto:sage [2007/04/18(水) 07:58:28 ]
環境依存コードはどうやったって出てくるだろうしね。
自分は環境依存コードにWinMain書いておいて、そこからmainを呼ぶようにしているが、
それは48氏が初めに書いているね。(それでいいと思うけど)

62 名前:デフォルトの名無しさん mailto:sage [2007/04/18(水) 16:23:15 ]
freepg.fc2web.com/cpp/topic_vce_001.html
以前のパソコンで上のサイトよりVisual C++ 2005 Express Editionを
インストールできたのですが新しいパソコンでインストールできません(VISTA)

CDイメージ(.iso)インストール(AIR-EDGEだと途中でダウンロードが止まる)
Webからインストール(これで試しています)

Microsoft Platform SDK を一緒に使うで
[PSDK-x86.exe]を実行すると

下のメッセージがでます
「インストールパッケージを開くことができませんでした。
アプリケーションベンダに問い合わせ、このパッケージが有効な
Windowsインストーラパッケージであることを確認してください」

3日間悩んでいます>_<;よい意見などあれば宜しくお願い致します。<(_ _)>

63 名前:デフォルトの名無しさん mailto:sage [2007/04/19(木) 00:34:31 ]
Vistaを捨てるのはどうだろう。

64 名前:デフォルトの名無しさん mailto:sage [2007/04/19(木) 10:52:50 ]
MSに訊いてみるのはどうだろう。

65 名前:デフォルトの名無しさん mailto:sage [2007/04/23(月) 22:44:35 ]
Visual C++ 6.0で質問です。

サービスプログラムから複数のスレッドを起動し、中でDLL関数を明示的に
呼び出しているのですが、この関数に不具合があるらしく、アクセス違反が
発生するうえ、呼出元のスレッドごと堕ちてしまいます。

DLLを直せば済むんでしょうが、とある事情によりDLL自体に手を入れ難い状況です。
そこで質問なのですが、DLLのエクスポート関数内で発生した保護エラー等を
呼出元でトラップし、処理続行するようなことはできるものでしょうか?

よろしくお願いします。


66 名前:デフォルトの名無しさん mailto:sage [2007/04/23(月) 23:01:36 ]
自分がやってることは疑わずに悪いのはこの関数と決めつけてるし
ほっといてあげよう

67 名前:デフォルトの名無しさん mailto:sage [2007/04/23(月) 23:20:49 ]
適当に言うけど

catch(...)

で捕らえられんの?

68 名前:デフォルトの名無しさん mailto:sage [2007/04/24(火) 01:08:41 ]
>>66
仰るとおりです。以後気をつけます。

DLLのソースは入手しまして、fopen()が失敗した際にNULLが返っているにも
関わらずfclose()を実行してそこでコケているので、>>65 のような書き方を
してしまいました。

>>67
レスありがとうございます。
catch(...)で試してみたのですが、拾ってくれない(そこまで到達してない)
ようです。
一度通常のコンソールアプリに組み込んでトラップできるか試してみます。
何かお気付きの点ありましたら、お願いします。


69 名前:デフォルトの名無しさん mailto:sage [2007/04/24(火) 08:20:39 ]
プログラムの1機能的な例外ではなくOSが発する例外なのにcatchできるわけないべw

70 名前:デフォルトの名無しさん mailto:sage [2007/04/24(火) 08:25:44 ]
>fopen()が失敗した際に

失敗の原因が
>サービスプログラムから複数のスレッドを起動
だったりしないよな



71 名前:デフォルトの名無しさん mailto:sage [2007/04/24(火) 17:02:09 ]
>>68
/EHaを付けて、SEH (__tryと__expect)の方を使えば受けられるかもしれない。
SEHで受けられるなら、_set_se_translatorでC++例外へ変換する道が開ける。

72 名前:デフォルトの名無しさん mailto:sage [2007/04/26(木) 07:55:05 ]
>68
そのDLLの内部でfopen()お呼びfclose()が行われてるってことかな。
ソースあるなら呼ばないで自分で似たようなの作り直すってのはダメなのか?
あるいは、そのDLLの問題部分を完全に突き止めて、ここをこう直せと指摘するとか。

73 名前:デフォルトの名無しさん mailto:sage [2007/04/26(木) 08:28:27 ]
お前らの話しを全部理解できてないので間違えてるかもしれんが
俺も例外をcatch(...)で取れないことが最近あった。
で、調べた。

記憶が確かなら
VC6のころはメモリアクセス違反をcatch(...)で取れた。

VC2005はコンパイルオプションを変えないと
その手のCPUがだす例外をcatch(...)で取れない。
あるいは例外ハンドラを自分で書くのかな。
コンパイラオプションは覚えとらんので書けない。

とりあえずメモリアクセス違反を握りつぶすのも問題だから
VC2005でデフォルトが例外をcatch(...)で取れないようになったのは
妥当なことなのかな。

74 名前:デフォルトの名無しさん mailto:sage [2007/04/26(木) 08:33:44 ]
>>72
それが一番だよな。
エラー処理が不十分てことだからDLLを直させるべき。

でも自分の担当じゃないDLLの細部まで調べないと云々は納得いかんな。

社外の作成したDLLだからソースなしで
責任転嫁だとか本当にお前の担当部分にバグがないのかとか・・・
愚痴になってしまったのでおしまい。

75 名前:デフォルトの名無しさん mailto:sage [2007/04/26(木) 09:30:00 ]
>>73
C++例外でないアクセス違反を、C++の構文で捕捉できた事が異常。

76 名前:デフォルトの名無しさん mailto:sage [2007/04/26(木) 17:52:57 ]
>74
>でも自分の担当じゃないDLLの細部まで調べないと云々は納得いかんな。
他人に直させるにしても、問題が本当に相手のソースにあるのかまではつきとめないと
やっぱり自分のミスでしたって事になった場合、人間関係に亀裂が入り易いからなぁ。
(はっきり指摘してやって逆ギレするのもいるが、そういうのは置いといて^^;)

少ない修正で済むような問題なら、教えてやった方が結果的にロスタイムも少ないしな。

77 名前:デフォルトの名無しさん mailto:sage [2007/04/26(木) 18:43:19 ]
なぜfopen()が失敗するのか

78 名前:デフォルトの名無しさん mailto:sage [2007/04/26(木) 19:02:47 ]
>>76
別に細部まで調べなくても
渡すデータがDLLの仕様どおりで、呼び出し部以外でコケてなけりゃどう考えてもDLLの問題だし

79 名前:デフォルトの名無しさん mailto:sage [2007/04/26(木) 19:10:47 ]
下手に全部調べてからDLL担当者に「バグってますよ」というより、
「巧くいかなくて困っているんで、DLL側で助けてもらえませんか」と下手に出たほうが
協力を得やすく労力も減るかもしれない。

80 名前:デフォルトの名無しさん mailto:sage [2007/04/26(木) 19:27:43 ]
もしそのDLLが普通に使われてるんなら
仮にバグがあったとしても今まで問題にならなかったということだ。



81 名前:デフォルトの名無しさん mailto:sage [2007/04/26(木) 19:47:25 ]
とある事情によりDLL自体に手を入れ難い状況ということは今まで何事もなく使われてたんだろ

82 名前:デフォルトの名無しさん mailto:sage [2007/04/26(木) 21:40:04 ]
まあ、ファイル名を引数等で指定して処理させるような形だったら
一度呼び出し側でfopen()して開けなきゃDLLの関数は呼ばなきゃいいんじゃね?
2度手間になるから、もちろんいじれるならDLLいじった方がいいが。

83 名前:デフォルトの名無しさん mailto:sage [2007/04/27(金) 08:03:55 ]
VC++ .NET 2003のオプションで指定するインクルードファイルとかのパスって
どこに保存されてるの?

84 名前:デフォルトの名無しさん mailto:sage [2007/04/27(金) 11:32:52 ]
デフォルトの設定 レジストリ
プロジェクトの設定 プロジェクトの定義ファイル

85 名前:デフォルトの名無しさん mailto:sage [2007/04/27(金) 19:15:31 ]
レジストリ内の場所ってわかる?
レジストリエディタで目的のパスで検索かけてもHitしないんだけどさ・・・

ちなみにオプションのVC++ディレクトで設定する、インクルードファイルとか実行可能ファイルとか指定するとこなんですが

86 名前:デフォルトの名無しさん mailto:sage [2007/05/06(日) 14:30:15 ]
VC++2005なんですが
自作のクラスにメンバを追加したり、STLなどの既存のクラスを読み込んだりしたときに
かなりの頻度で、プロジェクトを閉じて開いたり、VSを再起動したりしないと
:: や . や -> などを入力した後の一覧に追加したメンバが表示されないのですが
再起動などせずに解決する方法は無いのでしょうか

87 名前:デフォルトの名無しさん mailto:sage [2007/05/06(日) 20:29:25 ]
MSに要望出せ

88 名前:デフォルトの名無しさん [2007/05/08(火) 20:40:19 ]
なぜかある場所でメンバ関数呼び出すと
thisポインタを使わないとメンバ変数が使えなくて
thisで指定しないでその変数に行くとランタイムエラーだされるんですが

これはメモリの領域破壊のバグのひとつでしょうか?

89 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 21:05:01 ]
ある場所をはっきりさせてから質問してください

90 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 21:09:54 ]
ランタイムエラーが出るんならランタイムに行ってんだろ



91 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 21:14:06 ]
ランタイムの使い方がおかしいんだろうね。
その辺りのコード晒してみ?

92 名前:デフォルトの名無しさん [2007/05/09(水) 15:54:38 ]
スレ違いでしたらすみません。
質問があります。
ホームページビルダーを久しぶりに起動したら、
次のようなエラーメッセージが出て、起動できなくなりました。
何か解決方法はありますでしょうか?よろしくお願いします。
環境はOSがXP、HBはV9です。

-----------------------------------------------------
Microsoft Visual C++ Runtime Library

Assertion failed!

Program: ... Files\IBM Homepage Builder V9\bin\hpbpage.exe
File: .\RegistryBase.cpp
Line: 81

Expression: code == ERROR_SUCCESS
-----------------------------------------------------

93 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 16:19:41 ]
ホームページビルダー作った会社に訊け

94 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 18:57:27 ]
>>92
ここは「Microsoft Visual C++を使う人」のためのスレです
Microsoft Visual C++を「使って作られたソフトを使う人」はお帰りください

95 名前:デフォルトの名無しさん [2007/05/09(水) 21:27:25 ]
ウェブ上に公開されているサンプル プロジェクトをビルドすると、次のエラーが出て失敗します。
環境はWinXP、VC++2005です。

> error C2678: 二項演算子 '<' : 型 'const ErrorEntry' の左オペランドを扱う演算子が見つかりません (または変換できません) (新しい動作; ヘルプを参照)。
> c:\program files\microsoft visual studio 8\vc\include\xutility 267


試したサンプルはWinsock Programmer's FAQのAsynchronous I/O Clientです
ttp://www.kt.rim.or.jp/~ksk/wskfaq-ja/examples/basics/AsyncClient/index.html
(ページの下のほうの「project package (33 KB)」からダウンロード)

ファイルはVC++5のプロジェクトが丸ごと圧縮されており必要なものは全てそろっているそうです。
VC++2005でプロジェクトを変換して開いたのですが、上記のようになりました。
エラーの場所が場所なのでコンパイラに渡すオプションあたりをいじる必要があるのでしょうか?

ご教示お願いします。

96 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 21:40:31 ]
全然関係ないけど
P.J. Plaugerが自ら語るVS2005搭載C++テンプレートライブラリ
STL.NET

97 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 23:36:26 ]
従来のSTLの機能の大半は.NET Frameworkクラスで事足りるのにSTL.NETとはこれいかに

98 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 23:39:31 ]
>>97
まぁ読んでみれ
www.microsoft.com/japan/msdn/vs05/visualc/stl-netprimer.aspx

99 名前:デフォルトの名無しさん mailto:sage [2007/05/10(木) 20:00:32 ]
なんでこう、バージョンアップするごとにIntelliSenseがバカになってくいんだ・・・

100 名前:デフォルトの名無しさん mailto:sage [2007/05/10(木) 20:03:28 ]
新しいものに慣れるのがつらい年頃なのかね。



101 名前:デフォルトの名無しさん mailto:sage [2007/05/10(木) 20:19:52 ]
そうか、いくらファイルを保存してもインテリの情報が更新されないのが新しいものなのかw

102 名前:デフォルトの名無しさん [2007/05/11(金) 00:49:58 ]
>>99
IMEも98ぐらいの時が一番賢かった気がする。

103 名前:デフォルトの名無しさん mailto:sage [2007/05/11(金) 00:55:58 ]
それはない

104 名前:デフォルトの名無しさん mailto:sage [2007/05/11(金) 08:08:03 ]
ATOK使おうぜ

105 名前:デフォルトの名無しさん mailto:sage [2007/05/11(金) 17:06:10 ]
いやVCのインテリは付いたときから馬鹿だろ
それだけがVBの取り柄

106 名前:デフォルトの名無しさん mailto:sage [2007/05/11(金) 19:29:34 ]
>>104
そのあたりは無理に標準でついてるもの以外を使う必要が無いからなぁ

107 名前:デフォルトの名無しさん mailto:sage [2007/05/11(金) 23:10:48 ]
Japanist2003

108 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 17:47:08 ]
#include <windows.h>
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInst,LPTSTR lpCmdLine,int nCmdShow){
MessageBox(NULL,lpCmdLine,"1",MB_OK);
if (lpCmdLine=="/abc"){
MessageBox(NULL,lpCmdLine,"2",MB_OK);}
return 0;}

これで実行ファイルを1.exeとしますと、1 /abcとコマンドラインから実行しても
2つ目のメッセージボックスが出ないんですが何故でしょうか?VS2005,WinXPです。

109 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 18:22:15 ]
何それ?

110 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 19:04:09 ]
>>108
文字列の比較方法を調べなさい



111 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 19:15:58 ]
できました、ありがとうございました。

112 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 20:03:30 ]
_tWinMain

113 名前:デフォルトの名無しさん mailto:sage [2007/05/18(金) 22:31:06 ]
他のC++用IDEにある、IntelliSense同等の機能の方が、圧倒的に性能いいの?

114 名前:デフォルトの名無しさん mailto:sage [2007/05/19(土) 02:34:02 ]
他は知らんが
個人的には VS2003 のインテリセンスの具合が好き
2005 はインテリセンスに限らず全体的使えないと思う

115 名前:デフォルトの名無しさん mailto:sage [2007/05/19(土) 09:18:05 ]
あー俺も。2003から離れられない。

116 名前:デフォルトの名無しさん mailto:sage [2007/05/19(土) 09:57:05 ]
pimplイディオムを使うとインテリセンスも利かなくなるんだけど
これって意図された動作なのかただの偶然なのか?

117 名前:デフォルトの名無しさん [2007/05/19(土) 12:09:55 ]
昔VC6.0で作ったプログラムをVC2005に移植したいんですが、
そのままだとビルド出来ませんでした。

プロジェクト自体は変換とか出来たんですが、StdAfx.hでインクルードされてた
Windows ヘッダー ファイル群(windows.hとか)が、No such file or directoryでエラーになります。
かといってこれを外したらコンパイル通らないし・・。

1から組むのは大変なんで、何とか使い回せないかと思うのですが、
何かいい方法ありますでしょうか。


118 名前:デフォルトの名無しさん mailto:sage [2007/05/19(土) 12:12:36 ]
Express EditionでPlatform SDKをインストールしてないとか、
パス通してないとかってオチはないよな?

119 名前:デフォルトの名無しさん mailto:sage [2007/05/19(土) 12:16:38 ]
No such file or directoryぐらいの簡単な英語なら理解できるだろ

120 名前:デフォルトの名無しさん mailto:sage [2007/05/19(土) 12:23:22 ]
>>117
おいおい初心者の俺でも分かるぜ。



121 名前:117 [2007/05/19(土) 14:01:08 ]
117です。
すみません、仰るとおり、SDKをインストールしていませんでした。。。
インストールしたらインクルードは解決しました。

今度はコンパイルエラーとwarningがいっぱい出てきましたが
ワーニングは無視してコンパイルエラーを修正。
(コンパイルエラーは for(int i=0) の i を for以降で使ってました)

次に「ファイル 'LIBC.lib' を開くことができません」が出ましたが、これはググッて解決。
(プロジェクトのプロパティで特定ライブラリの無視にLIBC.lib追加。)


現在、このエラーと格闘中です。
「zlib.lib(gzio.obj) : error LNK2019: 未解決の外部シンボル _errno が関数 _gz_open で参照されました。」


122 名前:デフォルトの名無しさん mailto:sage [2007/05/19(土) 14:21:28 ]
VCのインテリセンスは昔からウンコ

123 名前:デフォルトの名無しさん mailto:sage [2007/05/19(土) 14:27:05 ]
errno は VC2005 だとマクロになってた気がするよ。
余計な warning が鬱陶しければ #pragma warning(disable:警告番号) で消した方が。

124 名前:デフォルトの名無しさん mailto:sage [2007/05/19(土) 14:27:29 ]
こんどはzlibの追加だネ!

125 名前:デフォルトの名無しさん mailto:sage [2007/05/19(土) 15:24:53 ]
VC2005についてるSTLとSTLportでは何が違うの?

126 名前:117 mailto:sage [2007/05/19(土) 15:37:14 ]
117です。

zlib.libを作り直そうと思って調べてるんですが、
VC2005でStatic Libraryは作れないんでしょうか?


2005、全部1から作るには楽なんだろうけど、ちょっと違うコトしようとしようとすると途端に・・

127 名前:デフォルトの名無しさん mailto:sage [2007/05/19(土) 15:43:35 ]
初心者の俺でも作れるし

128 名前:デフォルトの名無しさん mailto:sage [2007/05/19(土) 17:31:04 ]
VC6使ってたんなら初心者というわけじゃないだろうし
自分で調べてみるぐらいしようよ
ちょっとでも調べてたらそういう質問はないと思う

129 名前:デフォルトの名無しさん mailto:sage [2007/05/19(土) 20:10:17 ]
ダイアログの大きさがフォントの大きさによって変わってしまうのですが、
常に設計時の大きさになるようにする設定ってありますか?

130 名前:デフォルトの名無しさん mailto:sage [2007/05/19(土) 20:12:03 ]
あ、実行時にフォント変えてもダイアログの大きさは変わらないのかな?
↑は無視してください。



131 名前:デフォルトの名無しさん mailto:sage [2007/05/19(土) 20:28:46 ]
VC++.NETとVC++とは違うものなのでしょうか?


132 名前:デフォルトの名無しさん mailto:sage [2007/05/19(土) 20:34:45 ]
.NET使わないなら単なるVC7、VC8

133 名前:デフォルトの名無しさん mailto:sage [2007/05/19(土) 20:55:23 ]
>VC2005についてるSTL

そもそもそんなものは無い

134 名前:デフォルトの名無しさん mailto:sage [2007/05/19(土) 20:55:34 ]
クグって見たんですが.NET Framework?MFC見たいな物?

VC++ .NET?って?
.NET Framework?って?

VC++6.0で知識が止まってますorz

135 名前:デフォルトの名無しさん mailto:sage [2007/05/19(土) 21:10:09 ]
VistaマシンでVC6.0は使用できないのでしょうか。
(「VMWare等で旧OS(XPや2k)入れて使え」と言うのは取り合えず置いておいて)

インストール試してみようと思いsetup.exe実行
→「このプログラムには基地の互換性の問題があります。」

と表示されたところでいったん止めてWeb漁ってるのですが、なかなか有効な解放が得られず。。。

136 名前:デフォルトの名無しさん mailto:sage [2007/05/19(土) 21:33:02 ]
>>134
JavaのVMに相当

137 名前:デフォルトの名無しさん mailto:sage [2007/05/19(土) 21:40:23 ]
VC++.NETという表現は使われなくなりました。

138 名前:デフォルトの名無しさん mailto:sage [2007/05/19(土) 21:52:02 ]
>>135
MS的にはサポート外です。

139 名前:117 mailto:sage [2007/05/19(土) 22:08:00 ]
117です。

何とか解決しました。

ググってはいたんですが、VS2005の用語が全然分からなくて、とっかかりがなかったです。
ソリューションて何?とかいう浦島太郎状態で。

5年前に自作したツールの、数字を決め打ちしてた部分を1カ所直したいだけだったんですが
結局ビルド通すのに丸一日かかりました。


で、通ったら今度はデータが読めない・・・。

fwrite(this,sizeof(Cdata),1,fp);
ってやってクラス丸ごとバイナリで保存しておいたデータを
fread(this,sizeof(Cdata),1,fp);
で読み込んでるんですが、読み込んだデータが化けてるっぽい。

この辺の仕様も変わっちゃってるのかなぁ・・・

140 名前:デフォルトの名無しさん mailto:sage [2007/05/19(土) 22:16:11 ]
ひとりごと



141 名前:117 mailto:sage [2007/05/19(土) 22:25:25 ]
昔に保存したデータをあきらめて、データ作り直したら行けるっぽいです。めんどいけど。
長々チラ裏に付き合ってもらってありがとうございました。


142 名前:デフォルトの名無しさん mailto:sage [2007/05/19(土) 22:45:48 ]
考えられる原因はこんなとこか?
バイナリモード指定していない
アラインメントの指定がおかしい
データ型の大きさが変わった (ex time_t)

143 名前:デフォルトの名無しさん mailto:sage [2007/05/19(土) 22:46:43 ]
インスタンスのメモリイメージをそのままをバイナリ保存って無謀すぎ。
普通はシリアライズ用関数とか用意するもんだ。

144 名前:デフォルトの名無しさん [2007/05/19(土) 22:47:52 ]
あと、文字列がANSIだったとか。

145 名前:デフォルトの名無しさん mailto:sage [2007/05/19(土) 22:57:12 ]
手抜きなんだからしょうがない

146 名前:デフォルトの名無しさん mailto:sage [2007/05/19(土) 23:04:21 ]
>>117
vtable の事もたまには思い出してあげてくださいね。

147 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 06:42:57 ]
どうせ ANSI 文字列をユニコードで表示しようとしてるんだろう。

148 名前:デフォルトの名無しさん [2007/05/20(日) 17:31:22 ]
旧バージョンのVisual C++4.0で「コンソールプログラムを作成する」
というような使用条件であれば、十分に活用できますか?
(主にRS232CをWin32APIから使用するのが目的です)

また、当時NT4.0との組み合わせで不具合(多分使用できない機能?)
があるとかの話を耳にしたような記憶があります。
WinXPおよびWin2000での動作はどうでしょうか?
バージョンからして、既に現状に沿った話でなくて恐縮ですが、ご教示下さい。


149 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 17:37:58 ]
そこまでしてVC4を使う理由が判らない。
つーか、Win32APIからRS232Cを使うというのが何を意味しているのか判らない。
単にシリアル伝送したいだけならmodeコマンドで条件設定してcopyコマンドでもtypeコマンドでもできるだろうに。

150 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 17:40:38 ]
XP+VC5を使ってる人は知ってるけど、
VC4はわからないなぁ。



151 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 17:42:38 ]
昔のプログラムでも動くのは動くし、動かないのは動かない
適当なの探してきて動かしてみればいい

152 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 18:48:47 ]
include の path 指定の書式について質問です。

stdafx.h
#include <../creptopp/sha.h>

と記述してこれをコンパイルすると、
--------------------------------------------------------------------------------
コンパイルしています...
debug.cpp
c:\test\Anonymous\stdafx.h(126) : fatal error C1083:
include ファイルを開けません。'../../creptopp/sha.h': No such file or directory
--------------------------------------------------------------------------------

ファイルの階層は下のようになっています。
test
- creptopp/
- Anonymous/stdafx.h

#include <sha.h>
#include <../creptopp/sha.h>
#include <../../creptopp/sha.h>
と試してみたのですが、うまくいきませんでした orz

どうぞよろしくお願い致します。m(__)m



153 名前:152(追記) mailto:sage [2007/05/20(日) 18:53:27 ]
* Crypto++ Library 5.4
www.cryptopp.com/
cryptopp/sha.h
cryptopp/sha.cpp

展開するとみたいになっていました。これを利用したいです。

154 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 18:54:15 ]
#include <file-name>
使うならちゃんとpath通しとけよ

155 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 18:59:35 ]
>>152
相対パスの元は、stdafx.h の場所ではなく
コンパイルしている cpp の置かれた場所なんじゃね?

156 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 19:13:50 ]
解凍してそのまんまビルド
ライブラリができたらヘッダとlibを適当な場所へ置いて使うだけ

157 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 21:29:58 ]
C++で普通に関数にするのとクラスのメンバ関数にするのとではとちらが遅いのでしょ?

158 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 21:38:42 ]
一概には言えない。コンパイラの最適化で、実質的な差が出ない可能性も高い。
速度に関しては、個別に実測する以外は全てただの憶測。

159 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 22:33:48 ]
オーバーヘットとかは無いの?

160 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 22:40:45 ]
非仮想関数ならthisを積む程度の差しかないだろうなあ
まぁそんなこと考えるのは時間の無駄だから、コードの見易さ・美しさを考える方がいいよ



161 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 00:00:15 ]
>オーバーヘットとかは無いの
なんですか? その「オーバーヘット」って。

162 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 00:06:05 ]
夏塩蹴

163 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 00:54:16 ]
まあ韓国の文化は冷麺のどんぐり麺?あれだけは評価できるね

164 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 01:07:28 ]
VC++2005アカデミック日本語版で質問です

「warning C4996: 'scanf' が古い形式として宣言されました。」

scanf()を使うと2005から上記の警告が出ることはググって分かったのですが
当方の警告文は全て英語のままで上記の一文が出てきません

↓これだけ
'This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See online help for details.'

日本語の警告文の説明を表示させたいのですがどこを設定すればいいのでしょうか?
よろしくお願いします


165 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 07:41:21 ]
C4996でググればいい。
というより、MSDNライブラリインストールしろ

166 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 07:58:06 ]
役に立たねぇ香具師だなぁ。警告を日本語にしたいって書いてんだろ。
C4996だけの問題じゃねぇんだよ。判ってねぇなら書くなよ。

167 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 08:11:29 ]
すいませんした。俺が悪いんです。この通りです。許してください。読み違えただけなんです。怒らないでください。日本語にするやり方分かります。でも教えないです。ごめんなさい。

168 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 08:13:17 ]
どんな警告・エラーもCxxxxの番号が振られているんだから、
C4996以外もその番号でググればいい。

169 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 09:58:06 ]
わざわざ英語で出るように自分で設定変えたくせに
元に戻す方法は人に聞くのってどういう了見なんだ?

170 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 11:00:13 ]
C4996でググったらみんな日本語で警告が出るのに
俺の環境じゃ英語しか出ねえよ

て解釈した

英語にアレルギーがあるかしらんがこの機会に慣れたら?



171 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 11:32:05 ]
VC++2005日本語版に付属のコンパイラとは別に英語版のコンパイラも入れたの?

172 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 11:33:59 ]
特に何もしてない

173 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 11:37:29 ]
何もしないで変わるかっつーの

174 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 13:00:30 ]
MSのサポートに訊けばいい

175 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 17:58:17 ]
MSマンセー

176 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 18:24:09 ]
誰かがVC++2005EEでも入れて混ざってんじゃないのかね

177 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 21:31:25 ]
VS2005無印にSP1当てたら俺も英語だけになったぞ
でもたいして問題じゃねえしMSDNライブラリあれば心配ねえよ

178 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 23:27:34 ]
それは、英語版のSP1を入れてしまったのでは?

179 名前:デフォルトの名無しさん mailto:sage [2007/05/23(水) 09:56:28 ]
(´,_ゝ`)プッ ソンナオチダッタノカ

180 名前:デフォルトの名無しさん mailto:sage [2007/05/23(水) 11:14:52 ]
んなわけない



181 名前:デフォルトの名無しさん mailto:sage [2007/05/23(水) 11:24:41 ]
そうだな。
本人は「特に何もしてない」と言ってるんだからSP1だってあててるわけが無い

182 名前:デフォルトの名無しさん mailto:sage [2007/05/23(水) 11:31:01 ]
痴呆か。

183 名前:デフォルトの名無しさん mailto:sage [2007/05/23(水) 11:31:36 ]
俺もSP1当てたからかしらんが英語だよ
その程度の日本語の説明なら要らんけど
あと、うちはProfessionalだな

184 名前:デフォルトの名無しさん mailto:sage [2007/05/23(水) 11:38:23 ]
SP1入れてない。
MicrosoftUpdateで時々入れようとしてるんだけど毎回失敗する。


185 名前:デフォルトの名無しさん mailto:sage [2007/05/23(水) 14:17:33 ]
俺も前失敗続いてたけど最近あらためてやったら成功したな
何が原因だったんだろ

186 名前:デフォルトの名無しさん mailto:sage [2007/05/23(水) 14:43:17 ]
ちょっとツンだっただけさ

187 名前:デフォルトの名無しさん mailto:sage [2007/05/23(水) 17:18:31 ]
SP1を当てたが別に英語になっていないぞ

188 名前:デフォルトの名無しさん [2007/05/24(木) 10:37:27 ]
MFCで×ボタンを押してアプリケーションを終了するとき
どこになんと言う名前でその処理が書かれているか教えてください
終了するときに処理を付け加えたいのでお願いします

189 名前:デフォルトの名無しさん mailto:sage [2007/05/24(木) 10:54:40 ]
WM_CLOSEのハンドラを追加

190 名前:デフォルトの名無しさん mailto:sage [2007/05/24(木) 10:58:08 ]
SC_CLOSE → WM_CLOSE → WM_DESTROY
の順じゃないかな。それぞれのデフォルトハンドラで
MFCだと、OnSysCommand() からクローズ投げて
OnClose() が呼ばれ、そこでDestroyWindow()して OnDestroy()が呼ばれる。
もしかしたら違うかも。spy++やデバッガで確認してみて



191 名前:デフォルトの名無しさん mailto:sage [2007/05/24(木) 11:00:22 ]
処理内容によっちゃExitInstanceでという選択肢も

192 名前:デフォルトの名無しさん [2007/05/24(木) 11:16:42 ]
ありがとうございます処理内容はダイアログを表示させて
パスワード入力とOKボタンを押し終了させるものです
パスワードが違っているかキャンセルボタンを押した場合終了しません

という処理をしようと思っています

193 名前:デフォルトの名無しさん mailto:sage [2007/05/24(木) 11:47:00 ]
クラックしてやんよ

194 名前:デフォルトの名無しさん [2007/05/24(木) 11:47:19 ]
連レスすいません
ハンドラの追加でON_WM_CLOSE()を追加したんですが
対応する関数に反応ありませんでした

195 名前:デフォルトの名無しさん mailto:sage [2007/05/24(木) 11:54:15 ]
×ボタンってダイアログの話なの?
何がどうなってるのかよくわからん、反応が無いとは何で判断?

196 名前:デフォルトの名無しさん [2007/05/24(木) 11:57:31 ]
>>195
フォームビューによるダイアログです
プロパティのメッセージから追加しました

ブレークポイントをつけて通っているか判断しました

197 名前:デフォルトの名無しさん [2007/05/24(木) 11:58:45 ]
www.kumei.ne.jp/c_lang/sdk/sdk_08.htm

↑簡単に言うとこういうことをMFCでやりたいのです

198 名前:デフォルトの名無しさん mailto:sage [2007/05/24(木) 11:59:40 ]
んーと、WM_CLOSEが来るのはその閉じるウィンドウにくるんだよ。
こないのはおかしいね。spy++で観察してみては。

199 名前:デフォルトの名無しさん [2007/05/24(木) 12:14:47 ]
spy++でみてみるとWM_CLOSEはちゃんとありました

200 名前:デフォルトの名無しさん mailto:sage [2007/05/24(木) 12:17:58 ]
エスケープキーでダイアログが閉じないようにするので、そのへんやったことあるけど
ダイアログベースじゃない場合は、どのクラスがメッセージを処理してるかだな



201 名前:デフォルトの名無しさん mailto:sage [2007/05/24(木) 12:25:40 ]
sdi/MDIでeditビューの場合は編集中にプログラム閉じようとすると
保存しますか?
みたいな確認でたような気がするけどどうだったかな?

202 名前:デフォルトの名無しさん [2007/05/24(木) 12:27:28 ]
観察した結果は

WM_DESTROY→WM_NCDESTROY→WM_CLOSE→WM_SYSCOMMAND

でした

203 名前:デフォルトの名無しさん mailto:sage [2007/05/24(木) 12:45:28 ]
CMainFrame::OnCloseにちゃんと来るじゃん
そのあと閉じていいか確認が出る

204 名前:デフォルトの名無しさん [2007/05/24(木) 13:13:44 ]
閉じていいか確認が出ないのですが
CMainFrame::OnCloseをオーバーライドして使えばいいということですか?
そこも通らないような・・・

205 名前:デフォルトの名無しさん [2007/05/24(木) 13:15:33 ]
あとWM_DESTROYは反応ありましたがウィンドウが閉じたあとでした

206 名前:デフォルトの名無しさん mailto:sage [2007/05/24(木) 13:24:39 ]
sdi/MDIでeditビューが基本
最初からそういう風に動作するようになってる

207 名前:デフォルトの名無しさん mailto:sage [2007/05/24(木) 13:37:57 ]
>>205
まあいろいろ試してあちこちにハンドラ置きまくってみればいろいろわかることもある。

208 名前:デフォルトの名無しさん [2007/05/24(木) 13:40:25 ]
通りました!!CMainFrame::OnCloseでした!!
ありがとうございます!

209 名前:デフォルトの名無しさん [2007/05/24(木) 16:34:45 ]
自作ダイアログ表示させようとしたら
自分でつけたコントロールのほかに

TODO: コントロールをここに置く のテキストボックスと
OKとキャンセルボタンがついてごっちゃになってました

Jisakudlg dlg(this);
dlg.DoModal();

なぜなのか教えてください

210 名前:デフォルトの名無しさん mailto:sage [2007/05/24(木) 16:47:48 ]
>>209
ダイアログの選択したパーツを整列するボタン押したんじゃないの?



211 名前:デフォルトの名無しさん [2007/05/24(木) 16:52:44 ]
すいませんよくわからないですけどhtmlが入ってたみたいで
作り直したらいけました

212 名前:デフォルトの名無しさん mailto:sage [2007/05/24(木) 22:34:23 ]
可変個引数の簡単な使い方(できれば、va_arg,va_end,va_startを使わない)を教えてください。

やりたいことは、下記のようにprintf系の関数に引数をそのまま渡したいのです。
void printfWithHeader(char *str, ...) {
char buf[1000] = "Header:";

strcat(buf,str);
printf(char *str, ...);
}

環境は、Visual Studio 2003です。
皆様、お願いいたします。

213 名前:デフォルトの名無しさん mailto:sage [2007/05/24(木) 22:53:23 ]
VCというか普通のCの質問だろ
そんなことをわざわざVCスレで質問する意味がわからん

214 名前:デフォルトの名無しさん mailto:sage [2007/05/24(木) 22:57:12 ]
できません
規約も護れないやつぁ帰れ

215 名前:デフォルトの名無しさん mailto:sage [2007/05/24(木) 23:00:07 ]
vprintf 系を使えよ・・・。

216 名前:デフォルトの名無しさん mailto:age [2007/05/25(金) 00:06:50 ]
Visual Studio.net2003を使っているのですが、
UTF-8のソースを扱うにはどうすればいいのでしょうか。
コンパイルはできるのですが、日本語の表示ができません。

217 名前:デフォルトの名無しさん mailto:sage [2007/05/25(金) 00:24:02 ]
>>215
thx.
vprintf系でできそうです。


>>213
> VCというか普通のCの質問だろ
> そんなことをわざわざVCスレで質問する意味がわからん

レスありがとうございます。
VCの拡張機能も含めて、回答を頂きたかったからです。
老婆心ながら、>>213さんは行間をうまく読めないようですので、コミュニケーション能力を鍛えた方がよろしいかと思いました。

218 名前:デフォルトの名無しさん mailto:sage [2007/05/25(金) 00:27:25 ]
質問等で、行間を読んでくれる事に期待するってのは、
一般社会ではコミュニケーション能力不足と判定されます。

219 名前:217 mailto:sage [2007/05/25(金) 00:29:21 ]
確かにその通りですね... (-_-;)

220 名前:デフォルトの名無しさん mailto:sage [2007/05/25(金) 00:34:52 ]
>>216
先にShift_Jisに変換してからコンパイル、が一番楽。
.NETベースのコンパイラは、文字列=Unicodeで保持、と決め打ちできるんだけどねえ。



221 名前:デフォルトの名無しさん mailto:sage [2007/05/25(金) 00:51:21 ]
Windows は UTF-16 で動いてるけど、
.NET を通す場合だとどうなんだろう。
よく知らん。

222 名前:デフォルトの名無しさん mailto:sage [2007/05/25(金) 01:03:25 ]
>217
人が多いスレで質問した方が適切な回答が得られやすい
ここはVC限定でしかも初心者限定だから人が少ない

223 名前:デフォルトの名無しさん mailto:sage [2007/05/25(金) 04:26:27 ]
いやこんな質問初心者レベルだろ

224 名前:デフォルトの名無しさん mailto:sage [2007/05/25(金) 07:09:43 ]
>>216
VS2003にもVBとか色々あるが、ここで質問するからにはVC++2003でいいんだな?

225 名前:デフォルトの名無しさん mailto:sage [2007/05/25(金) 09:14:21 ]
仕様書の行間なんぞ読まれたらと思うと・・・

226 名前:デフォルトの名無しさん mailto:sage [2007/05/25(金) 11:24:20 ]
>>217 は技術者としては失格だろ
技術者が設計図の行間とか読んだら、ものは出来上がらない
行間読むくらいなら、設計を詳細まで確認するのが正しい

227 名前:デフォルトの名無しさん mailto:sage [2007/05/25(金) 12:26:21 ]
VC2002を初めて使っているのですが、DllプロジェクトとMainのプロジェクトがあり
DLL側のヘッダをincludeし、定義しているクラスをメインのexeで使いたいのですが
宣言はできるのですがビルドすると 未解決の外部シンボル と怒られます。

どうしたらよいのでしょうか。

228 名前:デフォルトの名無しさん mailto:sage [2007/05/25(金) 12:54:27 ]
複数のプロジェクトをいっしょに扱うのが難しかったら
DLLを先にビルドしてしまえば、DLLで配布されてるライブラリなんかと同様に扱える

229 名前:デフォルトの名無しさん mailto:sage [2007/05/25(金) 13:29:18 ]
即レスありがとうございます。

実はcppUnitを使用したいと思いまして、現在のプロジェクトをそのままに
新規でテスト用のプロジェクトから該当のクラスにアクセスしたいと考えておりました。

おっしゃられるように入出力だけのテストなら、dll呼び出せばできそうです。
ありがとうございます。

230 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 07:54:30 ]
フリーでVisualC++用のリファクタリングアドインある?



231 名前:230 mailto:sage [2007/05/27(日) 08:29:21 ]
自己解決
www.devexpress.com/Products/NET/IDETools/RefactorCPP/

232 名前:デフォルトの名無しさん [2007/05/28(月) 12:20:46 ]
VisualC++6.0でCDialogについて質問です。

1つのプロジェクトに複数のダイアログ画面でがあり、
各画面で同じ処理を行うメンバ変数・関数が存在します。
これをまとめるため、CDialogから派生したCCustomDialogを作成し、
各画面の基底クラスに使用することを考えました。

通常のC++クラスであれば、上記のことが可能であるとわかりますが、
CDialogクラスでも可能でしょうか?
(Windowsのイベントとかメッセージとかが、正常に処理されるのか心配しています。)


233 名前:デフォルトの名無しさん mailto:sage [2007/05/28(月) 12:32:20 ]
>>232
CDialogを派生して各ダイアログクラスを作るように、CCustomDialogを派生すればいい。
CCustomDialogの作成には幾つかMFC特有のおまじないが必要だから、どっかでサンプルを探すのがいいね。

234 名前:232 [2007/05/28(月) 19:36:24 ]
>>233
レスありがとうございます。
参考にさせていただきます。

235 名前:デフォルトの名無しさん mailto:sage [2007/05/29(火) 20:40:37 ]
メッセージループとか使わないプログラムで、
キーボードの入力を待たないでキーボードの入力を取得するにはどうすればよいのでしょう?
(押されてなかったらNULLかなんかで抜けてくれる関数等)


236 名前:デフォルトの名無しさん mailto:sage [2007/05/29(火) 20:54:06 ]
GetAsyncKeyState

237 名前:デフォルトの名無しさん mailto:sage [2007/05/29(火) 22:26:24 ]
>>236
これで出来ました。どうもありがとう。

238 名前:デフォルトの名無しさん mailto:sage [2007/05/30(水) 13:17:56 ]
VisualC++2005,XPで開発してます。
ダイアログボックスに画像とその説明のテキストのリストを載せたいのですが、
どのコントロールを使えば最適でしょうか?

239 名前:デフォルトの名無しさん mailto:sage [2007/05/30(水) 13:19:49 ]
さあ

240 名前:デフォルトの名無しさん mailto:sage [2007/05/30(水) 13:43:28 ]
>>238
ケースバイケース



241 名前:デフォルトの名無しさん mailto:sage [2007/05/30(水) 14:26:19 ]
ありがとうございます。
適当にやります。

242 名前:デフォルトの名無しさん mailto:sage [2007/05/30(水) 15:29:04 ]
使わないのが最適

243 名前:デフォルトの名無しさん mailto:sage [2007/05/30(水) 16:01:43 ]
初めまして、VisualC++2005のC++/CLI でフォームのすべてのイベントに反応させたいのですが、
そのようなイベントが見つかりません。
そのようなデリゲートはないのでしょうか?

244 名前:デフォルトの名無しさん mailto:sage [2007/05/30(水) 16:33:18 ]
メソッドだけどWndProcは?

245 名前:デフォルトの名無しさん mailto:sage [2007/05/30(水) 16:58:28 ]
HideCaret(static_cast<HWND>(this->textBox1->Handle.ToPointer()));
で、キャレットを非表示にすることまでは分かったのですが、常に非表示にするにはすべてのテキストのイベントで実行させなければなりません。
もっと効率よくキャレットを非表示にする方法はないものでしょうか?

246 名前:デフォルトの名無しさん mailto:sage [2007/05/30(水) 16:59:47 ]
またお前か

247 名前:デフォルトの名無しさん mailto:sage [2007/05/30(水) 17:11:25 ]
ご無沙汰しております。

248 名前:デフォルトの名無しさん mailto:sage [2007/05/30(水) 17:27:57 ]
ないだろ
どうせ普通はそんなこと誰もやらないし

249 名前:デフォルトの名無しさん mailto:sage [2007/05/30(水) 17:29:32 ]
サブクラス化してしまえ

250 名前:デフォルトの名無しさん mailto:sage [2007/05/30(水) 17:31:36 ]
テキストつかわなきゃいい



251 名前:デフォルトの名無しさん mailto:sage [2007/05/30(水) 17:34:25 ]
ウインドウズの電卓はテキストBOX使ってない

252 名前:デフォルトの名無しさん mailto:sage [2007/05/30(水) 17:51:14 ]
キャレットに用意されているマウスカーソルイメージを弄れば。

253 名前:デフォルトの名無しさん mailto:sage [2007/05/30(水) 17:57:34 ]
ShowCaret使わないなら同じこと

254 名前:デフォルトの名無しさん mailto:sage [2007/05/30(水) 20:20:18 ]
テキストボックスコントロールを自作すれば?

255 名前:デフォルトの名無しさん mailto:sage [2007/05/31(木) 00:22:57 ]
タイマーで監視しとけ。

256 名前:デフォルトの名無しさん mailto:sage [2007/05/31(木) 02:19:05 ]
>>255
プログラマーとしてそんな行為が許されると思っているのですか?

257 名前:62 [2007/05/31(木) 06:44:08 ]
目的:Windows アプリケーションを選択して
(現状選択できない)ビルド、実行したい!コンソールアプリケーションは選択可!

>>62 VC++2005EE VISTA Microsoft Platform SDK をインストールは
自分でぐぐったり、繰り返しやったことでなんか組み込むことができたようです!^^
原因はおそらくVC++2005EEを起動したままインストール作業を
したからだと思います!(たぶん!)原因がこんなことだったとは・・・><;

Windowsゲームを作るように Windowsアプリケーションで
キャラクターを表示させたい。必要と思ったためDirectX SDKもインストールしました!^^
DirectX Sample Brawserも見れす。Microsoft .NET Framework Version 2.0もOK!
参考サイト
freepg.fc2web.com/cpp/topic_vce_001.html
www.plustarnet.com/aspil/Programming/2d00.htm
www5b.biglobe.ne.jp/~u-hei/vcexpress_settings/
時間ばかりかかり、どうか・・・みなさまのお力を><;

258 名前:デフォルトの名無しさん mailto:sage [2007/05/31(木) 06:48:26 ]
>>257
何だ何だすごく読みづらいぞ

259 名前:デフォルトの名無しさん mailto:sage [2007/05/31(木) 06:51:19 ]
もうDestroyCaretで殺しチャイナYO

260 名前:デフォルトの名無しさん mailto:sage [2007/05/31(木) 06:51:41 ]
>>257
再インスコ



261 名前:257 [2007/05/31(木) 07:14:02 ]
>>258
読みやすくしたつもりですが・・・長文過ぎたか ><;
>>260
一応何回かやっています。どなたぞ宜しく願い^^
もう少し待ってつつ頑張ります。 ><;

262 名前:デフォルトの名無しさん mailto:sage [2007/05/31(木) 07:21:26 ]
いや長文じゃないし日本語じゃない

263 名前:257 [2007/05/31(木) 07:23:08 ]
>>262
すません><;

264 名前:デフォルトの名無しさん mailto:sage [2007/05/31(木) 09:46:34 ]
何がやりたくて、何をしたけど現状どうなってるのか

265 名前:デフォルトの名無しさん mailto:sage [2007/05/31(木) 10:01:25 ]
>すません><;
言葉を注意されてすぐにもこんな事書くのか。

266 名前:デフォルトの名無しさん mailto:sage [2007/05/31(木) 10:14:00 ]
><;

267 名前:デフォルトの名無しさん mailto:sage [2007/05/31(木) 11:32:31 ]
><;><;><;><;><;><;

268 名前:257 [2007/05/31(木) 11:43:11 ]
>>263
>何がやりたくて
Windowsアプリケーションで Windowsのゲームを作りたい!
よってWin32アプリケーションの生成と実行をしたい!
>何をした
VC++2005EE、Microsoft Platform SDK をインストールした
DirectX SDK、Microsoft .NET Framework Version 2.0 もインストールした
主にインストール設定以下の3つを参考にした
freepg.fc2web.com/cpp/topic_vce_001.html
www.plustarnet.com/aspil/Programming/2d00.htm
www5b.biglobe.ne.jp/~u-hei/vcexpress_settings/

>現状どうなっているのか
www5b.biglobe.ne.jp/~u-hei/vcexpress_settings/
のWindows アプリケーションのビルドのアプリケーションの設定の
アプリケーション種類でWindowsアプリケーションが選択できない
(コンソールアプリケーションのみ選択できる)
なのでWin32アプリケーションの生成と実行ができない
------------------------------------------------------
他にインストールや設定が必要なのでしょうか?前向きな意見を^^
OSはVISTAです。コンソールアプリケーションは作成できます
分かりにくかったらごめんなさい <(_ _)>

269 名前:デフォルトの名無しさん mailto:sage [2007/05/31(木) 11:46:04 ]
バカじゃねぇのw
そんな簡単な所で躓いてんのかよwww
既出も既出大既出

270 名前:デフォルトの名無しさん mailto:sage [2007/05/31(木) 11:49:13 ]
>>268
やっぱり、「現状どうなっているのか」は大事だね。

それで正常だよ。Win32アプリケーションを作りたかったら
もうちょっとこことか、他のサイトでも調べてごらん。



271 名前:デフォルトの名無しさん mailto:sage [2007/05/31(木) 11:50:42 ]
>>268
もっと具体的に何をしたか書いてみ。
例えば、AppSettings.htmはどう修正したとか。

272 名前:デフォルトの名無しさん mailto:sage [2007/05/31(木) 11:57:03 ]
で、コンソールアプリケーションを作成はしてみたのかな。
コンソールアプリケーション作成時に、ウィザードの選択肢はチェックしたのかな。

273 名前:257 [2007/05/31(木) 15:55:17 ]
>>269 どうもです^^
>>270>>271
>それで正常だよ >例えば、AppSettings.htmはどう修正したとか。
この意見は大きかったです <(_ _)> その辺を意識して再調査しました
>>272
コンソールアプリケーションも動かしてみます

意見を聞いて調べ実行した結果。種類でWindowsアプリケーションが選択できました(^_^)ノ
Googleキーワード 「Windows アプリケーション AppSettings.htm corewin_express.vsprops」
forums.microsoft.com/MSDN-JA/ShowPost.aspx?PostID=1351057&SiteID=7
を発見!それまでは秀丸で編集して反映されてOKと思っていたのですが・・・(AppSettings.htm)
メモ帳で開く反映されていない!え〜><;・・・ならばメモ帳で編集すればOKかと思ったのですが
反映されませんでした><;なんで〜T_T;意味分かりません><;・・・サイトの通りに
管理者権限でやるとうまくいきました・・・勉強します orz

多くのレス有難うございました。又何かありましたら宜しく願います。<(_ _)>

274 名前:デフォルトの名無しさん mailto:sage [2007/05/31(木) 16:01:10 ]
>>273
ExpressEditionはしばらくしたら爆発するから気を付けろ

275 名前:デフォルトの名無しさん mailto:sage [2007/05/31(木) 18:23:49 ]
現在のプロジェクトのフォルダを一発で開くような便利な技はありませんか?

276 名前:デフォルトの名無しさん mailto:sage [2007/05/31(木) 18:39:13 ]
ツール(T)->オプション(O)->環境->スタートアップ->スタートアップ時(P):
を、最後に読み込んだソリューションにする

277 名前:デフォルトの名無しさん mailto:sage [2007/05/31(木) 18:39:18 ]
開くって何で開くのさ

278 名前:デフォルトの名無しさん mailto:sage [2007/05/31(木) 18:42:25 ]
フォルダなら2発目ぐらいで開ける

279 名前:デフォルトの名無しさん mailto:sage [2007/05/31(木) 18:42:56 ]
愛で開くのさ

280 名前:デフォルトの名無しさん mailto:sage [2007/05/31(木) 18:48:41 ]
開く押したら開くけど



281 名前:デフォルトの名無しさん mailto:sage [2007/05/31(木) 18:57:35 ]
フォルダを開くって言ったらエクスプローラーで開くことなんだけど

282 名前:デフォルトの名無しさん mailto:sage [2007/05/31(木) 18:59:08 ]
>>275
ファイルを開くダイアログで十分操作はできると思うぜ。

283 名前:デフォルトの名無しさん mailto:sage [2007/05/31(木) 19:08:16 ]
    〃〃∩  _, ,_      
     ⊂⌒( `Д´) エクスプローラーじゃなきゃヤダ
       `ヽ_つ ⊂ノ          ヤダ
              ジタバタ


284 名前:デフォルトの名無しさん mailto:sage [2007/05/31(木) 19:09:51 ]
それくらい自分で作れやカス

285 名前:デフォルトの名無しさん mailto:sage [2007/05/31(木) 19:12:09 ]
馬鹿には無理だけど、ダイアログからエクスプローラは1発で開ける

286 名前:デフォルトの名無しさん mailto:sage [2007/05/31(木) 19:22:53 ]
ΩΩ <な、なんだってー!!

287 名前:275 mailto:sage [2007/05/31(木) 19:40:50 ]
ふっ・・・できたぜ・・・世話んなったな。アバヨ!!!!!!!!

288 名前:デフォルトの名無しさん mailto:sage [2007/05/31(木) 23:07:50 ]
 ___  見えませ〜ん
‖    |     ∨
‖現実 ∧_∧   .ヘ∧
‖ \ ( ・∀・) (゚A●)
|| ̄ ̄⊂   )  (   と)
凵    し`J   U U

 ___  読めませ〜ん
‖    |     ∨
‖空気 ∧_∧   .ヘ∧
‖ \ ( ・∀・) (゚A●)
|| ̄ ̄⊂   )  (   と)
凵    し`J   U U

 ___  知りませ〜ん
‖    |     ∨
‖常識 ∧_∧   .ヘ∧
‖ \ ( ・∀・) (゚A●)
|| ̄ ̄⊂   )  (   と)
凵    し`J   U U

 ___  ありませ〜ん
‖    |     ∨
‖未来 ∧_∧   .ヘ∧
‖ \ ( ・∀・) (゚A●)
|| ̄ ̄⊂   )   (  と)
凵    し`J   U U

289 名前:デフォルトの名無しさん mailto:sage [2007/06/02(土) 02:13:55 ]
WisdomSoftのWinAPI講座のメッセージボックスのページ、「文字列フォーマット」に倣って
#include <windows.h>

int WINAPI WinMain(HINSTANCE hInstance , HINSTANCE hPrevInstance ,
PSTR lpCmdLine , int nCmdShow ) {
CHAR chStr[128];

wsprintf(chStr , "インスタンスハンドル : %d" , hInstance);
MessageBox(NULL , chStr , TEXT("Kitty on your lap") , MB_OK);

return 0;
}
とやっているのですが、UNICODEでコンパイルしようとすると(勿論マルチバイトではコンパイルできます)
error C2664: 'wsprintfW' : 1 番目の引数を 'CHAR [128]' から 'LPWSTR' に変換できません。(新しい機能 ; ヘルプを参照)
指示された型は関連がありません。変換には reinterpret_cast、C スタイル キャストまたは関数スタイルのキャストが必要です。
error C2664: 'MessageBoxW' : 2 番目の引数を 'CHAR [128]' から 'LPCWSTR' に変換できません。(新しい機能 ; ヘルプを参照)
指示された型は関連がありません。変換には reinterpret_cast、C スタイル キャストまたは関数スタイルのキャストが必要です。
と型変換のエラーではねられます。
CHARをTCHARにしてみたり、とりあえず無闇にキャストしてみたりしたのですが、上手く行きません。
wsprintfをUNICODEでコンパイル通すにはどうしたら良いのでしょうか。


290 名前:デフォルトの名無しさん mailto:sage [2007/06/02(土) 02:32:38 ]
#include <windows.h>
#include <tchar.h>

int WINAPI _tWinMain(HINSTANCE hInstance , HINSTANCE hPrevInstance ,
LPTSTR lpCmdLine , int nCmdShow ) {
TCHAR chStr[128];

wsprintf(chStr , _T("インスタンスハンドル : %d") , hInstance);
MessageBox(NULL , chStr , _T("Kitty on your lap") , MB_OK);

return 0;
}



291 名前:289 mailto:sage [2007/06/02(土) 21:19:53 ]
>>290
あふ。wsprintfでもTEXTマクロ噛ませないといけなかったのですね。
情けなや……
どうもありがとうございました。

292 名前:デフォルトの名無しさん mailto:sage [2007/06/03(日) 17:20:11 ]
winnt.h内で
#define VOID void
typedef char CHAR;
typedef short SHORT;
typedef long LONG;
やら、
windef.hで
typedef int INT;
やら定義されていますが、これら大文字の型を用いる時(或いは用いることが望ましいとされている時)
はどのようなときでしょうか。
或いは過去or未来との互換性の為に存在するのでしょうか。
また、もしMSDNに参考となるドキュメントがあれば、それもお教え下さい。


293 名前:デフォルトの名無しさん mailto:sage [2007/06/03(日) 17:25:36 ]
apiの仕様にあわせやすい
将来仕様変更あってもいい

294 名前:デフォルトの名無しさん mailto:sage [2007/06/03(日) 18:40:41 ]
>>292
> 或いは過去or未来との互換性の為に存在するのでしょうか。
じゃねーか。

295 名前:292 mailto:sage [2007/06/04(月) 00:58:10 ]
>>293-294
解答ありがとうございます。
Win32App的には大文字で記述した方が将来的に互換性が維持されることが期待される、ということでしょうか。
サンプル漁ってもVOIDはたまに見かけますが、INTとかは今のところ見つけられていないので、現実にはほとんど利用されていない、のかな。


296 名前:デフォルトの名無しさん mailto:sage [2007/06/04(月) 01:09:12 ]
>>295
> 大文字で記述した方が
というわけではなく。
たとえばintのビット数が現在のコンパイラと違うものがあった場合(実際あるよ)、
直接INTを使うよりもtypedef されたものを使っていた方が移植が簡単。
typedefのところ1箇所を変えればいいのだから。
てなとこじゃないかと・・・・

297 名前:296 mailto:sage [2007/06/04(月) 01:09:58 ]
間違えた 「直接int」 ね。

298 名前:デフォルトの名無しさん mailto:sage [2007/06/04(月) 02:03:08 ]
あ、なるほど。訂正ありがとうございます。
コンパイラ側の設定(と呼んでいいのかな)としてintのビット数を将来的に変更しやすいようにしているわけですね。
どうもありがとうございました。

299 名前:デフォルトの名無しさん [2007/06/04(月) 07:28:27 ]
すいません質問があるんですが、ゲーム中に
visual c++ runtime library
runtime error
abnormal prpgram tarmination
っていうエラーが起こってしまいましてゲームが進まないのですが、どのように対処したらよいでしょうか?
ちなみにXPです

300 名前:デフォルトの名無しさん mailto:sage [2007/06/04(月) 07:44:58 ]
     凵@     ○   ∇ 、,、´`゙;~、  ';冫 ☆
           ┏  ━ゝヽ''人∧━∧从━〆A!゚━━┓。
 ╋┓“〓┃  < ゝ\',冫。’ 、 ._〃Ν ; ゛△│´' 'ゝ'┃...   ●┃
 ┃┃_.━┛ヤ ━━━━━━,/\.\━━━━━━━━━ .━┛
        ∇        //\\.\ 火、ヽ,,"∧.: .┨'゚,。
           .。冫▽ < //   \\.\ 十   乙  ≧   ▽
         。 ┃ . Σ、\.     \\|, 、\'’│   て く
           ┠ .ム┼\\.    /// ,,’.┼ ァΖ.┨ ミo'’`
         。、゚`。、   i/\,\// レ' o。了 、'’ ×  个o
        ○  ┃   `、,~´+√ ▽   ',!ヽ.◇    o┃
            ┗〆━┷ Z,.' /┷━''o ヾo┷+\━┛,゛;




301 名前:デフォルトの名無しさん mailto:sage [2007/06/04(月) 07:55:31 ]
>>299
作ったやつに文句言う。

302 名前:デフォルトの名無しさん mailto:sage [2007/06/04(月) 08:05:41 ]
>>299
OSがC++でできてるの知ってる?
そのエラーはね爆発予告なんだよ。
だから>>300の言うように今すぐPC投げ捨ててぶっ壊さないとダメなんだよ。
地球を滅ぼしたくないならね。

303 名前:デフォルトの名無しさん mailto:sage [2007/06/04(月) 08:16:57 ]
ウイルス

304 名前:デフォルトの名無しさん mailto:sage [2007/06/04(月) 08:55:47 ]
そのゲームをキミが作ったんじゃなけりゃ
そのゲームのスレかPC初心者あたりのスレで

305 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 13:02:24 ]
環境 WindowsXP
VisualStudio2005 VC++
文字セット UNICODE
目的 読み出したテキストと同じ内容を表示

//TCHAR szStrは外部のメモ帳で作成したテキストファイルから読み出し
//内容=>test.txt "テスト1234テスト"

int Len;
TCHAR buf[1024*64];

Len = MultiByteToWideChar(CP_ACP,0,(LPCSTR)szStr,-1,buf,0);
MultiByteToWideChar(CP_ACP,0,(LPCSTR)szStr,-1,buf,Len);

//違うのは当たり前だけど、いい方法が解らない
buf[(Len-1)/2] = '\0';
//Lenは27
//出力すると=>"テスト1234テストフフフ"

目的通りに元の文字列を表示させるにはどうしたらいいでしょうか?

306 名前:305 mailto:sage [2007/06/06(水) 13:42:57 ]
試行錯誤してたら出来ましたが、これで問題無いんでしょうか?
int buflen;
TCHAR buf[1024*64];
int len = _tcslen(szStr);

buflen = MultiByteToWideChar(CP_ACP,0,(LPCSTR)szStr,-1,buf,0);
MultiByteToWideChar(CP_ACP,0,(LPCSTR)szStr,-1,buf,buflen);
buf[buflen-len-1] = '\0';

307 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 14:20:44 ]
>>306
何がしたいのかわからん。
MultiByteToWideChar の戻り値をよく考えろ。
バッファサイズに0を指定した場合、ヌル終端も含めたバイと数が返ってこないか?
わざわざ '\0' を入れてるのは何で

308 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 14:22:11 ]
バイト数じゃないや、文字数ね

309 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 15:52:43 ]
>>305
test.txtの文字コードが定まっているのなら、
szStrはTCHARではなく、CHARやWCHARあるいはその他の大きさが変化しない型にすべき

310 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 20:29:20 ]
ビルドがUNICODEってことか?
改行文字を"\0\0"でやってみそ
ここのMultiByteはUTF16(エンディアンは忘れた)だからエスケプ文字も2バイト長だったかな
Sjis→Uni変換ならCP_ACPはNULLでもよかったような希ガス



311 名前:310 mailto:sage [2007/06/06(水) 20:32:13 ]
改行文字じゃないよ、EOFだよ俺('A`)

312 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 02:36:53 ]
phys.cool.ne.jp/physjpn/htextmetric.htm
このページに書いてあるGetCharABCDWidths関数の使用方法と必要なヘッダファイルを教えてください。
ググってもぜんぜんヒットしないんです。
なんかすごく便利そうなのに。

313 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 02:50:25 ]
ヤフれカス

314 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 03:04:00 ]
>>313
ヤフっても出てこないけど?
いいから教えてください。

315 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 03:11:23 ]
そんな簡単な事も分からんのに・・・

316 名前:デフォルトの名無しさん [2007/06/07(木) 03:25:47 ]
だからいいから早く教えろよ。
検索しても出てこないから聞いてるんだろうがよ。

317 名前:デフォルトの名無しさん [2007/06/07(木) 03:27:21 ]
なんなんだよ

318 名前:デフォルトの名無しさん [2007/06/07(木) 03:28:54 ]
全然寝てないのに加わってめちゃくちゃイラ回るな。
もったいぶらずに教えろよ。

319 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 03:28:55 ]
書いてあるやんw
日本語も分からんのか(´・ω・`)

320 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 03:30:09 ]
寝て起きたら分かるよ



321 名前:デフォルトの名無しさん [2007/06/07(木) 03:39:12 ]
GetCharABC”D”Widths って何だよ・・・。GetCharABCWidthsかよ・・・。
ひでーよなんだよ・・・。くそー。スマンカッタ


322 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 08:21:00 ]
包囲網かとオモタ

323 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 14:40:14 ]
\(^o^)/ワーイ

324 名前:デフォルトの名無しさん mailto:sage [2007/06/08(金) 23:16:35 ]
>>313
ググること自体が検索するの意味なので「ヤフれ」はおかしい。
大抵の用語集には「ググる」とはグーグルで検索することとあるがしかし、
これはグーグルが「勝手に名前を使うな」とちゃちゃを入れたことから始まる。
昔は「ググる」とは一般的に検索するという意味で使われていたのである。
そんな痛々しい策略に乗ってヤフれなど言うのは恥ずかしいことこの上ない。

325 名前:デフォルトの名無しさん [2007/06/08(金) 23:19:55 ]
ヤフれ

326 名前:デフォルトの名無しさん mailto:sage [2007/06/08(金) 23:37:13 ]
Googleがチャチを入れる前からヤフるも見受けられていた

第一Googleが問題にしていたのは、英語としてのgoogleで、
少なくとも日本法人は、日本語のググるを問題視していない
japan.cnet.com/news/media/story/0,2000056023,20209087,00.htm

327 名前:デフォルトの名無しさん mailto:sage [2007/06/10(日) 01:30:25 ]
ググレカスで初心者も含めてgoogleに流れるなら、
それはググルにとっても利点だろう

328 名前:デフォルトの名無しさん mailto:sage [2007/06/10(日) 07:12:56 ]
ググレカレ

329 名前:デフォルトの名無しさん mailto:sage [2007/06/10(日) 11:07:06 ]
Google独裁社会

330 名前:デフォルトの名無しさん mailto:sage [2007/06/10(日) 13:55:37 ]
ググルもいいけど、やふーもね



331 名前:デフォルトの名無しさん mailto:sage [2007/06/10(日) 19:34:13 ]
孫某というハゲがウザいので、アホーは使わない

332 名前:デフォルトの名無しさん mailto:sage [2007/06/14(木) 01:07:27 ]
書籍スレで評判がよかったので
「プログラマ養成入門講座 VisualC++ 山本信雄」
という本でVisualC++を学習しているのですが、
本で使っているソフトがVisualC++6.0で、当方2005でを使っているのですが
操作方が原型を留めていないのですよ。

VisualC++6.0はもう手に入らないのでしょうか?
もしくは手に入れる方法はないのでしょうか?



333 名前:デフォルトの名無しさん mailto:sage [2007/06/14(木) 01:22:19 ]
それだけの理由で6を使うくらいなら本を替えたら?
6はまだインストールされてるけど、2005使うともう使う気になれないな・・・

334 名前:デフォルトの名無しさん mailto:sage [2007/06/14(木) 02:11:30 ]
つーか、操作方法を本で勉強したからといってプログラマにはなれないわけだが。

335 名前:デフォルトの名無しさん mailto:sage [2007/06/14(木) 05:55:13 ]
やってることの意味が理解できてればバージョン違っても大丈夫なはず
付録のCDがついてると思うけど
サンプルをそんまんまビルドして動かしてみればいいと思う。

336 名前:332 mailto:sage [2007/06/14(木) 09:44:58 ]
>>333
三冊で約8000円ですよ。
今さら買いかえるなんてあんまりです。・゚・(ノД`)・゚・。
本にこんなに注ぎ込んだのは大学以来ですよ〜。。
ちなみに。、MFCが消えるって知ったのは最近です。

>>334
いやーでもビジュアル面は大事ですよ。
操作方法が判ってるとびびらなくなりまし。
会社でC#使ってるんですが、標準C#入門読み終わって。
VS.netみたらびびりましたもん、なんじゃこれ?って。。

>>335
あんましよく理解できてないかも。。
APIなんて触ったの初めてだし。
OSとかAPIとかの本読まなきゃダメなのかな orz



337 名前:デフォルトの名無しさん mailto:sage [2007/06/14(木) 10:34:34 ]
操作方法なんてその場でヘルプ見ればいい
本は言語関連だけ参考にすればいい

338 名前:デフォルトの名無しさん mailto:sage [2007/06/14(木) 13:01:11 ]
でも初心者は本があった方が助かることも事実
本買う金が惜しかったら、ネットで調べるしかないな

339 名前:デフォルトの名無しさん [2007/06/14(木) 19:45:04 ]
VC++2002
MFC7.0

フォルダを探してそのフォルダの中にテキストファイルを作成
すでにテキストファイルがあればテキストを追加
もしフォルダが存在しない場合フォルダを作成してからテキスト作成

テキスト作成はC言語のやり方でやろうと思っています
フォルダの作成でいいのがあれば教えてください

340 名前:デフォルトの名無しさん mailto:sage [2007/06/14(木) 21:23:06 ]
>>339
好きなのどぞ〜
複数階層を纏めて掘れるSHCreateDirectory/Exは、
残念ながらdeprecated扱いなので注意。

// C Runtime
_mkdir
system("mkdir ○○○")
// Win32
CreateDirectory/Ex // _mkdirかこれが無難か
SHPathPrepareForWrite // 一番楽?
// Automation
Scripting.FileSystemObject.CreateFolder // WSHでは標準的な方法
Shell.Application.NameSpace - Folder.NewFolder // マニア向け
// .NET
System.IO.Directory.CreateDirectory
System.IO.DirectoryInfo.Create
Microsoft.VisualBasic.FileSystem.MkDir // 昔のVBLoveな人向け
Microsoft.VisualBasic.FileIO.FileSystem.CreateDirectory



341 名前:デフォルトの名無しさん mailto:sage [2007/06/14(木) 22:39:56 ]
つ[system("/cygwin/bin/mkdir -p /foo/bar/baz")

342 名前:デフォルトの名無しさん mailto:sage [2007/06/15(金) 05:28:01 ]
MakeSureDirectoryPathExists

343 名前:デフォルトの名無しさん mailto:sage [2007/06/15(金) 15:22:59 ]
すみません教えてください

ExecuteSQLでテーブルにInsertする際
データにダッシュ(―)が入っていた場合
実行後にテーブルを見てみると―が?に
変換されています。どうしたらよいのでしょうか?

344 名前:デフォルトの名無しさん mailto:sage [2007/06/15(金) 15:28:09 ]
―って、SJISで815Cだけど、エンコードの指定は問題ない?

345 名前:デフォルトの名無しさん mailto:sage [2007/06/15(金) 15:35:20 ]
回答ありがとうございます

プロジェクトの文字セットはUNICODEにしています
文字列もwchar_t型で扱っていますがそういう意味では
ないのでしょうか?

346 名前:デフォルトの名無しさん mailto:sage [2007/06/15(金) 15:53:38 ]
えーと、ファイルから読んでるのかどこから読んでるのかによるし
問題がどっちにあるのか切り分けできない?
環境(と、バージョン)がわかればもうちょっと何とかなるかもよ

347 名前:デフォルトの名無しさん mailto:sage [2007/06/15(金) 16:41:22 ]
申し訳ありません。
OS環境:WinXP SP2
開発環境:VS2005 MFC使用

DBはSQLServerで構築しました。
データはただ単にダイアログのエディットに
入力された文字をSQL文と連結しています
(どちらもCString型です)

348 名前:デフォルトの名無しさん mailto:sage [2007/06/15(金) 17:15:14 ]
問題あるコードの一つみたいだな。
ttp://www.fiberbit.net/user/hobbit-t/html/utf8.html
ここに出てる文字を片っ端から試してみて

349 名前:デフォルトの名無しさん [2007/06/20(水) 18:07:59 ]
アクセラレータ(ショートカット)をエクセルみたいな一覧表にしたいのだけど
ツールとかないかしらん?

350 名前:デフォルトの名無しさん mailto:sage [2007/06/20(水) 18:52:40 ]
>>349
***.rcファイルをコピーして、拡張子をcsvに変え、必要なとこだけコピーペーストする。
とかではダメか?



351 名前:デフォルトの名無しさん mailto:sage [2007/06/21(木) 13:59:26 ]
>>350
rcにあったのねん
サンンクス

352 名前:デフォルトの名無しさん [2007/06/21(木) 14:01:29 ]
サンンクス

353 名前:デフォルトの名無しさん mailto:sage [2007/06/22(金) 03:11:00 ]
質問です
現在、複数のプロジェクトでリソースファイルを共有しています。
リソースファイルに複数のバージョン情報リソースを定義し、実行している
EXEによって表示するバージョン情報を変えたいと思っているのですが、
どうやったら異なるバージョン情報リソースのデータを取得するかが分かりません。
EXEファイルからリソース情報を取得する方法はよく見かけるのですが
リソースファイルから取得する方法はなぜかありませんでした。
ご教授をお願い致します。


354 名前:デフォルトの名無しさん mailto:sage [2007/06/23(土) 00:16:36 ]
質問です。
VC2005で作成されたプロジェクトファイルを
2003でも開けるように、変換してくれるような
ツールってありませんか?



355 名前:デフォルトの名無しさん mailto:sage [2007/06/23(土) 01:28:16 ]
自分でスクリプトでも書けば?
事実上、バージョン番号書き換えるだけでしょ。

356 名前:デフォルトの名無しさん mailto:sage [2007/06/23(土) 12:04:11 ]
メモ帳で十分だった気がする

357 名前:デフォルトの名無しさん [2007/06/24(日) 13:42:42 ]
コンパイルしたら

------ ビルド開始: プロジェクト: saiki, 構成: Debug Win32 ------
コンパイルしています...
WinMain.cpp
.\WinMain.cpp(5) : fatal error C1083: include ファイルを開けません。'windows.h': No such file or directory
kooh2.cpp

というエラーが出たんだが、どうすれば解決できるの?
超初心者にもわかりやすい説明希望。

358 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 14:02:06 ]
WindwosSDKをダウソ・インスコして、INCLUDEとLIBを設定する。

これで判らないなら、VisualStudio2005 StandardEdition Upgradeを
買ってインスコしとけ。

359 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 14:36:29 ]
教えてください。
CTest クラスのInit()というメンバ関数を、複数のスレッドがコールします。
しかし、Init()関数の中には一度だけしか行ってはいけない処理があります。
(実装ライブラリの初期化処理)

どうすれば、実現できるのでしょうか?

360 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 14:39:07 ]
>>358
ダウンする以外の方法はないの?
うちのパソ、ダウンにかなりの時間かかるからそれだとできないのだが。



361 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 14:41:58 ]
じゃあStd版買えばいいじゃん。

362 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 14:42:47 ]
自分でwindows.h書けばいいと思うよ。

>ダウンする以外の方法はないの?
>VisualStudio2005 StandardEdition Upgradeを
買ってインスコしとけ。

363 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 14:45:19 ]
>>361
Stdがなんなのか知らないけど、それ以外の方法はないの?

364 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 14:46:29 ]
じゃあダウンすればいいじゃん。

365 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 14:47:05 ]
>>363
向いてないからプログラミングやめる

366 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 14:47:14 ]
ダウンも購入もしない方法はないの?

367 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 14:47:53 ]
WindowsSDKは郵送でも送ってくれるよ
www.qmedia.ca/launch/psdk.htm

368 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 14:51:04 ]
了解しました。もっと勉強して出直して参ります。

369 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 16:00:22 ]
>>359
そいつは実装の問題だな。

色々やり方あるけど
とりあえず CriticalSection あたりを利用してみれ
# 当然コレだけじゃ出来んぞ


まぁそもそも、全体的な構成が悪い気もするけど。

370 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 16:18:38 ]
>>369
ありがとうございました。調べてみます。



371 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 22:48:53 ]
ダウンにかなりの時間って、まさか今時アナログとかISDNとか言うんじゃないだろうな
ADSLなら余裕だろ

372 名前:ちんこ mailto:sage [2007/06/24(日) 22:58:23 ]
ダイヤルアップでちゅ

373 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 23:26:25 ]
音響カプラーでふ。

374 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 23:32:59 ]
脳内電波でちゅ

375 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 10:08:31 ]
伝書鳩

376 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 13:50:34 ]
矢文

377 名前:デフォルトの名無しさん [2007/06/25(月) 14:58:11 ]
>>355
それは本当か?

378 名前:デフォルトの名無しさん [2007/06/25(月) 21:44:01 ]
助けてくれ〜。
当方初心者、Windows XP、Visual Studio 2005使用。
簡単なウィンドウアプリを書いて無事ビルドできたんだが、
いざ実行しようとしたら
「'C:\WINDOWS\system32\ほにゃらら.dll'を読み込みました。
シンボルが読み込まれていません」というメッセージがずらーってできた。
今まで同じようなアプリは普通に実行できたのに。
俺何もしてないはずなのになぜ、ひねくれるの?おしえておじいさん。

379 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 21:45:31 ]
気にするな。

380 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 21:45:40 ]
ググレカス。お前より年下の方が多そう



381 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 21:55:04 ]
help me お兄さん。
同じく初心者、WinXP VisualStudio2005使用。
フルスクリーンのウィンドウを表示してbmpを全画面に貼り付けようといじっててフルスクリーンのウィンドウは出るんですが、
全くいじらずデバッグ開始しているにも関わらず、bmpがキチンと画面全体に描画される場合と下に空白ができる場合があって悩んでます。
ちょっと曖昧過ぎて答えにくいかもしれませんがお願いします。

382 名前:デフォルトの名無しさん [2007/06/25(月) 22:46:00 ]
main関数がないだけであたふたする僕

383 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 22:51:31 ]
>>377
違うの?

384 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 01:27:54 ]
>>381
もちろんWM_PAINTのタイミングで描画してるよな。

385 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 01:42:35 ]
>>384
してます・・。

386 名前:381 mailto:sage [2007/06/26(火) 02:42:06 ]
>>384
すみません、できているとは思うんですが自信がなくなってきたので質問・・。
それができていなかった場合>>381で書いたような不安定な不具合が起こるんでしょうか?

387 名前:デフォルトの名無しさん [2007/06/26(火) 02:42:21 ]
>>381
ちょっと曖昧過ぎて答えにくいな。

388 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 03:14:45 ]
そんなに長いソースじゃないし
どこにでもあるようなものだろ?
全部上げるか問題部分だけ上げれば?

389 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 09:40:32 ]
下の空白ってなんだ?
タスクバー分?

390 名前:378 mailto:sage [2007/06/26(火) 13:37:30 ]
解決しました〜。Ctrl+F5ってすればいいんだな。
>>379
教えてくれてありがとう、おじいさん。
>>380
孫娘に「口笛はなぜ〜♪」って聞かれて「自分で調べろカス!」って、
おまいに人の心はないのか。・゚・(ノД`)・゚・。



391 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 13:59:09 ]
孫など出来るのは後何十年以上掛かる
孫娘でも知ってるような事を分からなくて孫娘に聞くって、
おまいはどんだけ〜。・゚・(ノД`)・゚・。

392 名前:デフォルトの名無しさん [2007/06/26(火) 15:43:02 ]
マルチスレッドでclock関数を使っても大丈夫しょうか?

393 名前:デフォルトの名無しさん [2007/06/26(火) 17:12:50 ]
ちょっとスレ違いかもしれませんが
Visualstudio6.0を入れてるPCに2005Expressを入れてしまったのでアンインストしようと思うんですが
普通に2005をアンインストしても6.0の動作に問題はありませんか?

394 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 18:14:55 ]
うん

395 名前:381 mailto:sage [2007/06/26(火) 19:25:52 ]
帰宅しました。
空白はタスクバー分の空白だと思います。

396 名前:381 mailto:sage [2007/06/26(火) 21:23:35 ]
長々とすみません、再描画処理を入れたらなんとか全画面化できました。
何故再描画入れないとタスクバー分空白ができるのか結局分からず仕舞いでしたがありがとうございました。

397 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 06:55:41 ]
そんなこったろうと思ったよ

398 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 16:41:40 ]
空白ができるときとできないときで、描画範囲の数字が違ってると思うんだけど
GetClientRectあたりで取ってきてんのかな

399 名前:sage [2007/06/27(水) 23:38:35 ]
VC++6で作ったプロセスをWindowsのクラスタサービスの
汎用アプリケーションリソースにしています。
最近Windows2000からWindows2003にOSをアップグレードしたところ、
プロセスのオフライン時にデバッガが起動して、
オフラインに失敗する事象が頻発するようになってしまいました。
デバッガを見てもアセンブリが読めないため、難儀しております。
このような場合、考えられる問題は何がありますでしょうか。

400 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 23:41:29 ]
>考えられる問題は何がありますでしょうか。
名前欄にsageと書くバカらしさ



401 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 00:46:16 ]
ソースとpdbもちこんでは

402 名前:デフォルトの名無しさん [2007/06/28(木) 02:09:28 ]
プログラム経験ない管理部門ですが、突然C++使えるようになれと命令
されたんですが、独学で可能ですか?いろいろ調べるとC言語が理解して
いないと無理なように思えたんですが。

403 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 04:30:21 ]
>>402
独学も可能だしC言語の知識がなくてもわかると思うけど…
でもやっといてもいいんじゃないかな?

404 名前:デフォルトの名無しさん [2007/06/28(木) 08:09:23 ]
>>402
基本的にCからやったほうがいいと思いますが
センスがあればC++でも問題ないと・・・
しかし初心者にはC++は難しい
自分は入りやすいように
DXライブラリというサイト利用してゲームを作っています。
グーグル検索してみて〜
後は本を買ったりして基本と必要なことだけを覚えていくこと

405 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 09:00:39 ]
>>402
よし、替え玉2号の俺に任せろ!

406 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 13:14:59 ]
どこまでやるかによるけど…
プログラム経験ないんだろ?
変数とは何か、配列とは何か、演算子とは何かからはじめるわけだ。

使えるようになれと命令されたってことは猶予はせいぜい1ヶ月くらいか?
もう無理と断言していいんじゃまいか。

407 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 13:39:02 ]
そうでもない

408 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 13:39:03 ]
もう不要と断言されたようなもの?402カワイソスw

409 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 14:06:25 ]
>>402
上司に俺を紹介すればいいと思うよ

410 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 18:43:32 ]
>>402
別にたいしたことやるわけでもないなら余裕だろ
ポインタやらビット制御やらまでくると理解が難しいだろうが



411 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 20:36:10 ]
復習をしようと思ってとても簡単そうな
#include "stdafx.h"
#include <stdio.h>
void main()
{
int a,b,wk;
scanf("%d,%d",&a,&b);
wk=a;
a=b;
b=wk;
printf("a=%d b=%d\n",a,b);
}
を試してみたのですがaとbを入れ替えるプログラムがうまく動きません。
写し間違いはないと思うのでが何が原因なんでしょうか

412 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 21:14:57 ]
ここVCスレなんだしデバッガ使って自分で調べりゃいいだろ

413 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 21:30:28 ]
入力でミスってるに1票。

414 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 21:40:34 ]
C初心者スレへ行った方がいいと思うよ

415 名前:デフォルトの名無しさん mailto:sage [2007/06/30(土) 12:47:13 ]
BSTR型ってサイズの制限とか無いですよね?
Base64でエンコードされたファイルをBSTR型文字列で受け取ることになっているんですが、
メモリの許す限り何MBでも入りますよね?

416 名前:デフォルトの名無しさん mailto:sage [2007/06/30(土) 16:34:38 ]
有ります。

417 名前:デフォルトの名無しさん mailto:sage [2007/06/30(土) 16:40:51 ]
A four-byte integer
理論上は終了文字含まないで4GBだな。
バイナリ換算だと1GBか。

418 名前:417 mailto:sage [2007/06/30(土) 16:43:53 ]
Win32だとUTF-16だから、文字数はその半分、
バイナリ換算すると512MBだった…… orz

419 名前:デフォルトの名無しさん mailto:sage [2007/06/30(土) 17:21:59 ]
何で限界バイト数が減るのか理解できん。

#Win32ではまず連続1GBもメモリは確保できないけど。

420 名前:417 mailto:sage [2007/06/30(土) 21:03:50 ]
Base64の一文字当たりの情報量は6ビットだから、バイナリ変換すると3/4、
4GBytes => UTF-16:2G => 1.5GBytes だろ、常識的に考えて。

ごめん、今日はボケてるみたいだ orz



421 名前:デフォルトの名無しさん mailto:sage [2007/06/30(土) 21:07:37 ]
いつもじゃね?

422 名前:デフォルトの名無しさん mailto:sage [2007/06/30(土) 22:45:44 ]
>>415
>>417-420が4バイトといっているのは、
BSTRの先頭の文字列の長さを格納する部分の大きさを根拠にしている。
Win64でもこの大きさは変わっていない。

あと、言ったところでどうにもできないとは思うけど、
BSTR自体は直接バイナリデータを扱えるようにもなっている。

423 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 00:04:06 ]
残念ながら、BSTRは例え64bitWindowsでも2^32-1バイトをサポートしていない。
最大は2^29バイトとなるように実装されている。

BSTRは別段UNICODE
(これはM$が勝手に決めたUNICODEであって、本来はいわゆるUTF-16に準拠したもの)を
格納するためではない。その気になればEUCだって代入できる。
現に>>422も単なるバイナリデータとして扱えると言っている。

ところが、少なくともVB6のCComBSTRのメンバ関数は、2バイト文字を扱うように実装されおり、
かつ、null-terminal文字列として扱っている。
BSTRはどんな文字セットでも扱えるとM$は称しているが、実際のところ安全なプログラムを組むには
UTF-16以外は代入しない方がいいと考えていい。

そして、文字列のバイト数は2^29-2であって、文字列は2^28-1文字(最後は`\0')しか代入できない。

ちなみに、Windows95系と互換性を持たせたかったら、4095バイトを限界にした方がいい。
うろ覚えだが、確かメガバイト単位までは実装されてなかったはず。

424 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 00:08:59 ]
>VB6のCComBSTR
>null-terminal文字列
ここは突っ込むところなのだろうか。

425 名前:423 [2007/07/01(日) 00:16:16 ]
>>424
よく突っ込んでくれた!といいたいところだが、単なるミスです。
当方チューハイ4杯入ってますので。

426 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 00:26:40 ]
SysAllocStringの
> zero-terminated string to copy. The sz parameter must be a Unicode string
>in 32-bit applications, and an ANSI string in 16-bit applications.
についてはどう考える?
まあ、インターフェースと内部実装でコードが違ってる場合もあろうけど。

427 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 00:52:36 ]
>>426
非ヌル終端の文字列でBSTRを初期化したければSysAllocStringLen。
バイナリデータでBSTRを初期化したければSysAllocStringByteLen。

428 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 00:56:28 ]
>The sz parameter must be a Unicode string
こっちのほうだけど。

429 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 11:06:09 ]
ありがとうございます。
まとめると、データがBase64文字列の最大100MB程度で
OSがWinNT系なら、何も考えずにBSTRに格納できるということでしょうか。
ただ、格納されるBase64文字列はUTF-8かSJISのどちらか(未確認)です。
Base64文字列データを返値として提供してくれる関数の返値の型がBSTRになっているのですが、
そのまま格納してはまずいのでしょうか…。
CStringに入れれば大丈夫だったり?


上の関数はライブラリで提供されてるので中身の実装は分からないのですが、中で
返値をBSTRに格納してるのなら一緒じゃないかと思ったり

430 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 11:28:49 ]
>>429
それくらいだったら平気だろう。



431 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 14:12:29 ]
VC++2005ってC99コンパイルできますか?

432 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 14:20:09 ]
いいえ。

433 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 23:41:20 ]
VisualStudio2005でC++のライブラリの追加がうまくいきません
ツール>オプション>プロジェクト及びソリューション>VC++ディレクトリ でインクルードファイルとライブラリファイルのところに
追加してるんですがうまくいかない場合は他にどこに気をつけるべき?

434 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 23:45:49 ]
プロジェクトに追加しろよ

435 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 00:04:06 ]
>>434
しょっちゅう使うつもりなんでできるだけ環境に入れときたいんですが……

436 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 00:22:21 ]
ライブラリをインクルードファイルに追加する分際で何言ってんの?
だからプロジェクトに追加しないとリンクされねぇっつーの。
プロジェクトなりソースでファイルをリンクするように設定しろや
環境にPATHを入れるのは自由だ

437 名前:デフォルトの名無しさん [2007/07/02(月) 00:53:23 ]
visual C++ 2005 をインストールしようとしているのですが、
登録しなければインストールできないのですか?

www.microsoft.com/japan/msdn/vstudio/express/visualc/

438 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 00:56:45 ]
ううん

439 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 08:56:42 ]
>>434,>>436
なんだい、えらそうに。このタコが。

440 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 09:15:15 ]
うまくいかないで考えが終わってるから
うまくいかないんだろう
猿の方が賢いかも



441 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 10:26:55 ]
VC++なら、提供するincludeファイルに、#prafma comment(lib, "xxx.lib")
をつけときゃ、あとはディレクトリの指定だけしときゃいい

442 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 19:12:19 ]
自作のクラスやメソッドをインテリジェンスで表示させるときに
コメントも一緒に表示できるようにならないかねぇ・・・
俺が知らないだけかもしれないけど・・・

443 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 20:26:37 ]
New C++ Language Features - XML Documentation
に何か書いてあるっぽい。C#のXMLドキュメントコメントと似たようなものか?
でも、読むの('A`)マンドクセ

444 名前:デフォルトの名無しさん [2007/07/02(月) 23:10:07 ]
>>441
いや、どうせなら

#prazma

ディレクティブの方が多少面白かったのに。

445 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 23:45:21 ]
タブブラウザを作りたくて、手始めにタブ表示を実装しようと

ttp://www.kumei.ne.jp/c_lang/sdk3/sdk_206.htm

を参考に作ってみたのですが、

ttp://www.dsnw.ne.jp/~yasushi/donutr.jpg

のページ切り替え用タブのような、タブ同士の間にセパレータが
入った格好良いタブ表示にするにはどうしたらよいのでしょうか?

446 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 00:02:42 ]
タブに普通にあるスタイルに見えるけど

447 名前:デフォルトの名無しさん [2007/07/03(火) 00:13:30 ]
>>445
www.kumei.ne.jp/c_lang/sdk3/sdk_206.htm
の先頭に

> さらにこのプログラムではタブコントロールから TCS_EX_FLATSEPARATORSスタイルを取り除いて
> タブとタブの境界線を描画しないようにしています。

と書いてあるけどこれとはまた別のこと?

448 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 00:31:40 ]
>>446-447
dwStyle &= ~TCS_EX_FLATSEPARATORS;

の行をコメントアウトしたらできました。

大変下らない質問でスレを汚してしまい、
申し訳ありませんでした。

ありがとうございました。

449 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 03:44:25 ]
ちょっと待て。それかっこいいのか?

450 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 07:26:00 ]
>>449
まあまあ、主観の話なんだからケチ付けない。








[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

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

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