エラーの数などが変わる手順が分かってきました。
1.まずダイアログベースで新規プログラムを作成する。
2.ダイアログ.CPPの上のほうにずっくさんの6行を入れる。
3.F7を押す(エラー1つ)MSO9.DLLが開けません。
4.F7を押す(警告3つ)
5.リビルドを押す(警告1)
6.リビルドを押す(警告1)
という感じです。
エラーがF7を押しただけで消えたりって言うのは何なんでしょうか?
>enum MsoMixedType
>{
> msoIntegerMixed = 32768,
> msoSingleMixed = -2147483648
>};←ここの部分で出る
>
>warning C4146: 符号付きの値を代入する変数は、
>符号付き型にキャストしなければなりません。
「~しなければならない」と言ってるんだから、すればいいんじゃないでしょうか。
enum MsoMixedType
{
msoIntegerMixed = 32768,
msoSingleMixed = (signed int)-2147483648
};
これで出なくなりますか?
イマイチenumで宣言しなくてはならない必然性が見えてこないので、
#define msoIntegerMixed (0x8000)
#define msoSingleMixed (0x80000000)
でもいいかも。
ところで今猫でも分かるページを見て勉強しているのですが
150章の始めのところから関数がずらずら並んでいて
「さて、必要な関数が揃いました」
と言っていきなりコードが出てきますが
こちらはぜんぜん準備が揃っていないようで、呼び出すことすら出来ません。
あの関数を使うための何を何処に宣言をしなければならないのでしょうか?
教えてくださいお願いします。
>>これで出なくなりますか?
消えません。同じメッセージが出ます。
>>#define msoSingleMixed (0x80000000)
駄目でした。
> 150章の始めのところから関数がずらずら並んでいて
> 「さて、必要な関数が揃いました」
> と言っていきなりコードが出てきますが
> こちらはぜんぜん準備が揃っていないようで、呼び出すことすら出来ません。
> あの関数を使うための何を何処に宣言をしなければならないのでしょうか?
話をうかがってますと何か『猫でも・・・』のページに不備があって思うようにいかないと言っ
てるように聞こえるのですがそれはどうも変ではないですか。
私はあのページは頭から読み込んでいけば”初心者”にもよく分かるように説明してくれてい
るページだと思います。それこそあなたが『呼び出すことすらできません。』と言っているペー
ジですら試しに今、そのまま下のソースコードをコピーアンドペーストしてソースファイルを作
り、リソースファイルを作り、当然必要になってくるIDをresource.hに追加してビルドしてみ
たら何のことなく通りますけど・・・
それこそワーニングだぁエラーだぁと騒ぐ前に基本的な構文を学んだほうがよろしいのではな
いでしょうか。それにうってつけなのが『猫でも・・・』のページだと思います。第一章から順番
に読破されてはいかがですか?(私もあのページはずいぶん参考にさせていただきました。)
せっかくあれだけまとめてくれているのですから都合のいい部分だけ抜き出そうなんていうの
も失礼な様に思います。そういうのは基本的な部分は(VSのアプリケーションウィザードが吐き
出すスケルトンレベルのもの)は何も見なくても自分でコーディング出来る人のする事ではない
でしょうか。
少々気になったもので・・・横やりでした。
ちなみに今さらですが私がリソースファイルを手動で編集する時はIDE上で[ファイルを開
く]
ダイアログで、一番下の用途の[自動]となっているところを[テキスト]にしてフォルダ内の
xxx.rcをクリックしリソースファイルを開いています。
1.DdeInitialize関数でDDEを初期化します。
2.DdeConnect関数で通信開始。
3.DdeClientTransaction関数でトランザクションをサーバーに転送
4.DdeGetData関数などでデータを取得
5.DdeDisconnect関数で通信終了
6.DdeUninitialize関数でDDEアプリケーションではなくなったことを
サーバーに通知
上記のような猫のページ150章の1~6という手順を踏むにあたって
1手順のDdeInitialize関数を使うにはどうしたらいいかだけでいいので
教えてください。
今までやったところはMFCでダイアログベース新規作成をしました。
そこから先が分かりません。
お願いします。
もう1つ質問です。
あばさんのいうとおりもう一度1章から読んでみようと思いまして
上から順にやってみたところの手順で行き詰ってしまいました。
まずVC++6.0を起動して
ファイルC++ソースファイルを選択しました。
続いて何も考えずに貼り付ければいいソースファイルを貼り付けて
F7を押したところ以下のエラーが出て駄目でした。
error C2440: '=' : 'void *' から 'struct HBRUSH__ *' に変換することはできませ
ん。(新しい動作 ; ヘルプを参照)
コンパイルの仕方が間違っているのかと思い
57章を見てみましたが、このページでコンパイルの方法を見つけることも
出来ませんでした。
何が間違っているのでしょうか?
すみません、1章ではなくイントロダクションでした。
質問攻めですねぇ。
失礼ですが鎌倉さん、問題解決のために
ご自身でどのくらい努力されました?
エラーの件も、DDEの件も、
Helpはごらんになりました?
DDEの件はHelpをよくみて、なにが足りないか
考えてみてください。
エラーの件はC2440を見てみてください。
あなたの文章からは、努力した痕跡が残念ながら
読み取れません。
(ここは文字だけのやり取りなので、もし努力を
されていても文章にでないとわからいですよね?!)
質問することは悪いことだとは思いませんが、
あまり「教えて君」になりすぎるとみんなから良い顔
はされませんよー!
基本的にあの『猫でも・・・』のページは”最初から順を踏んで読めば”分かるようにW32アプ
リケーションがベースとなっています。ので、まず参考にしたい(ソースをそのままぱくりた
い?)のであればW32アプリケーションで新規プロジェクトを生成しましょう。
そのうえでコピペでソース、リソースファイルを作りresource.hにIDを追加すれば何も問題
なく通るはずです。(実は今の手順だと後一つ、つまずくはずなんですけどね。それはやっての
お楽しみ)
参考にしたいと言うのなら、コンパイルが通らないと言うのなら、なぜいきなりMFCダイアロ
グベースなのですか?まず参考通りにSDKで作って見てそれこそ内容を”参考”にされて理解さ
れた上でご自分のアプリケーションモデル(ダイアログだろうとSDIだろうとMDIだろうとMFCだ
ろうと)に適用なされればいいじゃないですか。
なぜわざわざ自分で問題を発生させるような手順を踏まれているのか私にはよく理解出来ませ
ん。
3ヶ月ぐらい前から悩んでいます。
それなりの努力もしているつもりです。ヘルプも見ています。
分からないことを全部書くとものすごい量になるので
要点を絞って質問しているつもりです。
http://www.kumei.ne.jp/c_lang/setvc.htm
も読んでみました。
蛇足の部分に私の直面している問題があるようです。
著者が言うには
>エラーメッセージを読めばどこをどう直せばよいかすぐにわかると思います。
とありますのでヘルプのC2440を読みました。
技術資料:: 向上した ANSI C++ への適合性を最初から読んでみましたが
具体的に私のやりたいことに当てはまるのがどの記述であるのか
読み取れませんでした。
どうしても分からない場合は問い合わせてくれとある
著者にメールを送りました(2ヶ月ほど前、返事無し)
ただ、質問がいろいろ飛んでいます。
私はイントロダクションのコンパイル方法も知りたいですが
今回一番知りたいのはエクセルファイルの操作方法です。
猫のページの解説は置いておいて、そちらを教えてください。
よろしくお願いします。
> 蛇足の部分に私の直面している問題があるようです。
ふしぎですね~。私のVC++は鎌倉さんと同じ6.0で問題なく作業出来ているんですがねぇ?
ただしSP5ですけど・・・
VCはSP5.0です。もちろん設定は書いてあるとおりやっています。
操作ミスでどこか見落としがないかと何回もプロジェクトを作り直しても見ました。
まったく関係ないかもしれませんが
OSはXP-プロフェッショナルです。