////////////////////////////////////////////////////////////////////
/*

    KAB-studio.h


    (C)KAB-studio 1999 - 2005 ALL RIGHTS RESERVED.
        http://www.kab-studio.biz/
        info@mail.kab-studio.biz

    送信日： 2005/05/30(Mon) No.309
    配信数： 1923
    発行元： まぐまぐ ( URL: http://www.mag2.com/  ID: 0000012198 )
*/
////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////
// NEW!!
http://www.kab-studio.biz/index.html

2005/05/30 (Mon)
　あまぞんで買いたい！！
　Amazon検索結果定期チェッカー「あまぞんで買いたい！！」が正式に
サービスを開始します！　Amazonでのチェックに疲れた方、是非ご利用くだ
さい！！
[ あまぞんで買いたい！！ ]
http://www.kab-studio.biz/Amakai/index.html

2005/05/30 (Mon)
　ほとはー外伝３にP.20を追加！
[ 三人合体ホットハーブ 外伝３ 【ワタシ の キロク】 ]
http://www.kab-studio.biz/Comic/HotHerbA3/index.html

2005/05/30 (Mon)
　風雅、舞い ホームページ版にアーカイブ追加！
第七章 告白
[ 風雅、舞い ]
http://www.kab-studio.biz/Novel/Fuga/index.html

2005/05/30 (Mon)
　#pragma twice ホームページ版にアーカイブ追加！
5/30 11.21 「演算子のオーバーロード」の意味
5/30 11.22 CString の注意点
[ #pragma twice ]
http://www.kab-studio.biz/Programing/PragmaTwice/index.html


////////////////////////////////////////////////////////////////////
// ちょお普通な日記
http://www.kab-studio.biz/nikki2/index.html

2005/05/22 (Sun)
　昨日の夜にあまかい完成！　Amazon アンテナです。今日は明日更新の分
を。かなりのんびり。 JavaA2Z の検索件数が多い。明日から遊びながら
就職活動。教職は無理かも……。

2005/05/23 (Mon)
　１０時半起き。お昼に JavaA2Z の単語追加。掲載単語が４００を突破。
３時から歯医者。帰ってからはバルドフォースエグゼとかビデオのダビング
とか。就活めんどくせー！　そしてマンション。

2005/05/24 (Tue)
　昨日の夜はバルドフォースエグゼ。洗濯して Machician 書いて、あと
散歩。環境エネルギー館とか。ふれーゆまでは行かず。超無理なダイエット
中。創作系の中でプログラミングが一番好き……。

2005/05/25 (Wed)
　１０時半に起きて、横浜まで散歩。メロンブックスでコミックス購入。
あとはバルドフォースエグゼしたり JavaA2Z したりとか。就職活動してな
い……。そしてトップページの画像。

2005/05/26 (Thu)
　かぶろぐのスタイルシートを修正。続いてトップイメージの作成。それと
バルドフォースエグゼの攻略まとめ。就職活動してない。

2005/05/27 (Fri)
　今日も横浜まで歩いて。カレーとか食べてカロリーは高いんだけど。
Machician 第８話、完成。駄目な一日。某有名大手外資系IT企業に応募して
みます。

2005/05/28 (Sat)
　なぜか９時起き。ほとはー外伝３描き。ぷらとわ２話とかぶヘッダー、 
JavaA2Z を。明日楽に。来週土曜に某大手外資系IT企業の説明会に行ってく
る予定。


////////////////////////////////////////////////////////////////////
// かぶろぐ。
http://d.hatena.ne.jp/kab_studio/

2005/05/22 (Sun)
http://d.hatena.ne.jp/kab_studio/20050522
起きたよ。
[あまかい]似たサービスがありました（爆）。
[アニメ]ゾイド ジェネシス 第7話「嘆きの山」
[アニメ]魔法戦隊マジレンジャー 第15話
        「花嫁の兄〜ジルマ・マジ・マジュナ〜」
[装備]プロジェクターのランプが寿命に……。
風雅、舞い追加。
[Prog]ぷらとわ追加。
[ほとはー]ほとはー外伝３ P.19
[JavaA2Z]単語追加。

2005/05/23 (Mon)
http://d.hatena.ne.jp/kab_studio/20050523
起きたらしい。
[アニメ]まほらば 第21話「親・子」
[JavaA2Z]単語追加。
[病気治療]歯医者。
[アニメ]おねがいマイメロディ 第8話「かわいくなったらイイナ！」
[JavaA2Z]単語追加。
[Machician]第７話 灰色の鬼、白き翼 (11) [△ ▽]

2005/05/24 (Tue)
http://d.hatena.ne.jp/kab_studio/20050524
起きたらー
[あまかい]ちゃんと機能したー！
[アニメ]勇者王ガオガイガーFINAL 第7話「復活の白き方舟!」
[アニメ]こみっくパーティーRevolution 第8話
        「テニスのお姫様（プリンセス）(仮)」 
[内臓脂肪][おでんダイエット]ダイエット中。
[買]まんがタイムきららCarat
[JavaA2Z]単語追加。
[Machician]第７話 灰色の鬼、白き翼 (12) [△ ▽]

2005/05/25 (Wed)
http://d.hatena.ne.jp/kab_studio/20050525
帰ってきた。
[買]横浜で買ってきたもの。
[JavaA2Z]単語追加。
WBSでペッパーランチが。
プログラマーと一次元脳・二次元脳。
[アニメ]魔法先生ネギま! 第21話
[Machician]第７話 灰色の鬼、白き翼 (13) [△ ▽]

2005/05/26 (Thu)
http://d.hatena.ne.jp/kab_studio/20050526
起きてますね。
[アニメ]極上生徒会 第8話「さらば！極上生徒会」
[Tips]デザイン変更(1)
[Tips]デザイン変更(2)
[Tips][版権物イラスト]デザイン変更(3)
[JavaA2Z]単語追加。
[バルドフォースエグゼ]一応コンプ＆攻略まとめ。
[Machician]第７話 灰色の鬼、白き翼 (14) [△ ▽]

2005/05/27 (Fri)
http://d.hatena.ne.jp/kab_studio/20050527
えーっと。
帰ったのです。
[買]今日買ってきたもの。
[Machician]第７話 灰色の鬼、白き翼 (15) [△]

2005/05/28 (Sat)
http://d.hatena.ne.jp/kab_studio/20050528
あれ？
[JavaA2Z]単語追加。
アキハバラ発、至高の萌えコンテンツマガジン創刊！
[アニメ]ふしぎ星の☆ふたご姫 第9話
       「宝石の国☆おもちゃたちの町においでよ」
[アニメ]絶対少年 第2話「月読天文台とオカカ婆」
[買]まんがタイムきららMAX 7月号


////////////////////////////////////////////////////////////////////
// 風雅、舞い
http://www.kab-studio.biz/Novel/Fuga/index.html

■　第十二章　超越する存在　−１４−

　第１試合：リシュネvs結白舞。
　午後３時。
　ジャングルの端と端で車から降ろされたふたり。
「索敵からしなきゃいけないんだ」
　けたたましいホーンが遠くで鳴る。試合開始の合図。
　ん……。
　舞は右手を南西へとかざす。
「……やばっ」
　「感じて」、舞は駆ける。
「本気じゃなきゃまずいってことね」
　岩を駆け昇り、飛ぶ。そして大気中に含まれる水蒸気を舞わせて、体を運
ぶ。直前に駆けてきた道を何かが奔り、巨木が薙ぎ倒される。
　結構近いけど、正確じゃない。でもこっちは。
「霧よ！　刃となりて切り刻め！」
　右手をかざして唱える。視界の中に反応はないが、リシュネには届いてい
るはずだった。
　遠くで轟音。自分の手によるものではない。
「空！！」
　手を眼下の小さな池へとかざす。その池の水全てが吹き上がり、木々を超
えて上空を射る。
「ッ！？」
　空を蹴るリシュネ。無数の水槍がリシュネへと向かい、角度を変えて射
る。大気を蹴って空を跳ね、さらに手で弾いて躱していくが、その度に手か
ら鮮血が舞う。
　こんな簡単に切れるんじゃ、ＡＰの意味がない！！
　リシュネは手をかざし呪文の詠唱を試みるが、間髪入れずに攻撃し続ける
水榴に阻まれる。
　突然の影。
「水龍！？」
　しかしそれは、見上げれば空が覆い隠されるほどの広さを持った、水の
椀。それが、上から降ってくる。
　押しつぶされたら、終わる！！
　リシュネは両腕を開く。
<EM>「有は無となり無は零へ、零は消とし消は忘とす」</EM>
　体を切り刻む水槍に耐え呪文を唱えきる。轟音が鳴り響き、周囲の水榴が
霧散していく。覆い隠そうとしていた頭上の水椀も、表面を掻き乱してその
形を崩していく。
                                                              (続く)


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~[KCM]
　私は受け入れる。
　父のため。
　母のため。
　王子のため。
　高士のため。
　そして、この暖かい背中のために――

Machician 第７話 灰色の鬼、白き翼 好評連載中！
[ Machician ]
http://d.hatena.ne.jp/kab_studio/20040823#1093276416
[ Machician＋設定 最新一覧 ]
http://d.hatena.ne.jp/kab_studio/searchdiary?word=*%5BMachician
_______________________________________________________________[KCM]

////////////////////////////////////////////////////////////////////
// JavaA2Z
http://www.kab-studio.biz/Programing/JavaA2Z/index.html

■追加・更新単語

メタ
Eclipse
静的
動的
動的束縛
SQL
データベース
SQLException
JDBC
JDBCドライバ
テーブル
CREATETABLE
列
行
クエリー
SELECT
Statement
ResultSet
プリペアードステートメント
PreparedStatement
SQLインジェクション
WHERE
INSERT
DELETE
UPDATE
トランザクション
コミット
ロールバック


////////////////////////////////////////////////////////////////////
// #pragma twice
http://www.kab-studio.biz/Programing/PragmaTwice/index.html

　Version 15.09
DLLを作る！

「前回はスタティックリンクライブラリを使ってみました」
『ってことは！？』
「今回はダイナミックリンクライブラリ、つまり DLL を作ってみます」
『おお！！　なんか DLL 作れるってすんごくレベル高い気がする！！』
「ま、結構難しいからね。というわけで、一番最初は簡単な方法で使ってみ
ます」
『簡単な方法？』
「そう、必要なファイルが最初から作られてる状態のプロジェクトを作って
それを試してみます」
『……ってことは、その次は、その必要なファイルってのを自分で作れるよ
うにする、ってことね……』
「そういうこと。でも DLL はその必要なファイルを作るとことかがすんご
く大変だったりするから、まずは作って使えるのが大事、ってことで」
『なんか最初から脅されてヤダなぁ……』
「ま、 DLL は実際にかなりレベル高い分野だから、できるようになってお
くと後々いいと思うよ」
『ってゆーかできないとダメ？』
「まぁね。さて、ではまずプロジェクトを作ります。メニューの
【新規作成】ダイアログで【プロジェクト】タブを開いて」
『いつものね』
「【Win32 Dynamic-Link Library】を選んで、プロジェクト名は 
DLLTestEasy で」
『 Easy ……ね。あれ、この中に【MFC AppWizard (dll)】ってのもあるけ
ど、こっちは違うの？』
「そっちは MFC を使う DLL 。今回、呼び出す側はこれまでのと同じ
BuildTest を使うから」
『 BuildTest って MFC 使ってなかったからそっちじゃないのね』
「そういうこと。話を戻して、プロジェクト名を入れたら」
『 OK っと、ん』

・空の DLL プロジェクト
・単純な DLL プロジェクト
・シンボルをエクスポートする DLL

『って3つある』
「一番下の【シンボルをエクスポートする DLL 】を選んで。これが一番簡
単なのだから」
『これを選ばないと、必要なファイルが作られない？』
「そういうこと。【シンボルをエクスポートする DLL 】を選べば、 VC++ 
が必要なファイルを作ってくれます」
『んじゃそれで』
「プロジェクトを作ったら、ワークスペースの【FileView】を見て」

Source Files
- DLLTestEasy.cpp
- StdAfx.cpp
Header Files
- DLLTestEasy.h
- StdAfx.h

『お、ソースファイルとヘッダーファイルができてる』
「まずソースファイル」

// DLLTestEasy.cpp : DLL アプリケーション用のエントリ ポイントを定義します。
//

#include "stdafx.h"
#include "DLLTestEasy.h"

BOOL APIENTRY DllMain( HANDLE hModule, 
                       DWORD  ul_reason_for_call, 
                       LPVOID lpReserved
                     )
{
    switch (ul_reason_for_call)
    {
        case DLL_PROCESS_ATTACH:
        case DLL_THREAD_ATTACH:
        case DLL_THREAD_DETACH:
        case DLL_PROCESS_DETACH:
            break;
    }
    return TRUE;
}


// これはエクスポートされた変数の例です。
DLLTESTEASY_API int nDLLTestEasy=0;

// これはエクスポートされた関数の例です。
DLLTESTEASY_API int fnDLLTestEasy(void)
{
    return 42;
}

// これはエクスポートされたクラスのコンストラクタです。
// クラスの定義については DLLTestEasy.h を参照してください。
CDLLTestEasy::CDLLTestEasy()
{ 
    return; 
}

『……なんか目眩がする……』
「関数やクラスが色々あるけど、今回のテストでは fnDLLTestEasy() だけ
使います。なので」

// これはエクスポートされた関数の例です。
DLLTESTEASY_API int fnDLLTestEasy(void)
{
    OutputDebugString( "fnDLLTestEasy()" );
    return 42;
}

『あ、デバッグ出力するのね』
「次にヘッダーファイル」

// DLLTestEasy.h

// 以下の ifdef ブロックは（略）
#ifdef DLLTESTEASY_EXPORTS
#define DLLTESTEASY_API __declspec(dllexport)
#else
#define DLLTESTEASY_API __declspec(dllimport)
#endif

// このクラスは DLLTestEasy.dll からエクスポートされます
class DLLTESTEASY_API CDLLTestEasy {
public:
    CDLLTestEasy(void);
    // TODO: この位置にメソッドを追加してください。
};

extern DLLTESTEASY_API int nDLLTestEasy;

DLLTESTEASY_API int fnDLLTestEasy(void);

『こ、こっちも目眩がするっ……！』
「こちらは修正しなくていいです。とりあえずビルドして」
『ほいビルド』

--------------------構成: DLLTestEasy - Win32 Debug-----------------
コンパイル中...
StdAfx.cpp
コンパイル中...
DLLTestEasy.cpp
リンク中...
   ライブラリ Debug/DLLTestEasy.lib と
   オブジェクト Debug/DLLTestEasy.exp を作成中

DLLTestEasy.dll - エラー 0、警告 0

『んーと』

DLLTestEasy.lib
DLLTestEasy.exp
DLLTestEasy.dll

『の３つのファイルができたみたい。あ！　lib ファイルがある！』
「そう、 DLL を作ったときにもライブラリファイルができるんです。ただ
し、スタティックリンクライブラリと違って、プログラムの本体は入ってま
せん」
『そりゃそうだよね、それって DLL に入ってるんでしょ？』
「そういうこと。 DLL の場合、プログラムをコンパイルしたものは DLL に
入ってます」
『 DLL がオブジェクトファイル代わりってことね』
「さて、この DLL を使います。でも実はスタティックリンクライブラリの
時とほとんど同じ」
『え、そうなの？　なんかすごく難しそうだったのに』
「これまでの BuildTest を使って、さっきの DLL にあった 
fnDLLTestEasy() を 呼び出します。まず Main.cpp をこう修正して」

// Main.cpp
#include <Windows.h>

#include "DLLTestEasy.h"

int WINAPI WinMain
    ( HINSTANCE p_hInstance
    , HINSTANCE p_hPrevInstance
    , LPSTR p_pchCmdLine
    , int p_iCmdShow
    )
{
    fnDLLTestEasy();
    return 0;
}

『あ、 fnDLLTestEasy() 呼んでる』
「それと、ヘッダーファイル

プログラムの修正はこれだけ。次は設定。と、その前に、 DLLTestEasy 
のプロジェクトフォルダを」

D:\Program\DLLTestEasy

「とします。あとはスタティックリンクライブラリと同じ。BuildTest の
メニューの【プロジェクト】-【設定】ダイアログを開いて」
『で、【C/C++】タブの【プリプロセッサ】ページの
【インクルードファイルのパス】に』

D:\Program\DLLTestEasy

『って書いて、【リンク】タブの【追加ライブラリのパス】に』

D:\Program\DLLTestEasy\Debug

『ってして、さらに【オブジェクト/ライブラリ モジュール】の右端に 
DLLTestEasy.lib を追加して、ビルドして実行！』
「あ」

ダイナミックリンク ライブラリ DLLTestEasy.dll が指定されたパス
----に見つかりませんでした。

『なんでー！？』
「 DLLTestEasy.dll を BuildTest.exe のある BuildTest\Debug 
フォルダに置けば動くよ」
『あー、そっか DLL だもんね』
「というわけで詳しいことは次回に！」

/*
    Preview Next Story!
*/
『とりあえず使えたけど、何がなにやら』
「そう、本当はいろんな手続きが必要なんだけど」
『そういうのも勝手にしてくれてるってこと？』
「そういうこと。 #ifdef マクロのとことか」
『というわけで次回』
＜ Version 15.10 エクスポートとインポート ＞
「につづく！」
『出力と入力？』
「単語そのものは分かりやすいんだけどね……」


////////////////////////////////////////////////////////////////////
/*                          ご注意！！                            */

・このメールを返信しないでください。
・ご意見・ご希望・ご感想は[チョー普通な日記]よりお送りください。
http://www.kab-studio.biz/nikki2/index.html
・購読登録を解除したいときにはこのページで行なってください。
http://www.mag2.com/m/0000012198.htm
・解除は自分で行なってください。
・バックナンバーはこれらのページにあります。
http://backno.mag2.com/reader/Back?id=0000012198
http://www.kab-studio.biz/Freeware/index.html#MailMagazine


////////////////////////////////////////////////////////////////////
/*
    KAB-studio.h
      Weekly Mail Magazine.
      Written by Kaburaya Seiden.
      http://www.kab-studio.biz/Info/MailMagazine/

    (C)KAB-studio 1999 - 2005 ALL RIGHTS RESERVED.
        http://www.kab-studio.biz/
        info@mail.kab-studio.biz
*/
////////////////////////////////////////////////////////////////////

