将棋プログラミング

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

コンピューターに mfc140.dll がないため、プログラムを開始できません。

ScanSnap iX1500 のセットアップ中に起きた問題を記録しておく。

scansnap/d/ からセットアップするように表示されたが、これは、次の URL にアクセスする。

スキャナーScanSnap ドライバダウンロード : 富士通

ScanSnap と接続する際に、次のエラーが表示された。

f:id:ykakinoki:20181026025954p:plain

OS は、64bit の Windows 7 である。
なお、C:\Windows\System32 に mfc140.dll はある。
この問題は
Download Microsoft Visual C++ 2015 再頒布可能パッケージ Update 3 RC from Official Microsoft Download Center
の 32bit vc_redist.x86.exe をインストールして解決した。
こういう問題が起きるので、MFC は、スタティックライブラリをリンクすべきと思う。

iOS版 Twitter Kit: Attempt made to Log in or Like a Tweet without a valid Twitter Kit URL Scheme set up in the app settings.

iOS版アプリに Twitter Kit を組み込んだ。
インストール方法は、次に説明がある。
github.com

まず、次のエラーが表示され、動作対象を iOS 9.0 以降にしないといけなかった。

error: "TwitterKit doesn't support iOS 8.x and lower. Please, change your minimum deployment target to iOS 9.0"

Tweet すると、次のエラーが表示された。

'TWTRInvalidInitializationException', reason: 'Attempt made to Log in or Like a Tweet without a valid Twitter Kit URL Scheme set up in the app settings. Please see https://dev.twitter.com/twitterkit/ios/installation for more info.'

原因は Info.Plist の記述だった。

<key>CFBundleURLSchemes</key>
<array>
<string>twitterkit-<consumerKey></string>
</array>

と書くべきところ、次のように、空白が一個入っていた。

<key>CFBundleURLSchemes</key>
<array>
<string>twitterkit-<consumerKey> </string>
</array>

Twitter apps dashboard: Error You must add your mobile phone to your Twitter profile before creating an application.

Twitter を使うアプリを開発する際、Twitter apps dashboard にアプリを登録する。
今回、新しいアプリを登録しようとすると、次のエラーになった。

Error
You must add your mobile phone to your Twitter profile before creating an application. Please read https://help.twitter.com/managing-your-account/how-to-add-a-phone-number-to-your-account for more information.

以前は必要なかったが、現在、アプリを登録するには、携帯電話の番号の登録が必要になっていた。
そこで、Twitter のアカウントに携帯電話の番号を登録しようとすると失敗する。
原因は、携帯電話の番号をそのまま登録しようとしたことで、先頭の 0 を消さないといけなかった。
090-XXXX なら、 90-XXXX と登録する。
携帯電話の番号の登録後、アプリを登録できた。
参考:
qiita.com

android.view.WindowManager$BadTokenException: Unable to add window -- token null is not for an application

Androidアプリ開発中に、次のコードを書き、

AlertDialog.Builder ad = new AlertDialog.Builder(getApplicationContext());

次のエラーが発生した。

android.view.WindowManager$BadTokenException: Unable to add window -- token null is not for an application

この場合、次のように書く必要があった。

AlertDialog.Builder ad = new AlertDialog.Builder(ActivityName.this);

参考:

stackoverflow.com

qiita.com

java.lang.NumberFormatException: Invalid int:

最近、Androidアプリ開発中に、サーバから受信したデータを数値化するため、次のコードを書いた。

String str; // サーバから受信したデータ
int int_value = Integer.parseInt(str);

実行すると、次の例外が発生した。

java.lang.NumberFormatException: Invalid int: "7792"

この例外は、数値に変換できない場合に発生するが、 "7792"は数値に変換できないとは思えないので、原因の発見に少し時間がかかった。結局、原因は str が CRコードを含んでいたためで、次のコードを追加し、解決。

str = str.replaceAll("\r", ""); // CRコードを削除