オーバーロード呼出のあいまいさを回避するには?

解決


naoetsu  2010-11-13 21:47:29  No: 39530

procedure SaveToBM(const CH: array of TChart; Dppath: string);overload;
procedure SaveToBM(const MG: array of TImage; Dppath: string);overload;

複数のchart又はimageをつなげて1つのbitmapに保存する手続きSaveToBMを以上のように記述し、

SaveToBM([Chart1,Chart2],'保存file名');または、
SaveToBM([Image1,Image2],'保存file名');

で呼び出しますと、「オーバーロード呼び出しはあいまいです」と怒られます。
引数ではChartかImageかわかりませんと言う意味だと思いますが、

解決法は?


monaa  2010-11-13 22:02:42  No: 39531

型を先に宣言すりゃいい話でしょ?
  TChars = array of TChart;
  TImagess = array of TImage;
  procedure SaveToBM(const CH: TChars; Dppath: string);overload;
  procedure SaveToBM(const MG: TImagess; Dppath: string);overload;


monaa  2010-11-13 22:32:48  No: 39532

テストしてみたら、特に問題なく最初のソースで動きますね。
D2009


naoetsu  2010-11-14 19:43:23  No: 39533

型を先に宣言しても状況はかわりませんでした。
仕方なくoverloadをgive upし、
procedure SaveToBM(const CH: array of TChart; const MG: array of TImage; Dppath: string);
呼び出しはSaveToBM([Chart1,Chart2],[],'保存file名');
で回避しました(^^;)
(WinXp,D7)
monaa様ありがとうございました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加