• カテゴリ FireMonkey の最新配信
  • RSS
  • RDF
  • ATOM

開発ブログ - Delphi 過去ソースからモバイルへポーティング(文字列処理1)

Delphi 過去ソースからモバイルへポーティング(文字列処理1)

カテゴリ : 
技術メモ » Delphi » FireMonkey
執筆 : 
2014/1/12

過去のプログラムから、モバイルアプリケーションへポーティングをする際に問題になることは色々ありますが、ありがちなのは文字列のインデックスの問題でしょうか。

Delphi モバイル コンパイラの場合、文字列は 0 から始まるインデックス方式を
採用しています。さらに、今後、文字列は不変(一定)になる見込みです。

from デスクトップ アプリケーションから iOS アプリケーションへの Delphi コードの移行

結構これは影響大きいですね。
この手の処理はロジックのコードのほうが影響を受けるように思います。
さらに今後、文字列は一定になると!
可変文字列を扱う場合は TStringBuilder を使うとか…
これについては私の場合、文字列の一部を変更する処理はあまり書かないので、影響はなさそうですけれど。

さて、今後に向けてどのように対応しておけば良いのでしょうか?

String -> PChar 変換

私のソースコードでは結構あるのが以下のようなものです

var
  S: String;
  Ptr: PChar;
begin
  S := 'foo';
  Ptr := @S[1];
end;

これは次のように書き換えます。

var
  S: String;
  Ptr: PChar;
begin
  S := 'foo';
  Ptr := PChar(S);
end;


[関連記事]

Delphi 過去ソースからモバイルへポーティング(文字列処理2)

  • コメント (0)
  • トラックバック (0)

コメントの投稿

お気軽にコメントください : 投稿されたコメントは承認後に表示されます
プロダクツ

開発ブログ

Link

AD