H2244 ポインタ型には初期化/終了処理は必要ありません (Delphi)
エラーと警告のメッセージ(Delphi) への移動
終了処理が必要ない Pointer 型に対して初期化/終了処理を行おうと,標準手続き Initialize/Finalize を呼びました。
program Produce; var str : String; pstr : PString; begin str := 'Sharene'; pstr := @str; Finalize(pstr); (*注意: これ以降で str を使用してはならない*) end.
この例では,ポインタ pstr が Finalize 手続きに渡されています。ポインタには終了処理が不要なので,ヒントが作成されます。
program Solve; var str : String; pstr : PString; begin str := 'Sharene'; pstr := @str; Finalize(pstr^); (*注意: これ以降で str を使用してはならない*) end.
この問題の解決方法としては,^ 演算子をポインタに適用して終了処理に渡します。