中華サイト

今日、
また中華が、防空識別圏などと、訳のわからないことを言い出した。

彼らは、4000年の歴史から、何を学んだのだろうか?

打ち落として良いと思うよ。ホント・・・

うちの客様が中国と貿易しているので、こんな内容の電話を聞いたことがある。

作ってもいないのに、作っていると、平気で嘘をつき、
以前、最終、コンテナローディングの時に、作れていないことが、判明したことがあり、
今回も、そうなんじゃないの?
嘘をついても、なんの解決にもならないから、
作ってないなら、作ってないと言ってくれ・・・言ってたけど、

それでも、最後まで作っていると突き通していたが、
写真を送ってくれって、

さて、前置きは以上で、
とある電池を買おうとしたことの一部始終だ。

しかし、そのサイトは、今、流行の日本語変な怪しい中華サイト。

これがYahooオークションとかで売られていると、いくらか安心だけど、
独自サイトだけは、ホント信用ならぬ。

実店舗があれば、最悪訴訟でもするが、
住所を見るにも、どうもそこではなさそうだが、

とりま、注文してみた。

電話番号やら、URLでサイトの評価を探すも、見つからず、
なんか、評価・信頼できるものがほしいと告げたところ、
以前送った伝票番号が伝えられたり、
ヤフオクに出品している、というが、評価はあるものの、同じ運営者だという証拠もなく、

それでもやっぱり、大阪の住所だったので、取りに行くことに。

でも、拒否られ、半額送金してくれたら、発送すると言い出した。
でも、単位は万なので、かたくなに、取りに行くと言い続けたが、だめ。
代引きにしてくれと告げたが、それもだめ。

住所には実在しないんだよ、きっと・・・

ためしに、電話してみたら、

現在使われていません。って・・・

はなから疑っていたものの、ますます信用ならぬ。

そのことを告げると、
今回は、先に送る、といいだしたので、もちろん快諾した。

が、不安だったので、
ebayで、近場の香港の業者で、保険で、5つだけ発注。

ebayは、ショッピングプロテクトを独自に持ち、
荷物が届かないなどの保証をしてくれるので、安心。

で、
もう発送したのかと聞くと、他の客に送ったので在庫がなく、
中国から、取り寄せるといい、到着は週末だと。

結局、その週末を待てど、連絡は来ず。

今週頭に、連絡したさ。
そして、新たに連絡された番号に電話してみたら、まったく関係ない女性が出た。

で、メールしたところ、次の日に、

送ってないって・・・

もうねー、中華は信用ならん。(すべての人じゃないよ)

返事が来た25日に発送したらしいが、中華から。
日本にいないんじゃん・・・

で、TrakingNOをくれるが、2日経てど、反映されず。

日本についたら、取りにいくからと、発送伝票の写しをもらおうとするが、断る。
きっと、これも存在しないんよ・・・

今月中に納めて、決算に組み込みたかったのも危うく・・・

保険に買った5つも、
AIRだと思ったが、船だったみたいで、
香港のも10日以上経つが、まだ着かず。
TrakingNOがないので、今どこにあるのかも不明。

仕方なく、夕方だったので、時間的に、ちょうど朝を迎えるUKで、
AIR便で送ってくれる業者を、eBayで探し、ちょっと高かったけど、
追加発注

この中華の電池が届けば、これ幸いだが、期待できず・・・

荷物が届いても、届かなくても、このサイトの実名を公開します。
一人でも、疑りを持った人のために。

http://power-battery.jp/

銀行振り込みだけのサイトには、十分警戒されるべし!

-

C# フォームの継承

フォームの継承を使うことは希だとは思うが、
デバイス毎に、ライブラリがあり、その違いを吸収するために、
継承を使おうと思ったのだが、

たとえば、Delphiだと、
親のフォーム(配下のコンポネント含む)にイベント記述したら、
継承した子のフォームで、同じイベントに記述した場合、

親のイベントは、無視される。

親のイベントを処理したい場合は、イベントコード中の好きな箇所で、

inherited;

と書くことで、親のイベントを処理してくれる。


かし、C# (今更、VS2005だが・・・)の場合、
継承した子で、新たにForm1.OnLoadに、新しいイベントを書くと、
親のイベントを実行した後、子のイベントが実行される。

デザイナーのコードを見れば、

Load += Form1_Load()

と書かれている。
子のデザイナーのコードにも、同じように書かれている。
-= なんて、記述も出来るらしい。

つまり、親を処理した後、子のイベントを処理する仕様・・・

これって、他言語だと、普通なのか?
全然、文献が出てこなかったが、

[Effective C#] 項目35 イベントハンドらよりもオーバーライドを優先する

を読んで、何となく推測し、書き直してみた。

イベントは、一番上の親に記述し、
その中で別の継承可能な関数を呼び出す。

private void Form1_Load(object sender, EventArgs e)
{
 //
 OnLoad(sender, e);
}
public virtual void OnLoad(object sender, EventArgs e)
{
  // 実行したい処理@親
  a * 1+1
}

子にフォームでは、OnLoadにイベントを追加することなく、

public override void OnLoad(object sender, EventArgs e)
{
  // 実行したい処理@子
  a = 1 + 2;
}

こうやって、Overrideするのが、正解みたい。

手間のかかることを・・・

PS.
2年前に書いたコードだが、無理矢理なコードを書いていたものだ。
一番ひどいのは、form1 から form2 にDataSourceの受け渡しがわからず、
form2のデザイナーのコード上で、form1.DataSourceを渡していた。
コンポーネントにアクセス出来なかったんだが、
private を public を変えるプロパティーを見つけ、解決。

ずいぶん、普通なコードが書けるようになったわな。

-