2012年04月18日

IE9で style.height に代入できない

業務用のイントラページなどでは、DIVタグの用いてページの一部分をスクロールバー付きウィンドウの様に表示するケースが良くある。
この際、リサイズイベントなどでスクロール領域の高さや幅の動的な変更を行うが、IE9では、正しく動作しない場合がある。

具体的には、IE8以下や他のブラウザの多くでは、

document.getElementById("divData").style.height = "500";

で問題なく動作するが、IE9ではうまく行かない。
(特にエラーとなる訳でも無く、処理が無視された様な挙動となる。)

原因は、IE9では単位の判定が厳密になった為と思われる。
単位をピクセルとして、明確に指定すれば回避でき、また、IE8以下でも弊害はない。

document.getElementById("divData").style.height = "500px";

要は、普段からちゃんと単位指定しなさいという事かと。
posted by rocknfields at 15:10| HTML, CSS, JavaScript

2012年04月12日

インスタンスやオプションの追加/削除

SQL Server 2005〜 でのインスタンスの追加/削除は、ControlPanel の「Add or Remove Programs」から行う方が確実。

一覧中で SQL Server 関係のエントリのうち、以下のものを起動する。
◆SQL Server 2005の場合
・Microsoft SQL Server 2008 「Change」「Remove」

 修正や追加なら「Change」、削除なら「Remove」をクリック。
 ⇒当該モードでダイアログが表示されるので、適宜設定し実行する。

◆SQL Server 2008 / 2008 R2 の場合
・Microsoft SQL Server 2008 「Change/Remove」
・Microsoft SQL Server 2008 R2 「Change/Remove」

 起動後、Add / Repair / Remove を選択するダイアログが表示されるので、何れかをクリック。
 ⇒当該モードでインストーラが起動される。
 (手動でインストーラにパラメータを指定しても同様の起動が可能だが、ここからの起動の方が確実。)
posted by rocknfields at 16:21| SQL Server

2012年04月09日

VisualStudioのプロジェクト(WEBアプリとWEBサイト)

Visual Studio 2005 以降、WEBページを作成する方法として、WEBアプリとWEBサイトの2つが提供されている。
デフォルト設定での主な相違点は、以下の通り。

◆WEBアプリケーションプロジェクト
・プロジェクト/ソリューションファイル:有り
  プロジェクトファイルに登録されているもののみがビルド対象。
・ビルドタイミング:作成時
  複数のコードは単一のDLLにビルドされる。
・デプロイ対象:
  単一DLLのデプロイとなる為、軽微な修正でも全アプリのデプロイ対象となり、一時的に全アプリのサービスが停止するとも考えられる。

◆WEBサイトプロジェクト
・プロジェクト/ソリューションファイル:無し
  フォルダー下の全コードファイルがビルド対象
・ビルドタイミング:実行時
  IIS上にデプロイされたコードが初回実行時にビルドされる。
・デプロイ:
  修正対象となったコードファイルのみで可。それ以外のアプリはサービス継続可能。

それぞれ一長一短は有り意見が分かれる所とは思われるが、メンテナンス性の観点からは後者かと。
実際、後者はVS2005から追加されたものなので、その部分の不便さを補完する意味があるのでは。

cf.
http://msdn.microsoft.com/ja-jp/library/dd547590.aspx
posted by rocknfields at 17:26| ASP.NET & IIS設定

2012年04月05日

Visual Sourcesafe オプションのデフォルト値変更

ソース管理にVisual Sourcesafeを使用してチーム開発を行う場合、Visual Sourcesafe オプションのデフォルト値を一括して変更したい場合が有る。
特に、ローカルファイル関係の[タイムスタンプ]や[読み取り属性]は、デフォルト値では、実際の運用にちょっと相応しくない。
SRCSAFE.INIの内容を追記/変更する事で、デフォルト値の変更が可能。

[タイムスタンプ] => [変更時刻]
SetTime = Mod

[読み取り属性] => [セットしない]
Use_Readonly = No

cf.
http://support.microsoft.com/kb/138147/ja
posted by rocknfields at 12:06| .Netコーディング (C#, VB etc)

2012年04月04日

VB vs C# コンバート

VB と C# では、言語仕様の関係から、必ずしも同等のコードを記述できないケースがある。
以下、現状、把握できているケース。

◆VBの引数付きプロパティは、C#に変換できない。
C#ではコレクションを返し、呼び出し側でハンドリングする事を想定していると思われる。

cf.
http://ufcpp.net/study/csharp/oo_property.html#indexed


◆VBのオプショナル引数を関数は、C#に変換できない。
VisualStudio2008(.Net3.5)までは、C#でオプショナル引数が使えない。(C# 3.0の仕様)
この為、オーバーロード関数などで対応する必要あり。
尚、VisualStudio2010(.Net4)からは、使用可能。(C# 4.0の仕様)

cf.
http://ufcpp.net/study/csharp/sp4_optional.html#optional

※その他、各言語間のキーワード比較は以下を参照。
http://msdn.microsoft.com/ja-jp/library/zwkz3536.aspx
http://dobon.net/vb/dotnet/vb2cs/vb2cstable.html
posted by rocknfields at 17:47| .Netコーディング (C#, VB etc)

BitMaskをenum定義する

EnumにFlags属性を付与すると、Bitデータとして定義する事ができ、Enumメンバーをビット演算やビットマスクに使用可能となる。

== C# =========================

[Flags]
public enum BitTest
{
LSB = 0x00,
2bit = 0x01,
3bit = 0x02,
4bit = 0x04,
5bit = 0x08,
:
}

== VB =========================

<Flags()> _
Public Enum BitTest
LSB = &H0
2bit = &H1
3bit = &H2
4bit = &H4,
5bit = &H8,
:
End Enum

cf.
http://www.atmarkit.co.jp/fdotnet/dotnettips/1052enumflags/enumflags.html
http://msdn.microsoft.com/ja-jp/library/cc138362.aspx
posted by rocknfields at 17:22| .Netコーディング (C#, VB etc)