こんにちは
やましょうです。
#前提
これはDelphiを使って232cコンポーネントWUni232についての話です。
WUni232cは、Windows用の232cコンポーネントです。
これにAndorid版を付けたものがUni232cコンポーネントになっています。
実際にはuni232cコンポーネントからAndroid版を除いたものが、Wuni232cです。
余談ですが、iosでできないの?って話もあるのですが、作ることできますが、
リンゴさんが認証してくれないと思われます。
(なお、私はリンゴとそういう契約もしていますのでお仕事があったら連絡くださいませ。)
#Delphi 10.3 だとGet itで取得できた。
こんな感じに取得できました。
現在でも10.3では取得できるのですが、10.4以降はGet itでは取得できません。
#なぜ10.4以降取得できないのか?
どうも毎verごとに申請が必要な様です。
毎度、コンポーネント申請にこちらも時間を取られるわけにはいきません。
#現在の入手先
私の会社のホームぺージ取得するか?
https://www.csd.co.jp
今回githubにもコピーを置きましたので、取得してください。
https://github.com/CSDCOJP/WUni232c
#このコンポーネントを使用する最大の利点って何?
Windowsで動かしているitemをAndroidで数時間もあれば動かすことができるからです。
FMXで作ってこのコンポーネントを使用しておければ、
弊社からUNI232Cコンポーネント(WINDOWS版+ANDROID版)購入、
コンポーネントをWUNI232C=>UNI232Cにしてusbのvid/pid等を設定すればoK!
ほぼ、メソッド、プロパティが同じであるため、
#最大の特徴
自分でcomポートのデータを読みに行く様にしているのが特徴。
.netをやれられた方では232cでハマまった方が多いと思いますが。
**受信が別スレッドで動くため、**そこで受信データの処理をするしかないのです。
そのため受信スレッドからdelegeteして、メインスレッドにデータの引き渡しが必要になりますよね。
また,delegateせず行った場合、時たま動かない等の問題でますよね!
基本windowであれば4kはwindows自体がキャッシュしてくれますし、
usb-232c-ic自体が250byte程度はキャッシュしてくれます。
なので、そんなに急いで読む必要性ってないと私は考えています。
#Androidの為の制約
送信に64byteの縛りをつけています。
これはAndoridにしたときに効いてきます。
(vclや、Andoridで使わないなら取って使って問題ないと思います。)
明日は、実際の応用例について書いてみたいと思います。
以上
やましょうでした。