将棋プログラミング

(将棋に関する)ソフトウェア開発のノウハウ等。

2021-01-01から1年間の記事一覧

CHtmlView を IE11 互換にする

MFC の CHtmlView を使い、Web にアクセスする場合、デフォルトでは、IE7 互換となる。 IE11 互換にする場合、レジストリで Browser Emulation を設定する必要がある。 HKEY_CURRENT_USER SOFTWARE Microsoft Internet Explorer Main FeatureControl FEATURE…

Android でビルドエラー:A problem occurred ...

ある日、Android Studio で、次のビルドエラーが出るようになった。 A problem occurred configuring root project 'MyProject'. > Could not resolve all artifacts for configuration ':classpath'. > Could not download j2objc-annotations.jar (com.goo…

Windows Server 2019 と Windows 10 の違い

C++/MFC で開発したソフトを Windows Server 2019 で実行すると、 Windows 10 と一部、動作が異なることに気がついた。 1. GetTempPath() GetTempPath() で、一時パスを取得した時、 Windows Server 2019 では、 "C:\Users\(ユーザ名)\AppData\Local\Temp\…

Objective-C での iOS 15 対応

Xcode 13 で、iOS 15 に対応する際に必要になった変更をまとめる。 最近のコードの例は、殆ど Swift なので、Objective-C のコード例が役に立つ人もいると思う。 1. ナビゲーションバー・ツールバーの色が変わる scrollEdgeAppearance を指定する。developer…

iOS 13 以降、UITableView の scrollToRowAtIndexPath が正しく動作しない場合がある

iOS 13 以降、UITableView の scrollToRowAtIndexPath が正しく動作しない場合がある。 最初に気がついたのは、iOS 13 になったとき、iPad では、scrollToRowAtIndexPath が正しく動作しなくなった時であった。 この時、animated が NO だと問題があり、YES …

Xcode 12 でシミュレータを対象にビルドし Framework not found (2)

App Store へアプリをアップロードする際、Xcode 12 で作成することが必須になった。 そこで、Xcode 11.7 から 12.5 へ乗り換えた。 そして、以前にも書いたように、シミュレータを対象にビルドしたとき、次のエラーが表示された。 Framework not found ***…

iTunes Connect と App Store Connect

Apple の App を販売する "App Store Connect" は、以前は、"iTunes Connect" だった。 それで、ブラウザのブックマークにも "iTunes Connect" として記録されていた。最近、"App Store Connect" にログインするために、"iTunes Connect" のブックマークにア…

第31回世界コンピュータ将棋選手権の戦型分析(2) 2次予選と決勝

コンピュータ将棋選手権の1次予選は、棋力の差が大きいですが、2次予選以降は、レベルが高いです。 それで、2次予選と決勝の棋譜 163局 の戦型を分析しました。 2次予選と決勝 1.統計計算 平均手数等は、次でした。 2021年 先手(下手)勝ち: 72 後手(…

第31回世界コンピュータ将棋選手権の戦型分析

今年(2021年)の第31回世界コンピュータ将棋選手権の棋譜298局の戦型を分析しました。 1.棋譜の入手 棋譜ファイルは、次の CSA のサイトから入手できます。 コンピュータ将棋 各種大会 棋譜集 www2.computer-shogi.org 第31回 (2021年5月3,4,5日)から wcs…

Android:Google Play Billing Library V3 の落とし穴

2021 年 8 月 2 日以降、すべての新規アプリでは Billing Library バージョン 3 以降を使用する必要がある。 2021 年 11 月 1 日までに、既存のアプリのアップデートはすべて Billing Library バージョン 3 以降を使用する必要がある。 android-developers.g…

MFC:ワーカスレッドから UI を操作する

多くの OS では、ワーカスレッドから UI を操作できない。 例えば、Android では、AsyncTask の doInBackground から Toast.makeText を実行すると exception が発生する。今回、MFC で、ワーカスレッドからツールバーを操作したとき、ツールバーが消えるこ…

MFC のプログラム名が日本語の場合の HTTP 通信のトラブル

数年前に起きたトラブルである。 以前は、プログラム名に日本語は使わなかったが、もう日本語を使ってもいいだろうと思い、プログラム名に日本語を使った。 実行 PC の OS が Windows 7 の場合、問題が無かったが、OS が Windows 10 にアップデイトされたと…

Xcode 11: Your session has expired, please login

Xcode 11.7 で、 Distribute APP を実行したところ、 Your session has expired, please loginが繰り返し表示され、ログインできない状態となった。 これは多く人で起きているようで、次のようにすると問題がない。 (1) Xcode 11 で Archive を作成する。 (2…

Xcode 12 でシミュレータを対象にビルドし Framework not found

Xcode を 11.7 で問題なかったプロジェクトを 12.3 でシミュレータを対象にビルドしたとき、次のエラーが表示された。 Framework not found ***検索すると、多くの解決策が表示されるが、僕の場合は、次の設定で解決した。 1. Architectures で "Any iOS Sim…