掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
TList.Sortのヘルプの意味がわかりません (ID:22346)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
ママんさん、ありがとうございます。 ヘルプの誤りだったんですね。おかげさまで、 List.Sort(@TForm1.CompareNames); の形で自作関数を呼び出すことができました。 ※CompareNamesをTForm1のメンバ関数として実装したので、頭にTForm1が必要みたいですね。 これでソートを実装できるととても便利だと思います。ありがとうございます。 ----- ところが、今度は自作関数の中でエラーが発生しています。 もう少しお力添えくださいませ。 ヘルプの例で言うと、Itemの型指定部分を次のように変更して実装しました。 function CompareNames(Item1, Item2: Pointer): Integer; begin Result := CompareText(TMyClass(Item1).Name, TMyClass(Item2).Name);・・(A) end; このコードが呼び出された段階で、次の状況になってしまいます。 ・Item1.Nameは取得できる ・Item1.Nameが取得できない ←読み込み違反のエラーになる 値を調べると ・Item1=$ED77E0 ・Item2=$9 とふたつの引数で値に違いが見つかりました。 この読込違反が起きるのは、Sortの使い方が間違っているからなのでしょうか? Item1とItem2は、自動的に渡されているので原因が想像できず困っています。 また、もうひとつわからない点が出ています。 上記(A)で、 TMyClass(Item1).Name の形で型を指定しています。 ヘルプの例と異なっている理由は、 (Item1 as TComponent).Name の場合に次のメッセージが出てコンパイルできないためです。 ・この型には演算子は使えません 何かこの辺が原因を示唆しているのでしょうか・・?
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.