仮面's profile宇宙仮面の C# 研究室.Live SpacePhotosBlogListsMore ![]() | Help |
|
|
November 23 .NET Micro Framework 4.0 FeaturesMicrosoftは、組み込みシステム向けの開発および実行環境である「.NET Micro Framework」の大部分をオープンソース化した。 今回のエンハンスポイントは次にような感じらしい。
March 14 VS2008でASP.NETプロジェクトを作ると落ちるイベントビューアーで調べると・・・ 障害が発生しているアプリケーション devenv.exe、 ふむううう。 イベントビューアーで調べたら、直前に警告で テンプレート (C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\ProjectTemplates\CSharp\Windows\1041\WPFBrowserApplication.zip)、ファイル (csWPFBrowserApplication.vstemplate) にエラーがあります。不明な要素 (EnableEditOfLocationField) です。解析で修復を試行します。 と出ている。ファイルがおかしくなっているせいか? くそっ、C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\ProjectTemplates\CSharp\Windows\1041 以下を消して、再インストールしてみる。 そうしたら、また修復も、アンインストールもできない罠。orz January 26 Culminis : 1/22/2009 Announcing the APAC Regional Boardシアトルでルームシェアしたインド人の Ashwin からのチャットで、次のお知らせをもらった。 http://thevoice.culminis.com/APAC/Lists/Posts/Post.aspx?ID=4 北端さんが DAL (Director-at-Large): で日本代表として参加されているとのこと。 プロファイルは http://new.culminisconnections.com/BOD/APAC.aspx?PageView=Shared October 03 ZAM 3D CTP 135 がアップされています。ZAM 3D CTP 130 が9月末日でエクスパイアしたと思います。
報告して、対応をお願いしたら、
ZAM 3D CTP 135 がダウンロード可能になったとの連絡がありました。
こちらです。
あと、日本語フォントのドロップダウンのバグも報告したら、日本語版のリリースも予定されているとのこと。
August 11 Web Service の Web サイトの発行時の単なるメモWeb Service の Web サイトの発行時の単なるメモ。 たまにしか、Web Service の発行はしないので、毎回迷う。メモっておこう。 Web Service の発行時のターゲットの場所
この下に、ソリューションのファイル(Service.asmx, etc) がコピーされる。
Virtual Directory が作成される。そこにホスティング管理ソフトより Script の実行権を付与する必要がある。
Web Service の発行時のターゲットの場所に、
を指定してしまうと、既存のファイルが消されてしまい、復旧が面倒なので注意。
April 22 Visual Studio Orcas Beta 1 ダウンロード開始March CTP をさっきインストール終わって、触ってみるかと思いつつ・・・
あれ? Beta 1 でてるじゃん・・・ orz
ということで Beta 1ダウンロード中。おそ!
ISOで自分でインストールか、Virtual Image でインストール済みのイメージも提供されている。
January 07 Visual Source Safe のクライアントライセンスによると、
ライセンスVisual SourceSafe のライセンスは、製品をインストールまたは使用するコンピュータごとに必要です。たとえば、100 人が Visual SourceSafe データベースを使用する場合、著作権法を遵守するためには、100 個の Visual SourceSafe ライセンスを購入する必要があります。ユーザーがクライアント コンピュータに Visual SourceSafe をインストールする場合、ライセンスされた製品パッケージの CD キーを各ユーザーごとに用意する必要があります。すべてのユーザー用に同じ CD キーを使用してインストールすることはできますが、その場合でも、ライセンス数はユーザー全員の分を用意する必要があります。 とあり、ユーザーー全員の分が必要となる。小売価格で8万円~9万円するので、大規模開発だと相当な出費になる・・・CVSやSource Forgeに走るのも無理ない。
October 23 Microsoft .NET Compact Framework の P/Invoke とマーシャリング入門よくまとまっていそうなので、メモ。
あとでよく読んでみよう・・・と思う前に、読んで試してみた。。。
メモリーはこんな感じ。
さすがにW-ZERO3はゼロスピンドルなので、ページファイルは何も帰ってこなかった。w private struct MEMORY_STATUS { public uint dwLength; public uint dwMemoryLoad; public uint dwTotalPhys; public uint dwAvailPhys; public uint dwTotalPageFile; public uint dwAvailPageFile; public uint dwTotalVirtual; public uint dwAvailVirtual; } [DllImport("coredll.dll", SetLastError=true)]
private static extern void GlobalMemoryStatus(ref MEMORY_STATUS ms); private MEMORY_STATUS GetMemStatus()
{ MEMORY_STATUS ms = new MEMORY_STATUS(); GlobalMemoryStatus(ref ms); return ms; } -------------
CPU負荷も、こんなことしないとだめなのね・・・
dwStartTick = GetTickCount(); dwIdleSt = GetIdleTime(); // タイマーか、何かの処理 October 22 TextureBrush OutOfMemoryException with .NET Compact Framework 2.0I encounterd TextureBrush OutOfMemoryException with .NET Compact Framework 2.0.
Environment:
Visual Studio 2005 Team Suite / Japanese version.
.NET Compact Framework 2.0 Service Pack 1
Sharp W-ZERO3 WS004SH for the target machine.
By using TextureBrush with extensive FillPolygon results in OutOfMemoryException.
Forcing GC does not help.
I used the using pattern, and those instances should have no leak.
If I replace
g.FillPolygon(textureBrush, drawArea);
with g.FillRectangle(textureBrush, 0,0,100,100); then, it works fine.
Therefore, it could be a potential bug of .NET Compact Framework 2.0.
I have checked out the same symptom by the Google and found a few people reported same issue.
But, there seems to be no solution yet. -----------------
// Run following code and wait for a few minutes, then results in the exception.
// Please note that you have to add a timer with 100mSEC interval and enabled state. -----------------
using System;
using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; namespace TextureBrushOutOfMemory1
{ public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void timer1_Tick(object sender, EventArgs e)
{ this.Invalidate(); } private Bitmap backBuffer = null;
Point[] drawArea = { new Point(10, 10), new Point(90, 10), new Point(90, 90), new Point(10, 90) }; Bitmap bmp = null; Random rnd = new System.Random(); private void Form1_Paint_1(object sender, PaintEventArgs e)
{ using (Graphics g = e.Graphics) { doPaint(sender, g); } } private void doPaint(object sender, Graphics gr)
{ // Make a new back buffer if needed. if (backBuffer == null) { backBuffer = new Bitmap(this.ClientSize.Width, this.ClientSize.Height); } if (bmp == null)
bmp = new Bitmap(100, 100); // Create Image for TextureBrush
using (Graphics g = Graphics.FromImage(bmp)) using (SolidBrush redBrush = new SolidBrush(Color.Red)) using (SolidBrush blueBrush = new SolidBrush(Color.Blue)) { float val = 0.5F; g.FillRectangle(redBrush, 0, 0, 100, 100); for (int i = 0; i < rnd.Next(300); i++) { g.FillRectangle(blueBrush, (int)(val * rnd.Next(100)), 100 - (int)(val * rnd.Next(100)), (int)(val * rnd.Next(50)), (int)(val * rnd.Next(50))); } } // FillPolygon on the backBuffer with textureBrush
using (Graphics g = Graphics.FromImage(backBuffer)) using (TextureBrush textureBrush = new TextureBrush(bmp)) { g.FillPolygon(textureBrush, drawArea); // g.FillRectangle(textureBrush, 0,0,100,100); // FillRectangle works fine.
// But, FillPolygon results in Out of Memory Exception. } // Force GC by GC.Collect() or WaitForPendingFinalizers() is not effective. GC.Collect(); GC.WaitForPendingFinalizers(); // Draw the backBuffer to the FormWindow
gr.DrawImage(backBuffer, 0, 0); } protected override void OnPaintBackground(PaintEventArgs pevent)
{ // avoid flicker } private void button1_Click(object sender, EventArgs e)
{ Application.Exit(); } } } October 01 XMLスキーマから、DataSetから継承したクラスを作成する方法xsd.exe /l:cs /d xmlschema1.xsd を実行すると、次のような DataSetから継承したクラス(名前はデフォルトでDocument)を作成してくれる。 とりあえずメモっておこう。 //------------------------------------------------------------------------------ // <自動生成> // このコードはツールによって生成されました。 // ランタイム バージョン:2.0.40607.42 // // このファイルへの変更は、以下の状況下で不正な動作の原因になったり、損失したりします: // コードは再生成されました。 // //------------------------------------------------------------------------------ using System; // // This source code was auto-generated by xsd, Version=2.0.40607.42. // [Serializable()] [System.ComponentModel.DesignerCategoryAttribute("code")] [System.ComponentModel.ToolboxItem(true)] [System.Xml.Serialization.XmlSchemaProviderAttribute("GetTypedDataSetSchema")] [System.Xml.Serialization.XmlRootAttribute("Document")] public partial class Document : System.Data.DataSet { Culminisラテン語の“culmin”と英語の“culmination”にちなんで作った造語。どちらも「頂上」というような意味がある。 Culminisは、Windowsを中心とする情報システムに関与するIT Proコミュニティの活性化に向けて、全世界規模で活動する非営利団体である。約2年前に設立され、現時点では、全世界60カ国で700を超えるユーザー・グループが参加しており、これらのユーザー・グループに参加しているIT Proを総計すると100万人を超える(2006年6月30日時点で102万5731人)。Culminisの目的は、全世界にあるIT Proのユーザー・グループやコミュニティを支援することで、それらのコミュニティに参加するIT Proのスキルアップや問題解決、地位向上、若手技術者育成などを促すことだ。具体的には、ユーザー・グループの効率的な運営指導、技術セミナーなどで利用できる各種カリキュラムの提供、ユーザー・グループ間の連携支援などを行っている。 http://www.atmarkit.co.jp/fwin2k/itpropower/powerinterview/culminis/culminis_01.html |
|
|