掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
「実パラメータが足りない」というエラーを回避する方法について (ID:42897)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
例えば次のようなコードを考えてみましょう。 function Calc(a, b: Integer): Integer; begin ... end; ... Calc:=TCalc.Create(Application); Calc.ShowModal; Calc.Release; ... このような例だと後ろの3行で「実パラメータが足りません」というエラーが出るはずです。 Calcというのはパラメータを2個とる関数だと定義したのに、何もパラメータを指定していないからです。 当然、前半のCalc(a,b)関数の宣言をなくせばエラーは出ません。 今のは同じファイルの中の例ですが、異なるファイル間でも同じことが起こりえます。 例えばunit1でCalcという名前を使っていて、unit2で同じ名前の関数Calc(a,b)をinterface部に定義してしまったという場合です。 この時、実際にエラーになるかどうかは、unit1がunit2の定義を「知っている」かどうかに依存します。 unit2に新しい関数が追加されても、unit1がそのことを「知らない」うちは名前の衝突が起こらないので問題は起きません。 しかしファイルを編集した結果、unitが再コンパイルされる→Calcの定義がunit1とunit2で共有されるようになる→エラー発生、ということが起こりえます。 igyさんやKHE00221が言っていたのは、Calcという名前がどこかとかぶっているからそれを探そうということなんです。 アドバイスにしたがえば何らかの手がかりは得られると思うのですが、どこまでやりましたか?
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.