★初心者にVisual C++ ..
310:デフォルトの名無しさん
07/10/11 21:18:49
>>309
ああごめん。>>308の方法は、値クラスか参照クラスにしか使えない。
もし、ネイティブクラスの非静的メンバ関数を別スレッドで実行したければ、
マネージクラスでラップするか、CRTの_beginthreadexを使う必要がある。
311:307
07/10/11 21:54:57
>>310
マネージクラスでラップ(クラスにrefをつけた)ら、
コンパイルが通り、正常に動作しました。
beginthreadexについては調べてみます。
ありがとうございました。
312:デフォルトの名無しさん
07/10/11 23:19:26
マネージドとか、最近妙なモンが出てきやがって。。
313:デフォルトの名無しさん
07/10/11 23:21:23
もう最近でもないような。
314:デフォルトの名無しさん
07/10/11 23:21:37
:::::::::::::::::...... ....:::::::゜::::::::::.. (___ )(___ ) ::::。::::::::::::::::: ゜.::::::::::
:. .:::::。:::........ . .::::::::::::::::: _ i/ = =ヽi :::::::::::::。::::::::::: . . . ..
:::: :::::::::.....:☆彡:::: //[|| 」 ||] :: ::::::::::::::
:::::::::::::::::: . . . ..: :::: / ヘ | | ____,ヽ | | :::::::::::.... .... .. .::::
::::::...゜ . .::::::::: /ヽ ノ ヽ__/ ....... . .::::::::::::........ ..:
:.... .... .. . く / 三三三∠⌒>:.... .... .. .:....
:.... .... ..:.... .... ..... .... .. .:.... .... .. .... . .... . ..... .... .. ..... ............. ..
:.... . ∧∧ ∧∧ ∧∧ ∧∧ .... .... .. .:.... .... ..... .... .
... ..:( )ゝ ( )ゝ( )ゝ( )ゝ デテキヤガッテ・・・.
.... i⌒ / i⌒ / i⌒ / i⌒ / .. ..... ...................
.. 三 | 三 | 三 | 三 |
... ∪ ∪ ∪ ∪ ∪ ∪ ∪ ∪
315:デフォルトの名無しさん
07/10/11 23:40:59
おまえらあんなC++もどき使うのやめちまいな!
316:デフォルトの名無しさん
07/10/11 23:53:51
誰も使ってないような。
317:デフォルトの名無しさん
07/10/12 00:16:45
C#やVBなんかよりは全然いいがなw
318:デフォルトの名無しさん
07/10/12 09:42:10
リストビューで選択されているすべての項目のインデックスをしらべるにはどうしたらいいんですかね?
なんか
GetFirstなんたらの後に、GetNextなんたらをやってもうまくいかなかったのですが…
319:デフォルトの名無しさん
07/10/12 09:46:09
LVIS_SELECTED
320:デフォルトの名無しさん
07/10/12 09:48:08
>>318
じゃあお前にはムリだ。
321:デフォルトの名無しさん
07/10/12 16:24:12
>>318
CListCtrl::GetFirstSelectedItemPositionのサンプルコードをよく見直せ。
それでも判らないならコードupしる。
322:デフォルトの名無しさん
07/10/12 18:53:49
コンストラクタはオブジェクトの初期化処理を行い
デストラクタはオブジェクトの終了処理を行う
というのは、どういった場面で使われるのですか?
いまいち理解出来ないです
323:デフォルトの名無しさん
07/10/12 19:04:54
コンストラクタは最初に呼ばれて、デストラクタは最後に呼ばれるだけ
利用方法がわからなかったら無理に使わなくてもかまわない
324:デフォルトの名無しさん
07/10/12 19:34:34
>>322
デストラクタは、freeのような使い終わった後に呼ばないといけない解放処理を書く。
例えばstd::auto_ptrが内部に保持しているポインタをdeleteしたり、
ATL::CHandleはCloseHandleしたりなどという具合。
コードがスッキリするし、例外が投げられたときでも確実に資源が解放されるのがいい。
325:デフォルトの名無しさん
07/10/13 09:06:01
>>322
オブジェクトを作るときに
メンバ変数の値を動的に初期化するときとかにコンストラクタを使う
たとえばある時はメンバ変数をAで初期化したいけど
別の時にはBで初期化したいようなとき。
っていうのがまだまだ初心者な俺の理解です。
たとえば
class obj {
char test;
public:
obj(char ch) { test = ch; }
};
obj testobj('A');
っていう感じかなぁ
あとは動的にメモリを確保する必要があるときとか。
クラスのこともっと勉強していけばわかってくるよ。
326:デフォルトの名無しさん
07/10/13 09:28:46
コンストラクタ=母
デストラクタ=嫁
327:デフォルトの名無しさん
07/10/14 12:45:49
環境XP professional SP2
Microsoft Visual C++ 2005 Express Edition(MSからダウンロードしてます)
SDKインストールすみ(MSからダウンロードしてます)
cppファイルとdefファイルをビルトしたいのですが
以下のメッセージがでてビルトできません。
------ ビルド開始: プロジェクト: aaaaaa32, 構成: Debug Win32 ------
コンパイルしています...
aaaaaa.cpp
c:\documents and settings\administrator\my documents\visual studio 2005\projects\123ler\aaaaaa.cpp(1) : fatal error C1083: include ファイルを開けません。'windows.h': No such file or directory
ビルドログは "file:\\c:\Documents and Settings\Administrator\My Documents\Visual Studio 2005\Projects\123ler\Debug\BuildLog.htm" に保存されました。
aaaaaa32 - エラー 1、警告 0
========== ビルド: 0 正常終了、1 失敗、0 更新、0 スキップ ==========
というメッセージがでて ビルドできません
どうも設定の段階でつまずいているようなのですが
また、ここに参考になりそうなコメントをみつけたのですが
どこの設定がまちがえているのかが よくわかりませんでした。
URLリンク(forums.microsoft.com)
どなたかエラーを解決する方法をおしえていただけないでしょうか?
よろしくお願いします。
328:デフォルトの名無しさん
07/10/14 12:59:49
>>327
想像だが、標準ファイル名をダブルクォーテーションで囲んでいるのではないか?
×#include "windows.h"
○#include <windows.h>
329:デフォルトの名無しさん
07/10/14 13:18:33
Expressの場合は何かのファイルを自分で編集しなきゃいけなかったような
330:デフォルトの名無しさん
07/10/14 13:21:03
URLリンク(www.microsoft.com)
とりあえず、手順3は済んだの?
331:デフォルトの名無しさん
07/10/14 22:27:56
327です
328さん、329さん、330さん ご返事ありがとうございます。
手順3というのが よくわからなくて、
(いきなり オプションとかかれても 初心者にはどこにあるかすぐには
わかりませんでした)(メニューから オプションとかいてくれるといいかも)
いろいろと 試行錯誤して やっと意味がわかりました
Executable ファイル
Include ファイル
Library ファイル
のボタンが 右側上に あるのが やっとわかりました。
あと当方のバージョンでは そこも日本語に翻訳されており(カタカナもあり)
それで 上からそれぞれのパスを設定したら うまくいきました。
フォルダをクリックしパスの本文をダイレクトに入力するんですね(^ ^;)
(アイコンの意味も、私には わかりにくかったです)
この理解のために、Visual C# 2005の本(秀O)も買ったのですが
少しバージョンが違うようですね。(2006年8月第1版)
ここでのつまずきに かなりの時間をついやしました。
ほんとにありがとうございました。(^ ^)
このあと、日付を変更して、別なテスト(実験)をやっていたら
Microsoft Visual C++ 2005 Express Editionがうごかなくなってしまいました
(今朝インストールしなおしたばかりなのに)
(これも承認しないといけないんですね)
332:デフォルトの名無しさん
07/10/14 22:38:37
あほすぎ
C++とC#は別物
オプションなんてたいていツール→オプション(設定)でどのソフトも同じ
Windowsは初めて?
その程度の知識でプログラムを作る側のアプリを触るのはやめて下さい。
333:デフォルトの名無しさん
07/10/14 22:40:33
どうい
334:デフォルトの名無しさん
07/10/14 23:07:08
ずぶの素人に本気になって相手できるお前らがうらやましい。
まるで泣いている赤ん坊に「日本語しゃべれねぇヤツは日本人じゃねぇよ!」
ってマジ切れしてる大人のようであります。
335:デフォルトの名無しさん
07/10/14 23:09:33
やれやれ
どこに本気になっている人がいるんでしょうか?
赤ん坊に自分の見合った事をやりなさいと諭してるだけでしょ。
336:デフォルトの名無しさん
07/10/14 23:46:23
> どこに本気になっている人がいるんでしょうか?
いないなら問題ないです^^
337:デフォルトの名無しさん
07/10/14 23:49:35
VC2005EE+SDKを最初に手に取った赤ん坊には拍手を送りたい。
VC#と間違ってVC落としたのなら別だけど...
338:デフォルトの名無しさん
07/10/15 03:44:06
#と++を見間違えたのだろうか。
それとも本当にばかなんだろうか。
339:デフォルトの名無しさん
07/10/15 06:14:13
初心者のちょっとしたあやまちだろう。
おまえらが、パソコンに初めて触ったときのことをよく
思いだして見ろよ、ハゲ。
340:デフォルトの名無しさん
07/10/15 06:51:30
思い出した!うーんそんな間違いはしなかったなぁ。うん。
341:デフォルトの名無しさん
07/10/15 08:10:33
HOW MANY PAGES の意味が解りませんでした(><)
342:デフォルトの名無しさん
07/10/16 17:28:52
How many files(0-15)?がどうかしたって?
343:デフォルトの名無しさん
07/10/16 17:30:51
VC++はcl.exeとデバッガだけ使うようにしてさ
エディタはemacsとかvim使おうぜ
その辺の初心者の10倍の速度で上達するよ☆(ある意味で)
344:デフォルトの名無しさん
07/10/16 17:38:20
たまに現れるけど何がしたいの
345:デフォルトの名無しさん
07/10/16 18:26:42
Vimと言えば、初心者向けに操作方法を説明しているサイトは多いが、
始めにQuickFixコマンドの説明を含めている所は見たことが無いな。
名前付きバッファなんざ覚える暇があったら、:cwだけでも覚えるべきだ。
346:デフォルトの名無しさん
07/10/16 22:10:04
もぅ…訳がわからん
MFC使うためにオブジェクト指向プログラミングを勉強してるが、
静的メンバ変数とか、メンバイニシャライザだとか、訳がわからなくなってきた、
347:デフォルトの名無しさん
07/10/16 22:13:53
今時MFC使うなんてバカじゃねぇのw
348:デフォルトの名無しさん
07/10/16 22:18:53
>>347
今は何を使うんですか?
349:デフォルトの名無しさん
07/10/16 22:19:30
ナウなヤングに今のトレンドを教えてください。
350:デフォルトの名無しさん
07/10/16 22:24:59
.NET?
だけど俺はあえてATL/WTLを選ぶぜ!!
351:デフォルトの名無しさん
07/10/16 23:02:35
>>346
MFCには魔物が潜んでいる。
ヤツは必ずキミを破滅に導いてくれる。
もはやマイクロ・ソフトさえ見捨てたMFCを、なぜ今更?
352:デフォルトの名無しさん
07/10/16 23:18:53
Googleさんが言うには
vc mfc の検索結果 約 1,950,000 件中 1 - 10 件目 (0.06 秒)
vc wtl の検索結果 約 225,000 件中 1 - 10 件目 (0.05 秒)
vc c++/cli の検索結果 約 1,510,000 件中 1 - 10 件目 (0.13 秒)
C++/CLIが意外と多いのに驚いた。
353:デフォルトの名無しさん
07/10/16 23:23:29
それ、vcとc++とcliで検索がかかってないの?
354:デフォルトの名無しさん
07/10/16 23:26:01
>>353
ぐぐれwww
355:デフォルトの名無しさん
07/10/16 23:29:52
MFCってさ、文字列だはSTLに比べて格段に扱いやすいんだよな。
ただそれだけ。それだけなの。
深みにハマれば人生を棒に振るだけだから、絶対に近づかないほうがいい。
廃人になって捨てられる悲しい人生が待っている。
「MFCやめますか?それとも人間やめますか?」
そもそも 「DLL HELL」 とい言葉はMFCから生まれたもの。
意味はDLL地獄。DLLという単語とHELL=地獄をかけてある。
ようこそMFC地獄へ!
356:デフォルトの名無しさん
07/10/16 23:35:03
std::basic_stringてSTLの問題児のひとつじゃないかw
357:デフォルトの名無しさん
07/10/16 23:37:48
そう。だからだよ、MFCの方が使いやすい。文字列だけはな。
でも、コレに騙されてはイカン!
358:デフォルトの名無しさん
07/10/16 23:50:17
すんごい同意☆
MFCはCStringだけが取り柄w
あとちょっとしたアプリはDialogベースアプリで書けるのがメリットかな。
だから俺はいつもMFCのDialogベース。
皆はなに使ってるの?Win32?
359:デフォルトの名無しさん
07/10/16 23:58:44
うん
360:デフォルトの名無しさん
07/10/17 00:07:34
MFCはAPIのラッパークラスだし何でSTLが比較対象に上がるのか理解に苦しむ。
361:デフォルトの名無しさん
07/10/17 00:51:28
>>360
初心者にはそこが分からない。
間違った方向へ進もうとしている初心者を正しく導くのが、
このスレの住人に課せられた使命。
362:デフォルトの名無しさん
07/10/17 01:22:06
MFCにはCStringがある。だからSTLと比較される。
363:デフォルトの名無しさん
07/10/17 01:44:23
MFCは CString 以外は使うな。人間性を失いたくなければ。
364:デフォルトの名無しさん
07/10/17 14:18:04
ダイアログベースのアプリならMFCが楽でいいよ。
そっから先は無理だけど。
作るもの全てがダイアログベースのアプリになってしまう。
俺がいい例。
365:デフォルトの名無しさん
07/10/17 14:50:39
たまにはドキュメントビューアーキテクチャのことも思い出してあげてください
366:デフォルトの名無しさん
07/10/17 16:23:14
>>342
青春時代を思い出して泣いた。
367:デフォルトの名無しさん
07/10/17 17:49:02
VC6.0でWindowsサービスを作っています。
作ったサービスはXPでは動作するのですが、
2003 Server ではサービスとしての起動ができません。
(正確にはWindows Server 2003 R2 Standard Edition です)
サービスマネージャで「サービスの開始」をクリックすると、
プログレスバーが出てしばらく後
「ローカルコンピュータのxxxx(サービス名)サービスを開始できません。
エラー1053:そのサービスは指定時間内に開始要求または
制御要求に応答しませんでした。」となります。
根本的に、2003 Server 向けのサービスをVC6で作ることはできないのでしょうか。
ご存知の方おしえてください
368:デフォルトの名無しさん
07/10/17 18:04:46
>>365
つーかMFCはそれがメインだと思うんだが、使いこなせない人多いんかな。
369:デフォルトの名無しさん
07/10/17 18:21:47
C++作成支援プログラムって存在しますか?
たとえばHTMLならPOWERPOINTで画像やボタンの配置などが簡単にできますがC++でも同じようなことができる
プログラムってありますでしょうか。
370:デフォルトの名無しさん
07/10/17 18:25:26
スレが違うと思われ
371:デフォルトの名無しさん
07/10/17 18:28:24
Visual C++は、まさにそういう類いのソフトウェア。
ところで、PowerPointはただの釣針だよね?
372:デフォルトの名無しさん
07/10/17 18:41:59
>>371
powerpointじゃなかったpublisherだった。
ありです。
373:デフォルトの名無しさん
07/10/17 18:49:46
>>369
GUIツールキットとかGUIビルダーとかかな・・・
スレッドあるからそこで雰囲気見てみるといいよ。
374:デフォルトの名無しさん
07/10/17 18:53:16
VC++初めて使おうと思ってるんですけどVBのプログラミング言語のところだけC++になったもの、と考えてあってますか?
もしVBのようにGUIが作れるのであれば本格的に勉強しようと思ってるんですが・・・
375:デフォルトの名無しさん
07/10/17 19:05:41
VBと違って簡単なプログラムでも大量のコードが必要
376:デフォルトの名無しさん
07/10/17 19:37:37
待て、Publisherも名前からして違う。
MS OfficeならFrontPageだろ。
まあこれも別製品に後継を譲る立場だが。
377:デフォルトの名無しさん
07/10/17 21:29:08
>>374
Standard以上のVCにはいくつかのライブラリが付いてくるんだけど
.Netを使うならVB.NetのようにGUIを作れる。ただ言語は純粋なC++じゃなく
C++/CLIになる。ライブラリ使わないなら375の言うようなことになる。
C++のライブラリもあるんだけど、必ず変なのが来て暴れるので説明省略。
378:デフォルトの名無しさん
07/10/18 03:05:31
VC++ってもしかしてCopyFile(○○,××,FALSE)に対応してない?
どなたか解決方法教えてください
379:デフォルトの名無しさん
07/10/18 03:36:31
たぶん原因が<windows.h>をインクルードしてないからなんだと思うのですが、#include文を入れると
大量にエラーが増えてしまいます・・・
どうすればいいのでしょうか
380:デフォルトの名無しさん
07/10/18 03:58:37
>どうすればいいのでしょうか
コンパイラが教えてくれるだろ。
■質問するにあたって
・エラーや警告のときはエラーメッセージを書きましょう。
・開発環境も書きましょう。
・できるだけ具体的に。
381:デフォルトの名無しさん
07/10/18 12:38:16
VC2005 Proを使ってます。
クラスライブラリのヘッダにて、abstract sealedの
クラス内にtypedefとtemplateを使った定義をしました。
しかし、そのヘッダ内では使えるものの、そのほかのクラスでは使用
できません。コンパイルエラーになります(定義されていないとのこと)
(staticのメンバ関数などはOK)。
どうしたら、他クラスで使用できるのでしょうか?また、templateや
typedefをクラスライブラリで定義する場合はこの方法しかないのでしょうか?
// typedefを使用したクラス(例)
public ref class TYPES abstract sealed{
public:
typedef short test16;
typedef unsigned short utest16;};
// templateを使用したクラス(例)
public ref class METHODS abstract sealed{
public:
template <typename T1>
static T1 TEMPTEST (const T1& t1)
{return t1;}
// このメンバ関数は他クラスでも使用可能
static void TEST(int num){int i = 3;}
};
382:デフォルトの名無しさん
07/10/18 13:45:36
スレ違い?
クラスライブラリで template、typedef 使うなよ
383:デフォルトの名無しさん
07/10/18 18:56:16
>>381
いつものC++みたいに、ヘッダファイルも一緒に配ればOK。
384:デフォルトの名無しさん
07/10/18 23:02:47
STLとMFCだと、プログラミングの技術に差は出ますかね?
385:デフォルトの名無しさん
07/10/18 23:09:18
使い道が全然違う
386:デフォルトの名無しさん
07/10/18 23:15:55
MFCって次期VSから無くなるんじゃなかったっけ?
もうどうでもいいよ
387:デフォルトの名無しさん
07/10/18 23:28:16
>>386
確かMSDNにMFCに関するQ&Aがあって「MFCはなくなりませんか?」みたいなQに対して、「永久になくなりません。」ってAがあった。
ホントかよっ!と思いつつ読んでいたが、無くなるのか。。
388:デフォルトの名無しさん
07/10/18 23:28:40
今から勉強するならSTLですかね?
参考書籍等が書店に見当たらないのですが、ほとんどがMFCを説明している本でして、
389:デフォルトの名無しさん
07/10/18 23:30:38
>>364
ダイアログベースなら他のツール使えば?
ダイアログベースのアプリなんて使ったこと無い
390:デフォルトの名無しさん
07/10/18 23:34:55
>>388
MFCとSTLは全く別物
どちらもやってもよい
391:デフォルトの名無しさん
07/10/18 23:58:28
>>386-387
URLリンク(blogs.msdn.com)
どうみてもやる気満々なのだが。
392:デフォルトの名無しさん
07/10/18 23:59:39
簡単なGUIアプリケーションを作りたいと思っています。
一応、C,C++は基本的なことは理解しているつもりです。
検索したらMFCや.NET Framework、Win32APIがあったのですが。
違いもいまいちわからないのですが、どれを使ったらいいのでしょうか?
宜しくお願いします。
393:デフォルトの名無しさん
07/10/19 00:00:01
とりあえず2008ではなくならない
むしろ拡張されてる
394:デフォルトの名無しさん
07/10/19 00:03:26
けど、あいかわらずグリッド系は自前で作るしかないのね
395:デフォルトの名無しさん
07/10/19 01:14:27
Visual Basic2005とVisual studio2005って何が違うのか何方か教えてください
396:デフォルトの名無しさん
07/10/19 01:23:32
わらた
397:デフォルトの名無しさん
07/10/19 01:27:45
>>389
いまのアプリケーション開発(Win)ってトレンドってなんだろう?
Win32だとGUIを作るのが大変そうだし。
視覚的にGUIが作れるのってダイアログベースアプリくらいしか思いつかない。
あとはVBかC#。
C#も作ったコントロールやウインドがやたら画面の端に引っ付いたりして気に食うものがなかなか出来ない(と個人的に思う)
398:デフォルトの名無しさん
07/10/19 03:24:51
VC++のフォームを使ってボタンを押すと特定のファイルを移動するプログラムを作りたいんですが、
copyfile の identifier が見つかりませんでした、とビルドエラーがでます。助けてください
399:デフォルトの名無しさん
07/10/19 07:27:53
全ソースupしたら助けてやらないことも無い。
400:デフォルトの名無しさん
07/10/19 07:39:39
WinAPIのCopyFileなら
必要なヘッダ(windows.h)をincludeしてない
CopyFileなのにCopyfileやcopyfileにしてる
401:デフォルトの名無しさん
07/10/19 09:43:51
どなたか>>392お願いします。
スレ違いだったら言ってください。
402:デフォルトの名無しさん
07/10/19 09:53:57
どれでも好きなの使ったらええやん
向き不向きがあるだろ
403:デフォルトの名無しさん
07/10/19 10:59:48
C++/CLIでWindows.Formsがトレンドなんじゃないの?
とC#を使いながら言ってみる。
404:デフォルトの名無しさん
07/10/19 15:19:15
>>389
>ダイアログベースなら他のツール使えば?
ツール???何の?
ツールの話なんて誰がしてたの?
405:デフォルトの名無しさん
07/10/20 00:51:50
ソースファイルはあるのだがどうにもコンパイル出来ない・・。
替わりに俺がやってやるぜ!なんて素敵な方、いませんか?
g++とsqliteのライブラリ・ヘッダがあれば良いらしいのですが。
欲しいバイナリはwin32用です。
406:デフォルトの名無しさん
07/10/20 00:52:43
壱千万で引き受けます。
407:デフォルトの名無しさん
07/10/20 00:55:14
それ・・は・・むり・・。orz
408:デフォルトの名無しさん
07/10/20 03:28:28
おいおい、NTTデータなら800億円で受注する仕事だぜ?安いもんさ。
409:デフォルトの名無しさん
07/10/20 11:01:54
VC++2005EEを使っています。
コマンドラインからclでコンパイルのみを行ってからlinkを使った場合、
CRTやkernel32.libは指定しなくても自動的にリンクされるようですが、
デフォルトでリンクされるライブラリファイルはどこで定義されているのでしょうか?
410:デフォルトの名無しさん
07/10/20 12:54:14
Windows2000でVC++2002でアプリケーションを作成したのですが
"read" になることはできませんでしたのエラーがでても動いているので
そのまま稼動させて大丈夫でしょうか?
readってことは参照しかしてないってことですよね?
411:デフォルトの名無しさん
07/10/20 12:55:59
だめだよ
412:デフォルトの名無しさん
07/10/20 13:00:38
なぜですか?
413:デフォルトの名無しさん
07/10/20 13:12:59
>409
lib
414:デフォルトの名無しさん
07/10/20 13:16:14
>>410
コード晒してくだちゃい><
415:デフォルトの名無しさん
07/10/20 13:19:19
1万7千行ありますが
416:デフォルトの名無しさん
07/10/20 13:26:47
何でその程度で触ってんの?
一人で使うなら問題ない
それが君の力量だから
417:デフォルトの名無しさん
07/10/20 13:38:21
一人では使いませんが一人で作っています
418:409
07/10/20 13:40:40
>>413
それはライブラリファイルがある場所を示してくださっていると解釈してよろしいですか?
ライブラリがある場所ではなく、デフォルトでリンクされるライブラリファイルが
どこでどのように設定されているのかを知りたいのです。
例えばkernel32.libやCRTはデフォルトでリンクするが、
user32.libは指定しないとリンクされない…とか。
corewin_express.vspropsで設定されているライブラリファイルは
コマンドラインでのリンクには影響を与えないことを確認しました。
419:デフォルトの名無しさん
07/10/20 14:17:07
hBitmap=LoadImage(hInstance,MAKEINTRESOURCE("IDB_CHAR"),IMAGE_BITMAP,0,0,LR_CREATEDIBSECTION);
if (hBitmap == NULL)
{
MessageBox(hWnd,"BitMap Load Error", "エラー",MB_OK);
return 0;
}
これでリソースからビットマップを読んでるつもりなんですが
何故、メッセージが出るんでしょうか?
#include "resource.h" も付けています。
MAKEINTRESOURCE("IDB_CHAR") の部分に
ビットマップのパスを入れても同じです。
420:デフォルトの名無しさん
07/10/20 14:26:50
GetLastError()
421:デフォルトの名無しさん
07/10/20 14:43:49
>>419
MAKEINTRESOURCE(゚听)イラネ
このマクロは、LPCTSTRにWORD型のIDを突っ込むために使う。
422:デフォルトの名無しさん
07/10/20 20:42:10
>>410
ポインタの使い方間違ってるんじゃないの?
423:デフォルトの名無しさん
07/10/20 23:41:40
「猫でも〜」で、C++でもGDI+が使えることを知りました。
さっそく画像表示プログラムつくってみたんですけど、パスに漢字がはいると
表示できません。これはなぜでしょうか?
424:デフォルトの名無しさん
07/10/20 23:57:46
VC++6.0でOutlook2007と携帯W54Tのスケジュールとタスクの同期プログラム作りたいんだけど。
まずは、bluetoothの制御方法から教えてくれ。
サンプル世路
425:デフォルトの名無しさん
07/10/21 00:08:14
そのようなことができる方は初心者とは言いません。
426:デフォルトの名無しさん
07/10/21 00:26:14
初心者とは、初心の心を持っている者のことである。
427:デフォルトの名無しさん
07/10/21 00:34:12
うるせぇ!オレ様は初心者だぞ。おまいら初心者を差別するつもりか?
初心者には知る権利がある。質問する権利がある。違うか?
オレの言ってる事が間違っているなら、筋道立てて理路整然と反論してみろや!
428:デフォルトの名無しさん
07/10/21 01:12:58
俺は小心者ですが何か?
429:398
07/10/21 02:09:50
#include <windows.h>
#pragma once
using namespace System;
using namespace System::ComponentModel;
using namespace System::Collections;
using namespace System::Windows::Forms;
using namespace System::Data;
using namespace System::Drawing;
namespace testfile {
public ref class form : public System::Windows::Forms::Form
{
public:
form(void)
{
InitializeComponent();
}
protected:
~form()
{
if (components)
{
delete components;
}
}
private: System::Windows::Forms::Button^ button1;
protected:
private:
System::ComponentModel::Container ^components;
続く
430:デフォルトの名無しさん
07/10/21 02:11:36
#pragma region Windows Form Designer generated code
void InitializeComponent(void)
{
this->button1 = (gcnew System::Windows::Forms::Button());
this->SuspendLayout();
this->button1->Location = System::Drawing::Point(58, 130);
this->button1->Name = L"button1";
this->button1->Size = System::Drawing::Size(163, 74);
this->button1->TabIndex = 0;
this->button1->Text = L"button1";
this->button1->UseVisualStyleBackColor = true;
this->button1->Click += gcnew System::EventHandler(this, &form::button1_Click);
this->AutoScaleDimensions = System::Drawing::SizeF(6, 12);
this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font;
this->ClientSize = System::Drawing::Size(292, 266);
this->Controls->Add(this->button1);
this->Name = L"form";
this->Text = L"form";
this->ResumeLayout(false);
}
#pragma endregion
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e)
{CopyFile("\\files\\readme.txt","C:\\program files\\testprogram\\readme.txt",FALSE);
}
};
}
長いですけどフォームつかったら自動的にいろいろ追加されてこんなふうになってしまいました。ボタンを押すとファイルを書き換えるだけなんですけど・・・
とりあえずボタン押して
431:398
07/10/21 02:17:02
そしてビルドしたときのエラー
1>------ ビルド開始: プロジェクト: testfile, 構成: Debug Win32 ------
1>コンパイルしています...
1>form.cpp
1>c:\documents and settings\○\my documents\visual studio 2008\projects\project1\testfile\testfile\form.h(1) : error C2001: newline in constant
1>c:\documents and settings\○\my documents\visual studio 2008\projects\project1\testfile\testfile\form.h(1) : error C2059: syntax error : 'string'
1>c:\documents and settings\○\my documents\visual studio 2008\projects\project1\testfile\testfile\form.h(88) : error C2065: 'FALSE' : undeclared identifier
1>c:\documents and settings\○\my documents\visual studio 2008\projects\project1\testfile\testfile\form.h(88) : error C3861: 'CopyFile': identifier not found
1>ビルドログは "file://c:\Documents and Settings\○\My Documents\Visual Studio 2008\Projects\Project1\testfile\testfile\Debug\BuildLog.htm" に保存されました。
1>testfile - エラー 4、警告 0
========== ビルド: 0 正常終了、1 失敗、0 更新不要、0 スキップ ==========
432:デフォルトの名無しさん
07/10/21 02:39:43
CopyFile で右クリックして「定義へ移動」すると勉強になると思う。
433:デフォルトの名無しさん
07/10/21 09:06:43
CLR-Windowsフォームアプリケーション で新規作成、
ボタン配置してハンドラを同じように書いてみたけど、
文字列がUnicodeでないと文句言われただけで、後は問題無かった。
form.h(1)の謎のエラーが後に影響しているのかもしれんね。
そのエラーだと、ヘッダをインクルードしているソース側に問題がある可能性もあるから、
#include "form.h" より前の部分もチェックした方が良いな。
434:デフォルトの名無しさん
07/10/21 10:03:42
現在,
Visual C++ 6.0 → .netの2005
Windows2000 → WindowsXP SP2
へようやく以降したのですが,分からぬエラーが.
6.0 + 2000 = 問題ない
6.0 + XP = 問題ない
2005+ 2000 = 問題ない
2005+ XP = 問題あり
何が問題か,ですが
テキストファイルを読み込むと終了時にアクセス違反
というエラーがでます.
テキストファイルを読み込まなければエラーは起きません.
何かXPと2005の組み合わせで気をつけなければ
ならないことあるのでしょうか?
435:409
07/10/21 10:21:58
>>409 >>418
どなたかご存知の方がおられましたら、教えてください。
436:デフォルトの名無しさん
07/10/21 12:43:51
>>421
hBitmap=LoadImage(hInstance,"C:\\test.bmp",IMAGE_BITMAP,0,0,LR_LOADFROMFILE);
なら、その後Bitbltで描けるようですが、
hBitmap=LoadImage(hInstance,MAKEINTRESOURCE("IDB_NULL"),IMAGE_BITMAP,0,0,LR_DEFAULTCOLOR);
これだと駄目です。MAKEINTRESOURCEを取っても駄目です。
パスで指定 → OK
リソースから → 駄目
もう、どうしたらいいか・・・
437:デフォルトの名無しさん
07/10/21 12:48:21
>>436
GetLastError()で見たのかよ低脳
""取ってみ
MAKEINTRESOURCE("IDB_NULL")→MAKEINTRESOURCE(IDB_NULL)
438:デフォルトの名無しさん
07/10/21 12:51:43
>>434
自分の2005+XP SP2では問題は発生しない。
2000->XP SP2 はもちろんクリーンインストールだよな。
>>435
コンパイラの既定CRTライブラリは/MTなので、
出力されたオブジェクトファイルにlibcmt.libのリンク指示が含められている。
で、リンク時にCRTライブラリによってエントリポイントが解決された結果、
それが依存するライブラリもリンクされている。
CRT内部で何をしているか調べるのは正直骨だし、
とりあえず宣言しとけばいいんじゃね?被っても問題無いし。
ちなみに、エントリポイントを自分のコードで解決してCRTを一切リンクしなかった時は
kernel32.libすらリンクされなかったので、あくまで依存関係に従っていると考えて良さそう。
>>436
リソースの識別には、16ビットIDと文字列を対応付ける二つの方法がある。
"IDB_NULL"という文字列を対応付けているなら "IDB_NULL" で良いが、
resource.hのIDB_NULLのID定義を介しているなら、MAKEINTRESOURCE(IDB_NULL)だ。
439:デフォルトの名無しさん
07/10/21 12:58:40
画像はウィンドウクラスでカーソルとアイコンの登録しかやったことないけど
メニューの指定でもいろいろ悩んだなぁ・・・。
とりあえずわかったことは
引数として文字列(のポインタ)が要求されるのに
resource.h でリソース名に定数振られてて
そのせいでうまくいかないっぽいってことはわかった。
画像とかの ID とかを "" で囲んで
resource.h から #define の定義を消すとうまくいってた。
正当なやり方はよくわかってない。
440:デフォルトの名無しさん
07/10/21 13:05:00
よくわかってない奴は黙ってろや
あほが余計悩むだろ
441:デフォルトの名無しさん
07/10/21 13:10:39
>>437,438,439
" を外しても同じです。
エラーなどは出ません。
一応、使ってるのがVC5なんですよ。これって関係あるんかな?
GetLastErrorも調べてみます。
442:デフォルトの名無しさん
07/10/21 13:17:43
たまに、resource.hに使われなくなったIDが残ったりするから、それかもしれないな。
.rcファイルとresource.hを目視で確認してみ。
443:デフォルトの名無しさん
07/10/21 13:21:34
何か理由があってVC5なんて使ってるの?
新しいのに移行する時に余分に時間が掛かるだけだし情報も少ないよ
444:デフォルトの名無しさん
07/10/21 13:27:34
リソースビューでその画像が "IDB_NULL" ってなってるんじゃないの?
"" とって IDB_NULL にしてみたら?
445:デフォルトの名無しさん
07/10/21 13:33:21
>>444
画像名はリソースビューで見ても IDB_NULL で
"" は付いていません。
本当に謎だ・・・
446:デフォルトの名無しさん
07/10/21 13:37:03
>>445
今手元に環境あるの?
447:409
07/10/21 13:57:16
>>438
オブジェクトファイルにコンパイラからのリンク指示が含まれているということなので、
dumpbinを使ってオブジェクトファイルの内容を調べてみたところ、libcmt.libのリンクを
指示するリンカオプションが含まれていました。
また同様に、libcmt.libをdumpbinで調べてみたところ、kernel32.libへのリンクが
指示されていました。
おかげで疑問が解決しました。ありがとうございました。
448:デフォルトの名無しさん
07/10/21 14:59:09
OS:XP Pro sp2で下記URL先のWindows アプリケーションがアクティブにならない状態です。
解決策はあるのでしょうか?
URLリンク(forums.microsoft.com)
449:デフォルトの名無しさん
07/10/21 15:04:10
解決してんじゃん
いろいろやってみろよ
お前には無理だけど
450:434
07/10/21 15:22:29
>>438
クリーンインストールです.
サブPCが2000のままだったのでVC++6.0を入れて
メインPC(XP)の.netの2005とモニタ並べて
まったく同じ処理をやってもメインPCの方だけアクセス違反が….
2005では文字コードをUnicode→マルチバイトへの変更が差分です.
451:デフォルトの名無しさん
07/10/21 15:29:12
同じじゃないじゃん
452:デフォルトの名無しさん
07/10/21 16:36:59
>>446
あります。
一応、LoadImage後に
if (hBitmap == NULL)
{
MessageBox(hWnd,"BitMap Load Error", "エラー",MB_OK);
return 0;
}
で調べてみると メッセージが出ます。
453:デフォルトの名無しさん
07/10/21 16:41:48
あるのに遅すぎんだよ
454:デフォルトの名無しさん
07/10/21 17:56:53
LoadImageで読み込めないフォーマットのビットマップの可能性もあるから、
まずは、FindResourceでリソースを見つけられているかどうか確認した方が良いな。
生成された実行ファイルをIDEで開けばリソースを覗けるはずだから、
IDが正しく対応しているかの確認も。
455:デフォルトの名無しさん
07/10/21 18:00:58
LoadImageで読み込めてるって書いてある
456:434 450
07/10/21 18:06:57
>>451
@windowsXP (.NETの2005)で文字コードをマルチバイト,
Awindows2000(.NETの2005)で文字コードをマルチバイト,
同じ条件で@では終了時エラー,Aでは正常終了です.
まったく同じ条件です.
XPのSP2で何か気をつけるべきことがあるのかと考えていますが,
まだ原因が特定できません.
457:デフォルトの名無しさん
07/10/21 18:12:33
今まで問題のあるコードがたまたま動いていただけなんじゃねぇの。
458:434 450 456
07/10/21 18:22:27
>>457
うーん,その可能性も否定できないんですが
実際に複数台のPCで1日中ずっと処理を走らせて,
3年間,エラーが起きることはなありませんでした.
エラーが起きる部分(ファイル読込)は少なく見積もって
数万回は走っているはずです.
終了時にエラー(アクセス違反)は一度も出ていません.
現在調べている時は余計な部分を削除していき,
ファイル読込部分しか書いていないです.
459:デフォルトの名無しさん
07/10/21 18:33:12
自分は絶対間違ってないという前提なら
ここで質問されても答えようがないから
マイクロソフトに直接聞け
460:デフォルトの名無しさん
07/10/21 18:34:41
短いならコード出すべし。
461:デフォルトの名無しさん
07/10/21 18:36:08
Unicodeなら問題ないの?
462:デフォルトの名無しさん
07/10/21 18:42:48
どうせバッファオーバーフローとかだろ
463:デフォルトの名無しさん
07/10/21 19:14:49
どうしてデバッガで追うとかしないの?
464:自作ブラウザ
07/10/22 17:48:37
VC++ 6.0 で htmlview を基本クラスにして、ブラウザを作成した時には
マウスによるクリック処理をプログラマがコードを追加して実装しなくても、
左ボタン処理等が実装されていますが、これをカスタマイズしたい時には
どうすればよいのでしょうか?
465:デフォルトの名無しさん
07/10/22 17:52:14
>>464
つ[JavaScript]
466:デフォルトの名無しさん
07/10/23 16:00:19
windows フォームアプリケーションを使ってるんですがC++と少し違いを感じました。
messagebox.showをmessagebox::showと書いたり
messagebox以外にもいろんな機能を使いたいんですがなんと入力すればいいのかわかりません。
ファイルを特定フォルダに作成したり、特定なファイルを上書きしたり、別ウィンドウを開いたりしたいんですが
誰か教えてください
467:デフォルトの名無しさん
07/10/23 17:20:25
C++出来るんならMFCなりapiたたいたりapiクラス化するなりで良いじゃん
468:デフォルトの名無しさん
07/10/23 21:30:31
>>466 がやっているのは、C++/CLI だ。
というわけで .NET Framework のリファレンスを見れ。
もっとも、.NET 触るんであれば、俺は C# をお勧めする。
469:デフォルトの名無しさん
07/10/24 05:26:09
>>468
だな。VSC++はネーテブコード吐き出すためのツールだと知れ>>466
470:デフォルトの名無しさん
07/10/24 05:31:13
VS2003.NET→VS2005に環境を移行しました。
が、VS2003.NETでは警告、エラーともにでなかったソースでもVS2005だと警告が出ます。
調べたところ、文字コードがUNICODEではないため警告が出ているようです。
そこで、文字コードを一括(プロジェクト内のソースすべて)をUNICODEに変更するにはどうすればよいのでしょうか?
471:デフォルトの名無しさん
07/10/24 05:37:28
めんどくさいぞ
それよりプロジェクトのプロパティで以前の文字コードに設定したらどや
472:デフォルトの名無しさん
07/10/24 05:46:34
>>471
ありがとうございます。
プロジェクトのプロパティはVS2005の設定項目のどこを変更すればよいのでしょうか?
質問ばかりですいません・・・・
473:デフォルトの名無しさん
07/10/24 05:57:41
左側のソリューションエクスプローラのプロジェクトファイルのアイコンを右クリック→プロパティ
全般のページが開いてると思うから真ん中当たりに文字セットがある
2005からデフォルトでUNICODEになった
474:デフォルトの名無しさん
07/10/24 06:15:14
VS2003.NETで作成したプロジェクトをVS2005で開き、>>473の部分を確認したのですが、
すでに「マルチバイト文字セットを利用する」となっていました。
warning C4819: ファイルは、現在のコード ページ (932) で表示できない文字を含んでいます。
データの損失を防ぐために、ファイルを Unicode 形式で保存してください。
出てくる警告は上記のものです。これは気にしなくてもよいのでしょうか・・・
475:デフォルトの名無しさん
07/10/24 06:17:54
何やそれかw
ファイル→保存オプションの詳細設定でUnicodeで保存し直したら消えるんちゃう?
476:デフォルトの名無しさん
07/10/24 06:40:16
これでいけそうですね。
ただ、ファイルが十数ファイルあるので一括変換できればうれしかったのですが・・・残念です。
早朝からありがとうございました。
477:デフォルトの名無しさん
07/10/24 11:49:14
>>476
せっかくVC++使ってるんだから
一括変換のプログラム書けばいいだろう
478:デフォルトの名無しさん
07/10/24 12:54:31
>>467-469
ありです。やってみます
479:デフォルトの名無しさん
07/10/25 21:59:36
超初心者で申し訳ないのですが、質問があります。
VC++ 2005で、
URLリンク(tserve01.aid.design.kyushu-u.ac.jp)
を参考にペイントツールを作成していたのですが、
ツールバーのボタンが押されたときに呼び出される関数を設定する所で詰まってしまいました。
ClassWizardのない2005では、この部分をどう作ったら良いのでしょうか?
480:デフォルトの名無しさん
07/10/25 22:17:38
ツールバーのボタンを押す
481:デフォルトの名無しさん
07/10/25 22:20:29
最初メニューにコマンド追加して
それをツールバーにも設定
482:479
07/10/25 22:40:56
>>481
クリアしました。
啓蒙ありがとうございました。
483:デフォルトの名無しさん
07/10/26 06:53:45
オブジェクト指向プログラミングを大きく分けてみたんですが、
カプセル化、抽象化、階層化で合ってますか?
484:デフォルトの名無しさん
07/10/26 10:16:05
質問ですが、フォルダをウィンドウから開きたい場合はどうしたらよいのでしょうか?
例えばですが、
ウィンドウにマイコンピュータの画像を貼り付け、そこをクリックしたらマイコンのフォルダが開く。と
と、したいのですが、色々調べていてやり方がさっぱり分かりません。
分かるかた是非教えて下さい。また、参考サイト等ありましたら合わせて教えて下さい。お願いします。
485:デフォルトの名無しさん
07/10/26 10:34:18
system("explorer.exe C:\\");
486:デフォルトの名無しさん
07/10/26 10:41:15
>>485
レスありがとうございます。
書いて頂いたのは、プロンプトが一回開いてしまうんですが、そのまま直にフォルダを開く事はできませんか?
私が今まで書いていたものは、
ShellExecute(hWnd, "oepn", "パス", NULL, NULL, SW_SHOWNORMAL);
なんですが、この方法ではうまくいきませんでした。無理なのであればsystem()でやろうかと思います。
また、マイコンピュータを開く場合、ファイルパスがうまく指定できないのですが、何故でしょうか・・
C:\Documents and Settings\ユーザ名\Favorites\My Computerではフォルダがないと言われるんですが、違うのでしょうか。
度々ですが、宜しくお願いします。
487:デフォルトの名無しさん
07/10/26 10:44:12
質問小出し野郎はスルーするのが吉
488:デフォルトの名無しさん
07/10/26 11:01:22
"oepn"ではフォルダはオープンしないと思う。せいぜいできるとしてもオエプンくらいかな。
489:デフォルトの名無しさん
07/10/26 11:14:04
ShellExecute(hWnd, "open", "explorer.exe", "パス", NULL, SW_SHOWNORMAL);
でいいのかな。
参考サイト:URLリンク(www.google.co.jp)
つかいかた:テキストボックスに [ShellExecute explorer.exe] と入れて [google検索]ボタンを押す
490:デフォルトの名無しさん
07/10/26 11:20:18
ホームラン級の馬鹿ですね
491:デフォルトの名無しさん
07/10/26 11:26:08
つか、ここに書いてあるやん。
URLリンク(msdn.microsoft.com)
main()
{
ShellExecute(NULL, "open", "C:\\Documents and Settings\\NEC-PCuser\\Favorites"
, NULL, NULL, SW_SHOWNORMAL);
}
492:デフォルトの名無しさん
07/10/26 11:30:25
>>489 は
ShellExecute(hWnd, "explore", "パス", NULL, NULL, SW_SHOWNORMAL);
だね
493:デフォルトの名無しさん
07/10/26 12:17:05
で、マイコンピュータのパスの調べた方も教えてやれよ
494:デフォルトの名無しさん
07/10/26 12:19:47
「教えてやれよ」 とは何だよ。
人にモノを尋ねるときは、「教えてください」 だろ
495:デフォルトの名無しさん
07/10/26 12:40:10
なんとなく教えてくれてるっぽい人どうも
全部自分でなんとかなりました。
496:デフォルトの名無しさん
07/10/26 14:30:27
マイコンピュータをユーザー名だけで決めうちはどうかと
497:デフォルトの名無しさん
07/10/26 14:39:24
気になるから便乗するけどマイコンピュータのパス(?)は環境変数
USERPROFILEでいいんですか?
498:デフォルトの名無しさん
07/10/26 15:59:07
調べたけど、マイコン他特殊フォルダはパスじゃない。
レジストリのIDみたいなの
499:デフォルトの名無しさん
07/10/26 17:52:11
おまいら降参か?ホレ
ShellExecute(NULL, "explore", "::{20D04FE0-3AEA-1069-A2D8-08002B30309D}", NULL
, NULL, SW_SHOWNORMAL);
500:デフォルトの名無しさん
07/10/26 18:40:24
降参も何も、ほぼ答え出た時点で終ってるのに
501:デフォルトの名無しさん
07/10/26 18:43:59
「おまいら降参か?ホレ」 とは何だよ。
「ググりました。これで合っていますか?」 だろ
502:デフォルトの名無しさん
07/10/26 18:54:41
その長ったらしいのいちいち憶えてるわけにいかないから
特殊フォルダ id でぐぐったら出てくることだけ知ってれば十分
503:デフォルトの名無しさん
07/10/26 19:03:58
clsidの前の::もいるんですか?
504:デフォルトの名無しさん
07/10/26 19:06:35
「ググれ」で済むならこのスレいらんだろ。
505:デフォルトの名無しさん
07/10/26 19:09:29
ググれで済むよ。ググる能力もない奴はプログラムやる資格ない
506:デフォルトの名無しさん
07/10/26 19:10:58
答え丸写ししなきゃできないならプログラミングは無理だから土方でもやったほうがいい
507:デフォルトの名無しさん
07/10/26 19:11:53
「ググれ」で済む程度の問題でこのスレに来るな
508:デフォルトの名無しさん
07/10/26 19:13:14
>>504
子供かよ
509:デフォルトの名無しさん
07/10/26 19:13:46
ありがとうございます
510:デフォルトの名無しさん
07/10/26 19:20:59
>>500-502
おまいら、何も泣く事は無いだろ。
ここは初心者スレなんだから、知らなくても恥にはならないぞ。
511:デフォルトの名無しさん
07/10/26 19:24:00
>510は >498に答え書いてあるのに気がつかない初心者
512:デフォルトの名無しさん
07/10/26 19:25:48
>>510
ここは初心者スレだけど初心者のお前が威張れる場所じゃない。
513:デフォルトの名無しさん
07/10/26 19:27:53
>>509
どういたしまして^^
514:デフォルトの名無しさん
07/10/26 19:43:06
>>511
ば〜か、>>498 は無視されてるのに気づかないの?
515:デフォルトの名無しさん
07/10/26 20:14:44
とりあえずage厨の子供が一人いたということでFA?
516:デフォルトの名無しさん
07/10/26 23:25:56
なんでいつまでたってもSHGetSpecialFolderPathとか出てこないの
517:デフォルトの名無しさん
07/10/26 23:28:58
既に解決済みだから
518:デフォルトの名無しさん
07/10/26 23:32:14
>487
519:デフォルトの名無しさん
07/10/26 23:34:19
まだやってるのかよ、しつこいな。
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
4936日前に更新/165 KB
担当:undef