2012/09/25

Delphi の DoDragDrop で互換性がありません

Explorer などへのドロップで DoDragDrop を使用したら、下記のエラーでコンパイルできない
E2010 'IDropSource' と 'THogeForm' には互換性がありません

フォームの定義で IDropSource を付け忘れてませんか?
TForm1 = class(TForm, IDropSource)

kobo touch のポイントが入ったので

kobo touch のポイント(有効期限有り)が入ったので、とっとと利用してメルマガ停止
リンク先のメモ

停止した後 「変更内容を確認する」 とか押して先へ進まないと停止が完了できない、いつもの嫌がらせぶり

kobo の Linux化

2012/09/24

ServersMan SIM 3G 100

注文してすっかり忘れていた ServersMan SIM 3G 100
昔使っていたAndroid(T-01C)に SIMを投入し、家族が使えるようにして一週間

宅内では無線LAN、外に出ると3Gという使い方

  • メール便で到着、説明書は片面1枚で Android 2系と4系の説明だが、必要充分
  • docomoの白SIMのため、Xi端末でLTEをオフ出来ないと使用できない?
  • 速度は、コンスタントに上り下りとも 90kbps程度
  • Google Map は、地図なら(写真でなければ)予想以上に使える
  • Gmailのプッシュも問題なし
  • Webは、ページにもよるがモデムで行っている感じで、少し待たされる
    Opera mini 等の圧縮データを使えばよいかも
  • 遅いだけあって(パワーを必要とする処理を行わない)電池の消耗が少ない
  • Google Play は、無駄に重いコンテンツなので、WiFiメインになる

で、Wi-Fi ⇔ 3G のため Auto WiFi Toggle を入れて、Wi-Fiのオンオフを自動化している


定期的に端末の Wi-Fi をオンにして、該当するアクセスポイント(AP)へ接続しているかチェック、接続していなければ Wi-Fiをオフにする

自宅(Wi-Fi)→外出(3G)
アクセスポイントを外れると、すぐ(秒数指定可)にWi-Fiを停止して 3Gが有効になる
(うちは家が狭く、宅内でWi-Fiが切れる事は無いため、秒数を短く指定できる)

外出(3G)→帰宅(Wi-Fi)
時間毎(0~23時)に、何分間隔でWi-Fiをチェックするかを設定可能
(帰宅時間帯は短く、外出が確実な時間帯は長く取ると、電池持ちが良い)

この時の動作の流れは

  1. 端末のWi-Fiオン
  2. 指定時間を待って、登録したAPへ接続しているかチェック
  3. 接続していなければ Wi-Fiオフ、接続していればそのまま

ちなみに、Wi-Fiオンだけでは 3Gは切断されず、APへの接続後3Gが切断されるため、通常、通信が止まる時間帯は短い
ただし、fon等のアクセスポイントが存在すると、その分切断される時間が長くなるので注意が必要で、fonを利用しないのであれば、設定からオープンネットワークへの接続をあらかじめ規制しておく

Google インスタントアップロードの上限500枚が撤廃

久々にインスタントアップロードの整理を行おうと思ったら「Instant Upload」フォルダ以外に「Instant Upload日付~」みたいなアルバムが作成されている

ちなみに、整理は Google+ の写真からではなく、Picasa WebAlbum から行える

当初、500件を越えると自動アップロードされなくなっていたが、500件を越えたら、新にアルバムが作成され古い画像から日付を区切りに移動されるらしい (容量は、サイズ自動縮小により無制限)
ほったらかしで気付かなかっただけで、半年くらい前にはそうなっていたみたい;

Google+ のインスタントアップロードからは、全てが繋がって一つのアルバムになっているが、Picasa WebAlbum や Android 端末からは、500件未満の Instant Upload アルバムが複数存在する事になる
また Picasa WebAlbum で「Instant Upload日付~」の中身を整理して、他のアルバムへ移動、アルバムを空にした後、空のアルバムを削除しても、Google+ のインスタントアップロード表示は保持される模様

ということで、Instant Upload アルバムのファイル数を気にせず利用できるようになったらしい


個人的には Android端末からアルバム名が長くて全て表示されないので、年数+abcd という表記で整理して、半年ごとに整理してます

2012/09/20

ほんとかよ LTE 実人口カバー率(人口カバー率)

iPhone5 の発表と共に KDDI、ソフトバンクから LTEの展開が発表された

どちらも 2013年3月末時点で

KDDI: 実人口カバー率 96% (800MHz含む)
ソフトバンク:  実人口カバー率 91% (2.1GHz)

ちなみに先行してサービスを提供している ドコモのXiは 2012年度内(つまり 2013年3月末時点)に、人口カバー率 70% の予定だとか

なんだか、エリアが少ないうちは  実人口カバー率 が有利で、ある程度広がってきたら 人口カバー率 が有利としか思えないんだけど...

auの次世代高速通信サービス「4G LTE」の提供開始について では
注4) 全国を500m四方単位に区分けしたメッシュのうち、当社サービスエリアに該当するメッシュに含まれる人口の総人口に対する割合です。

だそうで

ソフトバンクは、と思って「LTE 実人口カバー率 site:softbank.jp」で検索したら...
うぉぃ

ネットで散見される、ソフトバンク派とKDDI(au)派の期待いっぱいの書き込みはけっこう笑えます
どんだけ、キャリアを信用しているんだよ(笑)

ちなみに 10月末時点でのKDDI LTE展開エリアで、リストに入ってない「県」さえあったりします...

2012/09/14

バックアップソリューション Amazon Glacier

頻繁に更新されるファイルは、サイズも小さいので Dropbox を利用

写真なんかの追加はされるけど変更はないファイルは、NASに保存されていて、PCへもバックアップされているが、場所が同じなだけあって、災害や火災となると取り出せなくなる可能性大
VPSを用いるとか考えたけど、容量が中途半端だったりと、ちょうどよいサービスが見つからなかった。そんなところ Amazon Glacier に目がとまった

0.01USD/GB・月 という低価格で、年間耐久性 99.999999999%(11-9)
基本、取り出さない(取り出さなくてよいデータ)を保管するため、取り出しには 3~4時間および 総容量の5%を越える場合0.012USD/GB + 転送量課金 等がかかり、取り出しは24時間以内

このサービスのストレージは非公表、取り出しに3~4時間かかるということで、テープドライブも利用されていると思われる
私の偏見だろうけど、Amazonの配送センターに他の商品と共にテープが置かれていて、商品の出荷と同じ手順で、テープが回収・復元される様子しか浮かんでこない(w

Optimus LTE (L-01D)の充電表示にならない不具合

Optimus LTE (L-01D)で、アダプタ経由でUSBを差し込んでも、充電表示にならない(充電されている)不具合がある

たまたま、別のケーブル(たぶん、ビデオカメラのUSBケーブル)を使ったところ、覚えている限り症状が治まっている
データ線に何か違いがあるのかな

2012/09/13

iPhone5はNFC非搭載

iPhone5は、予想されていたとおりNFC非搭載

画面サイズが4インチになったが、幅は変わらず(640px) 16:9の1,136×640 になったため、縦に伸びる形
軽量化や11n搭載など使い勝手重視の進化が目立つ
11nとLTEが共用チップということで、実運用時間が気になるところ

iPhone4s → iPhone5
ディスプレイ: 3.5inch(960×640) → 4inch(1,136×640)
重量: 140g → 112g
カメラ: 800Mpx → 800Mpx
インカメラ: 30px → 120px
サイズ: 58.6×115.2×9.3mm → 58.6×123.8×7.6mm
CPU: A5(2コア)800MHz → A6(2コア・Cortex-A15)

CPUとグラフィック性能が2倍ということは 4コアの可能性もあるが、4コアで本当に省電力へ振る事ができていれば、非常に興味深い。周波数を更に落としてくる可能性もある???

【追記】
iPhone5のCPUは Cortex-A15系(デュアルコア)
http://ggsoku.com/2012/09/iphone5-cortex-a15/
製造はサムスンだそうだ(w

2012/09/05

Delphi/C++Builder Generics TList と無名関数でソート

Generics TList と匿名関数のソートメモ

TList<THogehoge> を匿名関数でソートする場合
System.Generics.Defaults の TComparer を挟んで、function の const もお忘れ無く
var Generics.Collections, System.Generics.Defaults;

ItemList.Sort(TComparer<THogehoge>.Construct(
    function(const Item1, Item2: THogehoge): Integer
    begin

    end));

Delphi/C++Builder TListView 仮想モード時の Item.Dataプロパティ

TListView の速度を上げられる、仮想モード

  • ListView.OwnerData を True にし
  • ListView.Items.Count := 10000; 等と先に個数だけ指定
  • OnData イベント引数の Item: TListItem へ記述

という感じに利用する

この OnData イベントは、ListView のアイテムが描画されるたびに発生し、引数の Item: TListItem は毎回新規作成される
仮想モードと言う事で、ListViewが保持しているのは個数だけで OwnerDraw を行っている感じ

通常のモードと大きく違うのが Item.Data := としてポインタ等を Data プロパティへ格納して、
ListView1Deletion 
イベントなどで解放を行っていると
仮想モードでは 
ListView1Deletion が発生しないため、
メモリリークの恐れが出てくる事
仮想モードなので、実データは別にあるという事が前提なんだろうけど...

【追記】
OnEditing イベントも仮想モードでは引数の Itemが常に nil になってしまうようです