07月≪ 2017年08月 ≫09月

12345678910111213141516171819202122232425262728293031
2016.09/12(Mon)

Delphi Starter 無料

Delphi Starterの無料ダウンロード期間が9/9から9/15に延長されていた。
同じダウンロードファイルから、ちょっとネット検索して方法を知れば、
C++BuilderのStarterもインストール可能。
----------------------
[Delphi Boot Camp / Delphi Starter Edition 無料! [JAPAN]]
http://community.embarcadero.com/blogs?view=entry&id=8834

また、Delphi Starter Edition の無料ダウンロードも、好評につき、Delphi Boot Campの最終日の9月15日まで延長いたしております。
この機会にぜひダウンロードしてDelphiプログラミングをお楽しみください。
スポンサーサイト
14:43  |  Delphi  |  TB(0)  |  CM(0)  |  EDIT  |  Top↑
2016.08/06(Sat)

The Lazarus Effect

映画「ラザロ・エフェクト」が上映最終日なので観てきた。

観ていて原題が「The Lazarus Effect」だと気がつく。

ラザルスなどと呼んでいたけど、ラザロが正しいわけだ。

ラザロの意味は墓に入れられてから4日後にキリストが死から蘇らせた人物
のことらしい。

Razarusのプロジェクトもオブジェクト・パスカルの死からの復活という
意味が込められているのかとなんだか納得。
04:28  |  Delphi  |  TB(0)  |  CM(0)  |  EDIT  |  Top↑
2016.04/13(Wed)

プログラムの音声作成

プログラム開発で音声を使いたい。無料の音声ファイルを公開しているところは多々ある。

といってもピッタリの音声をみつけるのは大変。

仕方がないので合成音声をつくるフリーソフトのお世話になる。しかし、発音が変。

ここで気がついたのはワープロの一太郎についてくる読み上げソフト「詠太」。
これが優れもので人の声と区別がつかないくらいよい発音をしてくれる。

しかし、音声を保存できないので「Moo0ボイス録音機」というフリーソフトで
録音ファイルを作成していく。他にもいろいろ高機能の録音ソフトがあるが使いこなせなかった。
23:24  |  Delphi  |  TB(0)  |  CM(0)  |  EDIT  |  Top↑
2016.04/12(Tue)

XE8:Android開発でApplication does not support this deviceエラー

作成したアプリをLenovoのIdea Tabで動かしてみる。問題なく動く。

ところが、ほぼ同じコードでフォームがひとつないプログラムでは
「Application does not support this device」というエラーで動かない。

コードがほぼ同じはずなので意味がわからない。

結局、エンバカの以下の記事に従って修正。なぜか3カ所もあったのですべて直して
無事、動くようになった。
-------------------
この問題を回避するには:
IDE で配置マネージャ([プロジェクト|配置])を開き、次のエントリを見つけます。
[ローカル名]: libnative-activity.so
[リモート パス]: library\lib\armeabi\
このエントリのチェック ボックスをオフにして、このファイルが配置されないようにします。
-------------------
23:44  |  Delphi  |  TB(0)  |  CM(0)  |  EDIT  |  Top↑
2016.04/10(Sun)

Android開発;:Delphi XE8で音声再生エラー

一応、作成したアプリはNexus7など多くで動いた。

しかし、SoftwinerEvbという7インチではエラーが出てしまう。当初はDelphi XE8で
何かのpermissionエラーとなっていた。

エラーはTMediaPlayer関係で何かのパーミッションがなされていないように思われた。

このパーミッションはAndroidManifest.xmlファイルの中で指定されている。
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
とか行を加えるとインターネット接続を許可したり、外部ストレージからの読み出し
を許可できるようだ。

しかし、いきなり、このファイルを書き換えても、コンパイル・ビルドする度に書き換えられて
しまう。

どうするかと思ったら、XE8のメニュー「プロジェクト」「オプション」で左にある選択肢から
「使用する権限」を選び、「false」を「true」に変えていけば、そのパーミッションが
AndroidManifest.xmlファイルに書き込まれることがわかった。

接続した実機SoftwinerEvbで実行はされるようになったが、やはり音声再生のところで
エラーjava.io.IOException:Prepare failed:status=0x1.がでる。
21:10  |  Delphi  |  TB(0)  |  CM(0)  |  EDIT  |  Top↑
2016.04/04(Mon)

DelphiでAndroidアプリ作成で音声を使う

XE8でAndroidアプリを作成。Delphiによるアプリ作成に参考になる書籍は「Delphiでかんたん iOSアプリプログラミング」細川淳、カットシステムしかない。

しかし、iOSアプリ用なのでAndroidでそのまま使えるとは限らない。

今回、音声が出るようにした。上記の本ではカップラーメンタイマーを作成するという所に音声の説明もあるが、
これはiOS用なので使えない。

試行錯誤したので、多少間違いはありそうだが、次回までにいろいろ忘れそうなのでメモを残しておく。

1.音声を出すには音声ファイルをまず用意する。Android用は拡張子が3gpというファイルなので
wavやmp3の拡張子の音声ファイルなら変換しておく(Any Audio Converterとかフリーソフトでできる)。

2.Delphiのフォーム上にツールパレットの「additional」にある「TMediaPlayer」を配置する。

3.Delphiのメニュー「プロジェクト」から「配置」を選択。タブの「ファイルを追加」で音声ファイルを追加。
リモートパスの所を「.\assets\internal\」と入力。

4.Delphiのメニュー「プロジェクト」から「リソースと画像」を選択。ここで追加したか記憶があいまい。 
ここで表示されるリソース識別子の「Resource_XX」がその音声を意味する。XXは番号。

5.プログラムコードで
PlayAudio('Resource_XX');
とすれば、そこでその音声が再生される。
21:41  |  Delphi  |  TB(0)  |  CM(0)  |  EDIT  |  Top↑
2016.03/16(Wed)

Delphiでandroidアプリ作成エラー

XE8を使ってはじめてDelphiでAndoroidアプリ作成を試みる。

Nexus7をUSB接続してさくさくボタンを配置したり、いままでのように作れる。

といっても、これらはFireMonkeyというマルチOS対応の部品で、いままでのDelphiの部品であるVCLとは
別物らしい。だから、完全互換ではない。

例えば、表示させる文字はCAPTIONに指定していたが、TEXTで表示させることになる。
また、VCLにあったが、こちらには存在していないものもある。

途中まで試行錯誤してうまくいっていたのだが、突然、以下のエラーが出るようになった。
Failure INSTALL_FAILED_DEXOPT
[PAClient エラー] "paclient" exited with code 1.

それまで表示されていたNEXUS7にもアプリが表示されなくなる。

ネットで原因を探ると、必要ファイルが欠損していたとかの情報がある。仕方がないので
XE10のトライアルをインストールしてみる。1ヶ月は試用できる。ところが、インストール
した環境でも同じエラー。

どうもDELPHI側ではなく、NEXSUS7側に問題があるよう。1つ心当たりがある。NEXSUSUで
ふっとシステムアップデートをしてしまったことである。

やむなく、LENOVO YOGA8に乗り換えして試行錯誤して、やっと表示が出るようになった。
21:44  |  Delphi  |  TB(0)  |  CM(0)  |  EDIT  |  Top↑
2015.09/10(Thu)

Debugger Assertion Failure:"LastErr == WSAEINTR"

Delphi EX8 をWindows 7で動かし、作成中のプログラムを32ビツト版から64ビット版に変更しようとしたら、
「Debugger Assertion Failure:"LastErr == WSAEINTR" in ..win32src\wmcipc.cpp at line 294」というエラー
が出てしまう。

ネットで調べてみるとアンチウイルスソフトやファイアーウォールが原因らしい。

別なやはり Windows7 のDelphi EX3 でまったく同じプログラムを64ビット版でコンパイルしても何もエラーは
でない。

EX8のPCにはNOD32のSmartSecurity、EX3のPCにはNOD32のAntivirus4がそれぞれ載っている。

Antivirus4にはフェイアーウォールはついていないのでエラーにならないのかもしれない。
とはいっても、SmartSecurityのどこを設定すればエラーが消えるのかわからない。

それらしいものは許可するようにしてもエラーは消えないまま。設定も多すぎてピンポイントの方法が
わからない。かなり前のバージョンから生じているエラーらしい。

当分は32ビットで開発して、最後にEX3で64に変更するしかないのかもしれない。
16:30  |  Delphi  |  TB(0)  |  CM(0)  |  EDIT  |  Top↑
2015.06/18(Thu)

LazarusのIDEの日本語化

Lazarus のIDEは英語になっているが、メニューの「tool」→「options」から左の「Desktop」を選べば、「language」で「Japanese」を選択できる。

再起動すれば、IDEのメニューが日本語化される。

残念ながらIDEメニューが日本語されたからといって日本語混じりのフォルダーやファイルの読み込みまではできるようにならないが、英語が苦手な人には朗報だろう。
00:11  |  Delphi  |  TB(0)  |  CM(0)  |  EDIT  |  Top↑
2015.06/17(Wed)

Delphi互換のLazarus

現在使用中のDelphiはXE3、家ではDelphi2010を使っていた。

ところが、Windows XPからWindows 7に移行したため2つのPCのDelphiを再インストールしようとしてつまずいた。

XE3はサポートの助けもあり、何とかできたものの、2010のDVDがまさかの読み込みエラー。

どうも、DVDが壊れてしまっているらしい。仕方がないのでEmbarcaderoに連絡して、DVDの交換を
お願いしたが、ディスク交換のサービスサポートはしていないとの返事。代わりに自分でDVDディスクを
焼くようファイルがあるサイトを知らされた。

ところがそのサイトでは何かのコードを入力しないと入れない。手持ちのパッケージや情報では
うまくいかない。というわけで2010がまさかの使用終了。

ということでXE3だけで何とかプログラミングをしていたが、やはり不便。といって新製品を買っても
こんな事情で使えなくなら不安。

そうして出てきた選択肢が、無料で使えるDelphi互換のFree Pascal Compilerの Lazarus。
早速インストールしてみたところ、Delphi?と見間違うほどのIDE。

XE3で作成したのと同じ部品を配置して、コードをそのまま貼り付けてみた。

結果はほぼエラーなしで動く。コードのコメントやダイアログの表示に日本語もそのまま使える。

ただ、ファイルの読み込みで日本語のフォルダーやファイル名はダメということがわかった。
しかし、これはフォルダーやファイル名を英数字にすれば済むだけのことなので大した問題では
ないかも。

それにしても、ここまで完成度が高いなら文句はない。
16:12  |  Delphi  |  TB(0)  |  CM(0)  |  EDIT  |  Top↑
 | BLOGTOP |  NEXT