6

このエラーが発生し続けます。私FGetZoneDataが持っている:

var
   SelectedDept: String;

implementation

procedure TFGetZoneDept.GetClick1(Sender: TObject);
var
  azone: string;
  adept: string;
  bstats,
  bname,
  btop,
  bleft,
  bnumber,
  basset: string;
  machine : TMachine;
begin
  fdb.count := 0;  //keeps track of number of machines in zone
  azone := Combobox1.Text;    //gets name of zone
  adept := TfDB.GetDeptDBName(SelectedDept); //gets name of dept from a function
  fdeptlayout.ListBox1.Clear;
end;

そしてTFdB、パブリックで宣言された関数があります:

public
    Function GetDeptDBName(name :string):String;
end;

なぜこれがうまくいかないのでしょうか?

4

1 に答える 1

13

インスタンスではなくクラス(クラス名だと思います)でメソッドを呼び出してTfDBいます。その方法で呼び出すことができるのは、クラス メソッドのみです。あなたがしなければならないことは、インスタンスを作成してから、そのメソッドを呼び出すことです:

var DB: TfDB;
begin
  DB := TfDB.Create(); // create an instance
  adept := DB.GetDeptDBName(SelectedDept); // call the method

docwikiのE2076 This form of method call only allowed for class methodsトピックを参照してください。

于 2013-02-08T10:26:46.380 に答える