JavaScriptで動的にエレメントを作成するときは、
var div = document.createElement('div');
のようにやります。
たとえば、ボタンを作ってそのボタンにクリックイベントを追加、などの良くある処理は、jQueryを使って、
var button = $(document.createElement('button'))
.attr('type', 'button').text('ぼたん');
button.click(function() {
alert('hello');
});
$('#hoge').next(button);
のようにやると思います。typeを設定しているのは、デフォルトだとsubmit扱いになってしまうからです。
しかしこれ、IEだとエラーになります。
type property can’t be changed
buttonのtypeはなぜか読み取り専用プロパティらしい・・・
ということで、ちょっとダサイですが、以下のようにやって解決。
var button = $('<button type="button">ぼたん</button>');
以上、ちょっとした注意点でした。
※基本機能です
Excel 2003までは、「ファイル」→「VBAエディタ」といった操作で、VBAのエディタを起動することができました。
Excel 2007では、リボンの「開発」タブから該当機能を起動するのですが、デフォルトでは開発タブがありません。
Excelのオプションで、チェックボックスをONにすることで、表示されるようになりました。

開発タブを表示
さて、そろそろ2010製品版も試してみたいですね。
ベータ版はなかなか良かったので、期待。
久しぶりに、自分の中でヒットした本があったのでご紹介します。結構有名だと思いますが・・・
ユーザビリティ、セキュリティなどの面で、プログラマには文字コードの知識が必須です。
しかし、最近は高級言語が主流なこともあり、文字のバイト列を意識することすら少なくなっています。「文字化けしたから対応しよう」程度の意識しか無い人も多いのではないでしょうか?
この本では、完全にプログラマー向けで、文字コードの歴史や技術、問題点、解決案などが紹介されています。
社内のプログラマには読ませてみようと思います。
Java の charAt() と codePointAt() の違いが分からないようでは困りますので。
巻末のほうにある、「txtファイルに見せかけたexeファイルの作り方」は面白いですね。
UnicodeのRLO (RIGHT-TO-LEFT-OVERRIDE) を使うことで、txt.exeをexe.txtに見せかけるやりかたです。
ちなみに、この方法を使ったファイルをGmailで送信しようとしたところ、以下のようなエラーが出ました。
見事に崩れていて面白いです。

GMailでのエラーメッセージ
伊藤です。
Linux/Mac上で開発されていたコードをWindows上でXAMPP(Apache, MySQL, PHP)を使って動かそうとしたところ、動かないコードがありました。
それはファイル操作のrenameです。
windowsではファイルオープン中にrenameやunlinkでファイルをリネームしたり、削除したりすることができないようです。
Rubyのメーリングリストでも、話題になっていました。(PHPとは関係ないですが、プラットフォームの問題だと思いますので同じでしょう)
http://pub.cozmixng.org/~the-rwiki/rw-cgi.rb?cmd=view;name=Windows+%A4%CE+IO
対策としては、きちんとcloseしてからrename, unlinkすればOKでした。
また、Windowsでは、rename(old, new)としたときにnewのパスに既にファイルが存在していると、
エラーになるという報告もありますので、併せて気をつけたいですね。
http://ml.php.gr.jp/pipermail/php-users/2005-October/027828.html
UNIX互換OSばかり使っていると、Windowsでの開発のハマりどころを忘れてしまいそうです^^;
ではでは
Windowsではファイルが消せないトラブルが良くありますね。
代表的なのは別プロセスが使用している場合ですが、ファイル名が不正になっているのが原因のこともあります。
http://support.microsoft.com/kb/320081/ja
今回は、Macで圧縮したファイルを文字化けせずに展開できるExplzhで解凍したファイルが、削除できなくなりました。
文字コードの関係で、フォルダの最後にスペースが入ってしまったのが原因です。
こうなってしまったらExplorerで削除する方法はないので、コマンドプロンプトで
rd /s "\\?\C:\Users\baba\Desktop\hoge "
のように、ダメなフォルダを指定します。
ファイルの場合は、rd /s の代わりに del を使えばOKです。
WIndowsのCOMコンポーネントは、STA(シングルスレッドアパートメント)でないとエラーになります。
Windows Forms Applicationを作ると、デフォルトではMain()にSTAThreadが付いているはずです。このため、普段は問題ありません。
static class Program
{
[STAThread]
static void Main()
{
}
}
しかし、Threadを新規作成して、そのスレッドないでクリップボードやActiveXコントロールを使おうとすると、ThreadStateExceptionが発生します。
Threadオブジェクトのプロパティで設定しておきましょう。
var th= new Thread(new ThreadStart(threadMethod));
th.SetApartmentState(ApartmentState.STA);
th.Start();
今更ながら、Google Chromeのソースコードを入手して色々調べています。
ここにダウンロード方法がありますね。
http://dev.chromium.org/developers/how-tos/get-the-code
書いてある内容はシンプルで、SVNで以下をチェックアウトすればOKです。
http://src.chromium.org/svn/trunk/src
Googleプロジェクトなのに、SVNを使っていたりVisualStudioのプロジェクトだったりと、なかなかおもしろいです。
普段のようにApacheを起動しようとしたら、うまくいかないことがありました。
エラーを見ると、ポート80が使われている様子。どうせSkypeだろうとおもったら、違いました。
netstat -oan
で、80番を握っているアプリを調べたところ、PID=4のSystemプロセスでした。
ウィルスかと思って止めたら、Windowsが落ちました。本物のSystemですね。
どういうことかと思ったら、ようするにIISが動いていました。
インストールしたつもりは無いのですが、タイミング的に考えると、どうやらVisual Studio 2010をインストールするときに、オプションで有効化されていたみたいです。
IISを無効にしてあげれば、XAMPPが起動します。

コントロールパネル「プログラムと機能」から、Windows機能の有効・無効化を実施

IISを無効化する
先日、Visual Studio 2010 と Silverlight 4 の正式版がリリースされました。
Betaのもっさり不安定感は払拭され、かなり良く動くようになっています。
しかし、Visual Studio 2010 は、初期状態では Silverlight 3 までの開発しか対応していません。
Silverlight 4 の開発には、アドオンをインストールする必要があります。
http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=bf5ab940-c011-4bd1-ad98-da671e491009
そして、このアドオンは英語版 Visual Studio にしか対応していません。
BizSpark なので、ダウンロードし直せば済みましたが、パッケージ買って今すぐ開発するぜ!という人は、気をつけないといけませんね。
※日本語版をインストール → 英語評価版をインストール → アドオンをインストール してもOKです。
一度アドオンを入れれば、日本語版でもアドオンが使えるようになっています。謎仕様です。
Visual Studio 2010で遊んでみたくなったので、またちょっとしたものを作ってみました。
画面上で簡易的にOCRを実行するアプリです。
http://www.bpsinc.jp/blog/mini-software/screenocr
実行するのにOffice Document Imagingのインストールが必要で、若干面倒ですが、良かったら試してみて下さい。