- Symbian: Developer: Symbian OS system libraries:Start-on-Boot Registration API
-
Symbianのサイトでライブラリが提供されている。UIQでも使えるらしいので、これを使えばいいんでしょう。
情報元:NewLC - New Symbian Start-On-Boot API - NewLC - Writing a recognizer: The EZBoot recognizer source code
-
NewLCでも、ライブラリ?がDL可なのかな。
- start exe
-
これも、NewLC内の記事でライブラリとか使わなくてもブート時起動を実現する方法のスレッド。簡単に実装出来そうなので、これもアリ。
ブート時に起動するには
ログを出力するには
何度、自作しようと思ったことか・・・。でも、最初から付いてるし、出来たからいっか。
はまり点
- ディレクトリ名指定にC:\Logsからの相対パスでなければいけない
- ディレクトリ名指定時には、末尾に"\"を付けてはいけない
- C:\Logsはデフォルトでは存在しないので、自分で作成しなければならない
- ファイル名の指定でディレクトリを付加してはいけない
RFs fs; User::LeaveIfError(fs.Connect()); fs.MkDirAll(_L("C:\\Logs\\ディレクトリ名\\")); fs.Close(); User::LeaveIfError(iLogger.Connect()); iLogger.CreateLog( _L("ディレクトリ名"), _L("ファイル名"), EFileLoggingModeAppend ); iLogger.SetDateAndTime(ETrue, ETrue);使用時
RFileLogger::WriteFormat( _L("ディレクトリ名"), _L("ファイル名"), EFileLoggingModeAppend, _L("xxx... %d"), aResult );
CEikColumnListBoxについて
- コード
-
カラムを設定するところまでは、なんとなくわかったんだけど実データであるModelの設定の意味を理解していなかったために数時間はまった…。
行データを設定する文字列で、全てのカラムを設定するのに早く気づくべきだった…
要は、各カラムを"\t"で区切って記述する。_L("Column1\tColumn2")
アイコンを設定する場合は、事前に設定したアイコン配列のインデクス を指定する。
最初のアイコンを1番目のカラムに指定する場合、以下のようになる。_L("0\tColumn2")
- 参考サイト
-
- All About Symbian Forums - CEikColumnListBox init
簡潔で最低限のコードサンプル
- Using ListBox
- NewLC - DoubleStyle Image Listbox Package
このサンプルコードは、随分ためになりました。が、純粋な CEikColumnListBoxのサンプルではない。
- Symbian OS Tips, Tricks & Code - ListView selection for UIQ smartphone list controls
このサンプルコードにも、助けられました。アイコン設定の仕方に 気付いたのもこのコードから。
- Symbian OS Tips, Tricks & Code - Displaying a list of any kind of control
ついでに…
使い方の説明
- All About Symbian Forums - CEikColumnListBox init
Descriptorについて
- Top Tips for Descriptors
-
どうもDescriptorについてもやもやしてるんだけど、上記サイトのコー ドサンプルが一番わかりやすい…
慣れるもの? - Series60プログラミングテクニック 第5回 ファイル入出力とディスクリプタ
-
ここも、日本語で詳しい。
開発環境構築(Visual Studio版)
- Bld.infのあるディレクトリで、コマンドラインから
bldmake bldfiles abld makefile vc6
ここでエラーが出るようであれば、以下を実行し、環境変数の設定をして からabldを実行する。VC6の場合 <VSディレクトリ>\VC98\Bin\vcvar32.bat .NETの場合 <VSディレクトリ>\Common7\Tools\vsvars32.bat - \epoc32\build\<プロジェクト名>\wins\<プロジェクト名>.dsw を開く
.NETの場合、.NETに変換しますかと聞かれるので変換する。
ビルド時にエラーが出まくった場合は以下を設定。- [プロジェクト]->[プロパティ]->[C/C++]
-
- コード生成
C++の例外を有効にする はい → いいえ バッファセキュリティチェック はい → いいえ - コマンドライン
追加のオプション /QIfist
- コード生成
MVC
内容 | 例 | |
---|---|---|
M - Model | データ実体を表す。データを操作する。通信処理を行う。ビジネスロジックを実装する。 | CXxxxEngine,CXxxxModel... |
V - View |
表示処理を実装する。画面単位?入力のControllerへの転送? Viewは、Modelへの参照を持つだけでよい。 |
CXxxxView,CXxxxListView... |
C - Controller |
ModelとViewを管理、操作する。入力を処理して、Model,Viewを操作し、結果をViewに反映する。 従って、Controllerは、Model,Viewを含むか参照を保持する。 |
CXxxAppUi |
Document |
Documentは、ファイルの入出力を担当する。 だから、Model(ビジネスロジックも)を含む。また、Controller(AppUi)の生成も請け負う。 つまり、Documentは、ModelとControllerの管理をするもの? |
CXxxxDocument |
命名規約
C | ヒープに確保されるクラス。CBaseを継承したもの。 |
T | 他のオブジェクトを所有しない、単なるバリュークラス |
R | リソースクラス。リソースの実体へのハンドルを含む |
M | インターフェースクラス(Mixed In) |
S | 構造体 |
i | メンバ変数 |
a | 引数 |
E | 列挙型のメンバ |
K | 定数 |
マクロ | すべて大文字で記述する(all capitalised)。単語の区切りはアンダースコア |