<?xml version="1.0" encoding="UTF-8" ?> <rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>HIRASE CONNECTION WK</title><link>http://blogs.wankuma.com/hirase/</link><description>programming collection</description><managingEditor>T.Hirase</managingEditor><dc:language>ja-JP</dc:language><generator>.Text Version 0.95.2004.102</generator><item><dc:creator>T.Hirase</dc:creator><title>色付いた型を見せるのは、重い。</title><link>http://blogs.wankuma.com/hirase/archive/2008/07/19/149724.aspx</link><pubDate>Sat, 19 Jul 2008 15:42:00 GMT</pubDate><guid>http://blogs.wankuma.com/hirase/archive/2008/07/19/149724.aspx</guid><wfw:comment>http://blogs.wankuma.com/hirase/comments/149724.aspx</wfw:comment><comments>http://blogs.wankuma.com/hirase/archive/2008/07/19/149724.aspx#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://blogs.wankuma.com/hirase/comments/commentRss/149724.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/hirase/services/trackbacks/149724.aspx</trackback:ping><description>&lt;ul&gt;
&lt;li&gt;SyntaxHighligherで、 .NET Framework で Public な型（クラスと構造体、デリゲート、インタフェース）を全部色づけしたい。。。と思った。&lt;/li&gt;
&lt;li&gt;とりあえず、varとかのコンテキストキーワードも対応したかったので、ここから始める。結構イケた。&lt;/li&gt;
&lt;li&gt;次に、ちくちくと、フレームワークの型を追記・・・・・・、やってられない。&lt;/li&gt;
&lt;li&gt;すべての型を列挙するプログラムを書く。（参照先がすごいことになる）&lt;/li&gt;
&lt;li&gt;プログラムをデバッグ実行・・・・。うんうん、順調。&lt;/li&gt;
&lt;li&gt;インタフェースが232個、クラスが1569個（デリゲート含む）、列挙型が349個、構造体が85個。（System系のみ。Microsoft系はなし。）&lt;/li&gt;
&lt;li&gt;よし、Console.Write() で出力して、リダイレクトでファイルに落とすぞ・・・っと。&lt;/li&gt;
&lt;li&gt;んーーー？？？　少ない。少ない。全然、さっきの個数と違う。&lt;/li&gt;
&lt;li&gt;デバッグ実行のときはいけるのに、何でだ？！&lt;/li&gt;
&lt;li&gt;あ！　コマンドプロンプトからは、読み込んでるアセンブリが、mscorlibぐらいしかねぇ。&lt;/li&gt;
&lt;li&gt;仕様がない、Visual Studioからのデバッグ実行時にファイルに落とすか。&lt;/li&gt;
&lt;li&gt;よしよし。わんくまにアップロード。。テキストファイルで26キロ・・、。&lt;/li&gt;
&lt;li&gt;重いなぁ。お、そだ。「_」から始まるインタフェースとか消して、Attributeで終わるクラスの「Attribute」を消そう。&lt;/li&gt;
&lt;li&gt;よし、21キロ&lt;/li&gt;
&lt;li&gt;実験。&lt;/li&gt;
&lt;li&gt;う、重い&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.julienlecomte.net/yuicompressor/"&gt;YUI Compressor&lt;/a&gt;で圧縮してみる。&lt;/li&gt;
&lt;li&gt;う、重い　←今ここ&lt;/li&gt;
&lt;/ul&gt;
&lt;img src ="http://blogs.wankuma.com/hirase/aggbug/149724.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>T.Hirase</dc:creator><title>[HTML/CSS] もっとシンプルに定義リストdt ddを横並び</title><link>http://blogs.wankuma.com/hirase/archive/2008/07/19/149672.aspx</link><pubDate>Sat, 19 Jul 2008 00:28:00 GMT</pubDate><guid>http://blogs.wankuma.com/hirase/archive/2008/07/19/149672.aspx</guid><wfw:comment>http://blogs.wankuma.com/hirase/comments/149672.aspx</wfw:comment><comments>http://blogs.wankuma.com/hirase/archive/2008/07/19/149672.aspx#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://blogs.wankuma.com/hirase/comments/commentRss/149672.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/hirase/services/trackbacks/149672.aspx</trackback:ping><description>&lt;p&gt;HTMLとCSSだけで、定義リスト（dt/dd）を横並びに表示するのは、結構面倒です。&lt;/p&gt;
&lt;p&gt;定義（dd）の方が固定長である必要があったりします。&lt;/p&gt;
&lt;p&gt;そんなこんなで、CSS2から追加された「display: table」を使ったシンプルな横並びの方法を実現してみました。&lt;/p&gt;
&lt;p&gt;&lt;ins&gt;下記のコードを参照される際は、必ずコメント欄もご参照ください。&lt;/ins&gt;&lt;/p&gt;
&lt;pre class="html" xml:space="preserve" name="sourceCode"&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; ?&amp;gt;
&amp;lt;!DOCTYPE html PUBLIC &amp;quot;-//W3C//DTD XHTML 1.0 Strict//EN&amp;quot; &amp;quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd&amp;quot;&amp;gt;
&amp;lt;html xmlns=&amp;quot;http://www.w3.org/1999/xhtml&amp;quot; lang=&amp;quot;ja&amp;quot; xml:lang=&amp;quot;ja&amp;quot;&amp;gt;
&amp;lt;head&amp;gt;
    &amp;lt;title&amp;gt;Simple Definition List&amp;lt;/title&amp;gt;
    &amp;lt;style type=&amp;quot;text/css&amp;quot;&amp;gt;
	dl        { display: table; }
	dl dt.row { display: table-row; }
	dl dt     { display: table-cell; padding-right: 0.4em; }
	dl dd     { display: table-cell; }
	&amp;lt;/style&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
    &amp;lt;dl&amp;gt;
        &amp;lt;dt class=&amp;quot;row&amp;quot; /&amp;gt;
        &amp;lt;dt&amp;gt;要勤務日数&amp;lt;/dt&amp;gt;&amp;lt;dd&amp;gt;20日&amp;lt;/dd&amp;gt;
        &amp;lt;dt class=&amp;quot;row&amp;quot; /&amp;gt;
        &amp;lt;dt&amp;gt;勤務時間&amp;lt;/dt&amp;gt;&amp;lt;dd&amp;gt;480時間&amp;lt;/dd&amp;gt;
    &amp;lt;/dl&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
&lt;/pre&gt;
&lt;p&gt;対応ブラウザは、IE8、Firefox3、Saferi3 です。たぶん、Opera も行けます。&lt;/p&gt;
&lt;img src ="http://blogs.wankuma.com/hirase/aggbug/149672.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>T.Hirase</dc:creator><title>[C++/C#] インタフェースっていったい・・・？</title><link>http://blogs.wankuma.com/hirase/archive/2008/07/14/148849.aspx</link><pubDate>Mon, 14 Jul 2008 22:00:00 GMT</pubDate><guid>http://blogs.wankuma.com/hirase/archive/2008/07/14/148849.aspx</guid><wfw:comment>http://blogs.wankuma.com/hirase/comments/148849.aspx</wfw:comment><comments>http://blogs.wankuma.com/hirase/archive/2008/07/14/148849.aspx#Feedback</comments><slash:comments>8</slash:comments><wfw:commentRss>http://blogs.wankuma.com/hirase/comments/commentRss/148849.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/hirase/services/trackbacks/148849.aspx</trackback:ping><description>&lt;h4&gt;C++0xのコンセプトの話&lt;/h4&gt;
&lt;p&gt;&lt;a href="http://d.hatena.ne.jp/faith_and_brave/"&gt;アキラさん&lt;/a&gt;のC++0xの資料を拝見して、コンセプトって、なんでインタフェースっていう名前にならなかったのか疑問に思ったのは自分だけ？&lt;/p&gt;
&lt;p&gt;だって、インタフェースと機能は同じで、しばりが少ないってだけな印象なのに。。同じダックタイピングなのに。&lt;/p&gt;
&lt;p&gt;いうなれば、コンセプトがインタフェースらしく振舞うのであれば、それは最早インタフェースだと思う。&lt;/p&gt;
&lt;h4&gt;C#のインタフェースの話&lt;/h4&gt;
&lt;p&gt;なんで継承/実装していないとキャストできないのか不思議。明示的に継承していない場合でも、関係なしにダウンキャストできていいと思うのですが。。&lt;/p&gt;
&lt;p&gt;こんな感じ↓&lt;/p&gt;
&lt;pre class="csharp" xml:space="preserve" name="sourceCode"&gt;
using System;
interface IMyMeMine
{
    void Hello();
}

class SayHello
{
    public void Hello() { Console.WriteLine("Hello"); }
}

class Program
{
    static void Main(String[] args)
    {
        Hello(new SayHello());
    }

    static void Hello&amp;lt;T&amp;gt;(T t) where T:IMyMeMine
    {
        t.Hello();
    }
}
&lt;/pre&gt;
&lt;p&gt;たとえばシステムのクラスをジェネリックに扱いたい場合に、ときどきやりたい。&lt;/p&gt;&lt;img src ="http://blogs.wankuma.com/hirase/aggbug/148849.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>T.Hirase</dc:creator><title>[C#] Google Protocol Buffers Serializer</title><link>http://blogs.wankuma.com/hirase/archive/2008/07/09/148170.aspx</link><pubDate>Wed, 09 Jul 2008 16:10:00 GMT</pubDate><guid>http://blogs.wankuma.com/hirase/archive/2008/07/09/148170.aspx</guid><wfw:comment>http://blogs.wankuma.com/hirase/comments/148170.aspx</wfw:comment><comments>http://blogs.wankuma.com/hirase/archive/2008/07/09/148170.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.wankuma.com/hirase/comments/commentRss/148170.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/hirase/services/trackbacks/148170.aspx</trackback:ping><description>&lt;p&gt;&lt;a href="http://code.google.com/apis/protocolbuffers/"&gt;Google Protocol Buffers&lt;/a&gt;が公開されたとのことで、C#版のシリアライザ（仕様の確認はまた今度）を作ってみました。&lt;/p&gt;
&lt;pre class="csharp" xml:space="preserve" name="sourceCode"&gt;
namespace ProtocolBuffers
{
    using System;
    using System.IO;
    using System.Text;

    public class Serializer
    {
        #region Serialize
        public static void Serialize&amp;lt;TSerialize&amp;gt;(StreamWriter writer, TSerialize instance)
        {
            SerializeInternal(writer, instance.GetType(), instance, 0);
        }

        public static void Serialize(StreamWriter writer, Type type, Object instance)
        {
            SerializeInternal(writer, type, instance, 0);
        }

        private static void SerializeInternal(StreamWriter writer, Type type, Object instance, Int32 depth)
        {
            if (writer == null) throw new System.ArgumentNullException(&amp;quot;writer&amp;quot;);
            if (type == null) throw new System.ArgumentNullException(&amp;quot;type&amp;quot;);
            if (instance == null) throw new System.ArgumentNullException(&amp;quot;instance&amp;quot;);

            WriteIndent(writer, depth);
            writer.Write(type.Name);
            writer.WriteLine(&amp;quot;{&amp;quot;);
            foreach (var propertyInfo in type.GetProperties())
            {
                if (!propertyInfo.CanRead) continue;

                var propertyType = propertyInfo.PropertyType;
                var propertyName = propertyInfo.Name;
                var propertyValue = propertyInfo.GetValue(instance, null) ?? String.Empty;
                if (IsSystemType(propertyType))
                {
                    WriteIndent(writer, depth + 1);
                    writer.WriteLine(&amp;quot;{0} : \&amp;quot;{1}\&amp;quot;&amp;quot;, propertyName, propertyValue.ToString().Replace(&amp;quot;\&amp;quot;&amp;quot;, &amp;quot;\\\&amp;quot;&amp;quot;));
                }
                else
                {
                    SerializeInternal(writer, propertyType, propertyValue, depth + 1);
                }
            }
            WriteIndent(writer, depth);
            writer.WriteLine(&amp;quot;}&amp;quot;);
        }
        private static void WriteIndent(StreamWriter writer, Int32 depth)
        {
            StringBuilder sb = new StringBuilder();
            sb.Append(' ', depth);
            writer.Write(sb.ToString());
        }
        #endregion
        #region Utility
        private static Boolean IsSystemType(Type type)
        {
            return type.Namespace.StartsWith(&amp;quot;System&amp;quot;);
        }
        #endregion
    }
}
&lt;/pre&gt;
&lt;p&gt;使い方は、以下&lt;/p&gt;
&lt;pre class="csharp" xml:space="preserve" name="sourceCode"&gt;
namespace ProtocolBuffers
{
    using System;
    using System.IO;

    public class Test
    {
        public String Name { get; set; }
        public String EMail { get; set; }
    }

    public class Test2
    {
        public Test Test { get; set; }
        public Int32 Hash { get { return this.GetHashCode(); } }
        public DateTime DateTime { get { return DateTime.Now; } }
    }

    class TestProgram
    {
        static void Main(string[] args)
        {
            var testObject = new Test { Name = "Hirase", EMail = "hirase@example.com" };
            var test2Object = new Test2 { Test = testObject };
            using (var writer = new StreamWriter(@"test.pb"))
            {
                Serializer.Serialize&amp;lt;Test2&amp;gt;(writer, test2Object);
            }
        }
    }
}
&lt;/pre&gt;
&lt;p&gt;結果は以下&lt;/p&gt;
&lt;pre&gt;
Test2{
 Test{
  Name : &amp;quot;Hirase&amp;quot;
  EMail : &amp;quot;hirase@example.com&amp;quot;
 }
 Hash : &amp;quot;54267293&amp;quot;
 DateTime : &amp;quot;2008/07/09 14:37:08&amp;quot;
}
&lt;/pre&gt;
&lt;img src ="http://blogs.wankuma.com/hirase/aggbug/148170.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>T.Hirase</dc:creator><title>[C#] SplitContainer/SplitterPanel 使いにくい！</title><link>http://blogs.wankuma.com/hirase/archive/2008/07/02/146647.aspx</link><pubDate>Wed, 02 Jul 2008 01:20:00 GMT</pubDate><guid>http://blogs.wankuma.com/hirase/archive/2008/07/02/146647.aspx</guid><wfw:comment>http://blogs.wankuma.com/hirase/comments/146647.aspx</wfw:comment><comments>http://blogs.wankuma.com/hirase/archive/2008/07/02/146647.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.wankuma.com/hirase/comments/commentRss/146647.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/hirase/services/trackbacks/146647.aspx</trackback:ping><description>&lt;p&gt;つぶやき、ですが・・・&lt;/p&gt;
&lt;p&gt;.NET Framework 2.0 から追加されました SplitContainer/SplitterPanel が異常に使いにくい。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;SplitContainer.Panel1Collapsed / Panel2Collapsed プロパティでパネルの開閉するって、どうかしてるよ。&lt;/li&gt;
&lt;li&gt;SplitterPanel が sealed クラスなのは、どうかしてるよ。&lt;/li&gt;
&lt;li&gt;SplitterContainer.Panel1 / Panel2 からしか各パネルにアクセスできないって、どうかしてるよ。&lt;/li&gt;
&lt;li&gt;SplitContainer の両方のパネルを閉じられないって、どうかしてるよ。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;順を追ってみていきます。&lt;/p&gt;
&lt;h4&gt;SplitContainer.Panel1Collapsed / Panel2Collapsed プロパティでパネルの開閉するって、どうかしてるよ。&lt;/h4&gt;
&lt;p&gt;「メソッドでヤラせろよ。」とか、「SplitterPanel.Collapsed プロパティ（internal）を使わせろ。」とか、そういう話。というか、どうして、「Panels」がないんだ！　信じられない！&lt;/p&gt;
&lt;h4&gt;SplitterPanel が sealed クラスなのは、どうかしてるよ。&lt;/h4&gt;
&lt;p&gt;あぁ、もう最悪。継承できない。（SplitContainer を継承して、無駄なものを作ることは可能）&lt;/p&gt;
&lt;h4&gt;SplitterContainer.Panel1 / Panel2 からしか各パネルにアクセスできないって、どうかしてるよ。&lt;/h4&gt;
&lt;p&gt;我求ム「Panels」。ま、内部的には「Controls」に「Panel1」と「Panel2」が入っているのは知っているけど、いちいちキャストせにゃならんじゃん。いうか、パネル２つしかないのってもったいないよ！&lt;/p&gt;
&lt;h4&gt;SplitContainer の両方のパネルを閉じられないって、どうかしてるよ。&lt;/h4&gt;
&lt;p&gt;これ、ちょっと特殊だけど、両方のパネルを閉じたときには、その SplitContainer の親要素が SplitterPanel であれば、その SplitterPanel を閉じて欲しいのよね（そうじゃないときは、例外発生か、閉じられないか）。&lt;/p&gt;
&lt;p&gt;以上&lt;/p&gt;
&lt;img src ="http://blogs.wankuma.com/hirase/aggbug/146647.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>T.Hirase</dc:creator><title>[C++/CLI] RootNamespaceが狂っていると、System.Resources.MissingManifestResourceExceptionが発生します。</title><link>http://blogs.wankuma.com/hirase/archive/2008/06/10/142642.aspx</link><pubDate>Tue, 10 Jun 2008 15:07:00 GMT</pubDate><guid>http://blogs.wankuma.com/hirase/archive/2008/06/10/142642.aspx</guid><wfw:comment>http://blogs.wankuma.com/hirase/comments/142642.aspx</wfw:comment><comments>http://blogs.wankuma.com/hirase/archive/2008/06/10/142642.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.wankuma.com/hirase/comments/commentRss/142642.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/hirase/services/trackbacks/142642.aspx</trackback:ping><description>&lt;p&gt;C++/CLIアプリを作成して、ローカライズ（L10N or I18N) します。このとき、もし自分で名前空間を変えているなら、実行時に「System.Resources.MissingManifestResourceException」例外が発生します。&lt;/p&gt;
&lt;h3&gt;詳細&lt;/h3&gt;
&lt;p&gt;どうもアセンブリリソースを埋め込む際に、ルート名前空間を見て名前を修飾して埋めているらしく、ローカライズしたフォーム（ApplyResourceを呼びだしている）クラスの名前空間がルート名前空間とずれていると、実行時に適切なリソースを見つけられなくて、「System.Resources.MissingManifestResourceException」例外が発生するようです。&lt;/p&gt;
&lt;p&gt;対処方法は2つ。（ま、結局2つともに同じことなんですけど）&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;フォームクラスの名前空間を、ルート名前空間に合わせる。&lt;/li&gt;
&lt;li&gt;ルート名前空間を、フォームクラスの名前空間に合わせる。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;ルート名前空間は、プロジェクトのプロパティウィンドウ（プロパティページでもプロパティマネージャでもないですよ！）の、ルート名前空間で変更するか、プロジェクトをいったんソリューションエクスプローラからアンロードして、右クリックで編集するなどします。&lt;/p&gt;
&lt;p&gt;あぁ、つらい。&lt;/p&gt;
&lt;img src ="http://blogs.wankuma.com/hirase/aggbug/142642.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>T.Hirase</dc:creator><title>[C++/CLI] アンマネージのコールバックにマネージのメソッドを登録する。</title><link>http://blogs.wankuma.com/hirase/archive/2008/06/09/142430.aspx</link><pubDate>Mon, 09 Jun 2008 21:34:00 GMT</pubDate><guid>http://blogs.wankuma.com/hirase/archive/2008/06/09/142430.aspx</guid><wfw:comment>http://blogs.wankuma.com/hirase/comments/142430.aspx</wfw:comment><comments>http://blogs.wankuma.com/hirase/archive/2008/06/09/142430.aspx#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://blogs.wankuma.com/hirase/comments/commentRss/142430.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/hirase/services/trackbacks/142430.aspx</trackback:ping><description>&lt;p&gt;こんな方法は・・・・・・・&lt;/p&gt;
&lt;pre class="cpp" xml:space="preserve" name="sourceCode"&gt;using namespace System;

#pragma unmanaged
// コールバック関数の型
typedef int (__stdcall *CallbackFuncType)(int, float);

// コールバック関数
static CallbackFuncType g_func;

// コールバック関数の登録
void SetCallback(CallbackFuncType f)
{
    g_func = f;
}

// コールバック関数の呼び出し。
int Run()
{
    return g_func(10, 0.5f);
}
#pragma managed

int __stdcall MyFunc(int i, float f)
{
    Console::WriteLine(i.ToString());
    return static_cast&amp;lt;int&amp;gt;(i * f);
}

int main(array&amp;lt;System::String ^&amp;gt; ^args)
{
    // Callback登録（マネージ関数を登録・・）
    SetCallback(MyFunc);

    // GCしても大丈夫かを確認（登録した関数ポインタがGCされる・・ない）
    GC::Collect(2, GCCollectionMode::Forced);

    // コールバックをネイティブ関数に呼び出してもらう（GCされてたら死亡）
    Int32 ret = Run();
    Console::WriteLine(ret.ToString());

    return 0;
}
&lt;/pre&gt;
&lt;p&gt;これって、どうなんだろう。実行は問題ないんだけど。。&lt;/p&gt;
&lt;p&gt;MSDN「&lt;a href="http://msdn.microsoft.com/library/367eeye0.aspx"&gt;方法 : C++ Interop を使用してコールバックおよびデリゲートをマーシャリングする&lt;/a&gt;」とは違う方法で、&lt;a href="http://msdn.microsoft.com/library/system.runtime.interopservices.marshal.getfunctionpointerfordelegate.aspx"&gt;Marshal::GetFunctionPointerForDelegate()&lt;/a&gt; も使わないんだけど・・・。&lt;/p&gt;
&lt;p&gt;何かご存じの方、、ヘルプミー。&lt;/p&gt;
&lt;h3&gt;See Also&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=36275&amp;forum=7"&gt;[C#] デリゲートをGCの対象から外す方法&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://msdn.microsoft.com/ja-JP/library/367eeye0.aspx"&gt;方法 : C++ Interop を使用してコールバックおよびデリゲートをマーシャリングする&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/367eeye0.aspx"&gt;How to: Marshal Callbacks and Delegates Using C++ Interop&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;img src ="http://blogs.wankuma.com/hirase/aggbug/142430.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>T.Hirase</dc:creator><title>[C] wchar_tって・・・。</title><link>http://blogs.wankuma.com/hirase/archive/2008/05/27/139688.aspx</link><pubDate>Tue, 27 May 2008 22:37:00 GMT</pubDate><guid>http://blogs.wankuma.com/hirase/archive/2008/05/27/139688.aspx</guid><wfw:comment>http://blogs.wankuma.com/hirase/comments/139688.aspx</wfw:comment><comments>http://blogs.wankuma.com/hirase/archive/2008/05/27/139688.aspx#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://blogs.wankuma.com/hirase/comments/commentRss/139688.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/hirase/services/trackbacks/139688.aspx</trackback:ping><description>&lt;p&gt;VC2008で、ソースファイルのプロパティで&lt;br&gt;
「詳細」の「コンパイル言語の選択」を「Cコードとしてコンパイル (/TC)」として、&lt;br&gt;
「言語」の「wchar_t をビルトイン型として扱う (/Zc:wchar_t」を「はい」にすると、&lt;br&gt;
wchar_t が組み込み型として使えそうなのに、使えないんですね・・・。&lt;br&gt;
&lt;br&gt;
# wchar.hをincludeすれば使えますけど、unsigned short扱いだし、&lt;br&gt;
# CRTを使いたくないのに、wchar.h から crtdefs.h を読み込んじゃうし・・・&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
C で書くなと？？&lt;br&gt;
&lt;/p&gt;&lt;img src ="http://blogs.wankuma.com/hirase/aggbug/139688.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>T.Hirase</dc:creator><title>[雑記] バージョン表記について</title><link>http://blogs.wankuma.com/hirase/archive/2008/05/21/138790.aspx</link><pubDate>Wed, 21 May 2008 21:05:00 GMT</pubDate><guid>http://blogs.wankuma.com/hirase/archive/2008/05/21/138790.aspx</guid><wfw:comment>http://blogs.wankuma.com/hirase/comments/138790.aspx</wfw:comment><comments>http://blogs.wankuma.com/hirase/archive/2008/05/21/138790.aspx#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://blogs.wankuma.com/hirase/comments/commentRss/138790.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/hirase/services/trackbacks/138790.aspx</trackback:ping><description>&lt;p&gt;ちょっと、ググってみた感じ、世間一般的なバージョン表記は、桁数の違いはあるけれど、次のどれかだと思う。。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Ver.1.2　（ゼロ詰めなし）&lt;/li&gt;
&lt;li&gt;Ver.1.02 （ゼロ詰めあり、2桁）&lt;/li&gt;
&lt;li&gt;Ver.1.002（ゼロ詰めあり、3桁）&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Windowsや.NET Framework、Linux、Macなどは、ゼロ詰めなしで、、PS3のシステムバージョンやフリーソフトの一部はゼロ詰めありという感じになっている。（ちょっと思いついたところだけ調べただけなので、まだまだ調べたりないけれど）。で、自分はどのバージョン表記にならえばいいんだろうか、というのが今日のアジェンダ。&lt;/p&gt;
&lt;p&gt;会社では、「1.02」というようなゼロ詰め2桁表記を使うことが多い。けれど、今回は .NET アプリなんですよ。.NETでは通常、4桁ゼロ詰めなしの表記を使っているようですし、Windowsのファイルエクスプローラでプロパティを見たときも、たいてい4桁ゼロ詰めなしですし、詳細表示にしても同様です。そんなわけで、.NET アプリのバージョンを付けるときは、4桁ゼロ詰めなし表記にしたいんですけど・・・・。&lt;/p&gt;
&lt;p&gt;個人的には、会社の方針云々を使ってもらう人に押しつけるよりも、郷に入っては郷に従うのでいいんじゃないかと思うんですけど・・・・・・・。（それに、はじめから用意されている方法・指針で付けた方が楽ですし）。&lt;/p&gt;
&lt;p&gt;※AssemblyVersionとAssemblyFileVersionとAssemblyInformationalVersionって、何か明確に区別するのが良いんでしょうか。何かご存じの方いれば、よろしくお願いします。&lt;/p&gt;
&lt;img src ="http://blogs.wankuma.com/hirase/aggbug/138790.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>T.Hirase</dc:creator><title>Microsoft DreamSpark はじめました。</title><link>http://blogs.wankuma.com/hirase/archive/2008/05/13/137540.aspx</link><pubDate>Tue, 13 May 2008 23:15:00 GMT</pubDate><guid>http://blogs.wankuma.com/hirase/archive/2008/05/13/137540.aspx</guid><wfw:comment>http://blogs.wankuma.com/hirase/comments/137540.aspx</wfw:comment><comments>http://blogs.wankuma.com/hirase/archive/2008/05/13/137540.aspx#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://blogs.wankuma.com/hirase/comments/commentRss/137540.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/hirase/services/trackbacks/137540.aspx</trackback:ping><description>あぁ、学生に戻りたい。
http://www.microsoft.com/japan/presspass/detail.aspx?newsid=3437
&lt;img src ="http://blogs.wankuma.com/hirase/aggbug/137540.aspx" width = "1" height = "1" /&gt;</description></item></channel></rss>