C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

全過去ログを検索

<< 0 >>
■42043  Re[5]: イントラネット環境におけるライセンス管理について
□投稿者/ ジェット -(2009/10/07(Wed) 09:28:00)
    No42040 (774RR さん) に返信
    > 自力で作るのも選択肢としてはありだと思うのだが
    > 費用対効果を考えると限りなく微妙というか、買ったほうが結果的に安いと思うというか・・・
    >
    > やるべきことは簡単で
    > ・ LAN 内部に1台ライセンスサーバを設ける (DB サーバ機にライセンスサーバソフトをインストール)
    > ・各クライアントは起動時にライセンスサーバからライセンスを借りる
    >  借りられない=同時起動 max に達していたら、起動しない
    > ・各クライアントは終了時にライセンスサーバにライセンスを返却
    >
    > なわけで *これだけなら* 技術的にはたいしたことない話で多分数時間で実装可能。
    >
    > 考えるべきはセキュリティ的事項やエラー発生時の復旧方法などなどの異常系動作で
    > ・クライアントがライセンス返却せずに電源断したら?
    > ・クライアントのLANケーブルを抜いた状態でシャットダウンしたら?
    > ・ライセンスサーバソフトを複数台のマシンにインストールされちゃったら?
    > ・ライセンスサーバソフトのライセンスファイルの改変にどう対処する?
    > ・ライセンスサーバがクラッシュしたら、復旧までの時間にかかる、そのお客様の損害は誰が補填する?
    > などなど考えなきゃならないことは死ぬほどある。
    > (しかもこの辺、全部「ライセンス=お金」がらみなので、実装前に考えておかないとドツボ)
    >
    > そういう話を提供側・利用側でクリアにしておかないとまずいわけで、
    > ならば実績のあるソフトを使ってしまえと俺なら思う。
    > 「実績がある」=「お客様の説得材料になる」という点でも。

    とても詳しい説明ありがとうございます。
    実績のあるソフトを使用するほうが、簡単そうですね。
    他社ソフトを使用する方向で検討させて頂きます。
    ありがとうございました。

記事No.41999 のレス / END /過去ログ72より / 関連記事表示
削除チェック/

■60201  Re[3]: [C#] List化された構造体のコピー
□投稿者/ Azulean -(2011/06/22(Wed) 23:28:05)
    No60196 (逆運の覇者 さん) に返信
    > public partial class Form2 : Form
    > {
    > Form1 f = new Form1();
    > List<AAA> aaa = f.GetAAA();
    > f.Dispose();
    > }

    はしょっているせいでおかしくなっているのかもしれませんが、これでは Form1 → Form2 の値渡しというよりは、Form2 が Form1 を一時的に作って取っているだけですよね。

    元の質問には書かれていませんが、Form1 が Form2 を表示し、その際に List を引き渡したいというよくある話であれば、このサンプルでは不適当になりかねません。
    また、new して値をとって捨てるだけなら、おそらく渡したい値は List に入っていないのではないでしょうか。
    # Load イベントって new しただけじゃこなかった記憶もありますが、未確認。
記事No.60192 のレス /過去ログ101より / 関連記事表示
削除チェック/

■69377  Amazon MWS Scratchpadとツールについて
□投稿者/ 遠山 -(2013/12/20(Fri) 17:40:24)

    分類:[.NET 全般] 

    Amazon MWS Scratchpad APIを使用してレスポンスを調べてみました。
    Requetst URLはhttps://mws.amazonservices.jp/Products/2011-10-01? になります。

    ツールで同じ内容でリクエストしたのですがSignatureDoseNotMatch 403エラーが返ってきます。
    Amazon MWS ScratchpadとツールのSignatureは同じなはずなのですがエラーが返ってきます。

    対処法はありますでしょうか。
    宜しくお願いします。
親記事 /過去ログ118より / 関連記事表示
削除チェック/

■87528  Re[2]: Icon について
□投稿者/ 夜叉丸 -(2018/06/01(Fri) 08:49:16)
    2018/06/01(Fri) 10:20:31 編集(投稿者)
    2018/06/01(Fri) 09:38:39 編集(投稿者)
    2018/06/01(Fri) 08:51:29 編集(投稿者)

    <pre><pre>Icon→byte[]
    private byte[] GetBytearrayFromIcon(Icon icon)
    {
     MemoryStream ms = new MemoryStream();
     Bitmap bmp = icon.ToBitmap();
     bmp.Save(ms, ImageFormat.Png);
     byte[] ret = ms.GetBuffer();
     ms.Close();
     return (ret);
    }

    private Icon GetIconFromByteArray(byte[] bytes)
    {
     try
     {
      MemoryStream ms = new MemoryStream(bytes);
      Icon icon = System.Drawing.Icon.FromHandle((new Bitmap(ms)).GetHicon());
      ms.Close();
      return (icon);
     }
     catch
     {
      return (null);
     }
    }

    以上のようにしてアイコン←→Byte[] の変換をすることができました
記事No.87523 のレス /過去ログ150より / 関連記事表示
削除チェック/

■87529  Re[3]: Icon について
□投稿者/ 魔界の仮面弁士 -(2018/06/01(Fri) 12:04:22)
    No87528 (夜叉丸 さん) に返信
    > データの後半部分のデータが消えています。
    > データサイズが正常な953バイトに対して682バイトしかなかったです。

    連続実行させて検証していないので、思いつきになりますが、
    > Icon icon = System.Drawing.Icon.FromHandle((new Bitmap(ms)).GetHicon());
    HICON からの読み取り中に、Bitmap が Dispose されてしまったとか?
    うーん。すぐには思い当たらないです。


    >  byte[] ret = ms.GetBuffer();
    GetBuffer には、未使用バイト領域が含まれる可能性がありえます。

    今回は問題無いとしても、念のため ToArray を使った方が良いと思いますよ。
    あるいは TryGetBuffer メソッドでも良いですけど。
    http://8thway.blogspot.com/2015/12/memorystream.html


    ちなみに、
      MemoryStream ms = new MemoryStream();
      ms.Write(Enumerable.Repeat(byte.MaxValue, 1024).ToArray(), 0, 1024);
      ms.WriteByte(byte.MaxValue);
      int i1 = ms.Capacity;
      int i2 = (int)ms.Length;
      byte[] b1 = ms.GetBuffer();
      byte[] b2 = ms.ToArray();
      ArraySegment<byte> b3; ms.TryGetBuffer(out b3);
      ms.Close();
    というコードの場合、
      i1 は 2048 (バッファ長)
      i2 は 1025 (実データ長)
      b1.Length は 2048 (バッファ長)
      b2.Length は 1025 (実データ長)
      b3 は .Offset = 0, .Count = 1025, .Array.Length = 2048
    という結果になりますね。



    > private byte[] GetBytearrayFromIcon(Icon icon)
    >  Bitmap bmp = icon.ToBitmap();

    > private Icon GetIconFromByteArray(byte[] bytes)
    >  bmp.Save(ms, ImageFormat.Png);

    .ico フォーマットではなく .png フォーマットで永続化しているのは、
    意図的なものでしょうか。


    もしも Ico 形式のまま無加工で永続化するなら、こんな感じで書けそうです。

    // 利用方法:
    //  byte[] binary = srcIcon.ToBinary();
    //  Icon dstIcon = bin.ToIcon();
    public static class IconExtensions
    {
     public static byte[] ToBinary(this Icon ico)
     {
      using (var ms = new MemoryStream())
      {
       ico.Save(ms);
       ms.Flush();
       return ms.ToArray();
      }
     }

     public static Icon FromBinary(this byte[] binary)
     {
      using (var ms = new MemoryStream(binary))
      {
       try { return new Icon(ms); } catch { return null; }
      }
     }
    }



    なお、画像の先頭 4 バイト見ることで、.ico / .png の判定ができます。

    byte[] bin4 = BinaryOfYourIcon.Take(4).ToArray();
    bool isIco = bin4.SequenceEqual(new byte[] { 0x00, 0x00, 0x01, 0x00 });
    bool isPng = bin4.SequenceEqual(new byte[] { 0x89, (byte)'P', (byte)'N', (byte)'G' });


    .ico 形式の場合、ファイル先頭の 0x00, 0x00, 0x01, 0x00 の後に続く 2 バイトが、
    格納されているアイコンの数を表します。

    System.Drawing.Icon の場合、それぞれのアイコンを個別に取り出す機能がありませんので、
    正確な画像データを得たい場合には No87527 で紹介した IconLib 等を利用してみてください。
記事No.87523 のレス /過去ログ150より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -