開発ブログ - 最新エントリー
[dcc32 警告] xxxx.pas(n): W1000 シンボル 'FileAge' を使用することは推奨されていません
FileAge の代わりに何を使えば良いのでしょうか?
よく忘れるので自分のために書いておきます。
TImage.Picture.LoadFromFile で PNG 画像を読み込みたいときには
Vcl.Imaging.PngImage
を uses します。
ソースコードをモバイルコンパイラに対応しようとして s[1] を s.Chars[0] という具合に書き換えていたときのことです。
下記のようなコンパイルエラーが発生しました。
これは何でしょう?
[dcc32 エラー] xxxxx.pas(56): E2018 レコード,オブジェクトまたはクラスのいずれかが必要です
過去のプログラムから、モバイルアプリケーションへポーティングをする際の文字列処理の問題。 文字列へのインデックスアクセスはどのように変えましょうか。
過去のプログラムから、モバイルアプリケーションへポーティングをする際に問題になることは色々ありますが、ありがちなのは文字列のインデックスの問題でしょうか。
Delphi モバイル コンパイラの場合、文字列は 0 から始まるインデックス方式を
採用しています。さらに、今後、文字列は不変(一定)になる見込みです。
iOS で ini ファイルを設定ファイルとして使う場合で、設定ファイル中に日本語文字列があるときには、ini ファイルを UTF-8 形式で保存しておく必要があります。
そうでないと、正しく読み込めません。
知ってはいたんですよ。
TInterfacedObject の自動破棄については…
いえ、知っているつもりだったんです。
インストールにはシステムドライブに 約18GB必要ということでした。
ぎりぎり入るかなと思ってやってみたのですが、途中で止まってしまいました。
システムドライブの容量を見てみると 0になっていました。
インストール失敗です。
インストールをキャンセルしたのですが、ディスクの空き容量が増えません。
コンストラクタで inherited を忘れると、思わぬバグに悩まされたり...
type
TFoo = class(TObject)
public
constructor CreateByNumber(A: Integer);
end;
constructor TFoo.CreateByNumber(A: Integer);
begin
// inherited Create を忘れている
...
end;
Generics の TObjectList を使ったプログラムをデバッグしていて気がつきました。
TObjectList