開発ブログ - Delphiカテゴリのエントリ
[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 から始まるインデックス方式を
採用しています。さらに、今後、文字列は不変(一定)になる見込みです。
知ってはいたんですよ。
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
以前 Delphi ML に FireMonkey + MacOSX で TWebBrowser を使いたいという投稿が流れていました。
stackoverflow にあるコードで WebView を使ってみたが、画面に表示されなかったということでした。
そのときに提示されたURLが↓
webview-not-displaying-in-macos-using-delphi-xe2(stackoverflow)
ようやく少し余裕ができたので、自分でも試してみることにしました。