これは、明確な答えが見つからない非常に単純な質問です。時間に追われているため、このドキュメントをすべて読む時間はありません。
しかし、ここにあります。
次のように、TForm クラスの上に新しいクラスを作成しました。
Bucket = Class
glass: Integer;
steel: Integer;
End;
次に、TForm1 に属するメソッドでいくつかのオブジェクトを作成します
procedure TForm1.getMarbles;
var
objPlastic: Bucket;
objAlu: Bucket;
begin
// Initialize objects
objPlastic := Bucket.Create;
objAlu := Bucket.Create;
// Get Values from edtBox
val(Edit1.Text, objPlastic.steel, code);
val(Edit2.Text, objAlu.steel, code);
val(Edit3.Text, objPlastic.glass, code);
val(Edit4.Text, objAlu.glass, code);
end;
私の問題は、これらのオブジェクトを他のメソッドで使用する方法がわからないことです。それらを使用したい他の方法でこれまでに知っているすべての方法でそれらを定義しようとしましたが、機能させることができません。
これがメソッドと、現在設定されているものです(常に0を返します):
procedure TForm1.marbleDrop(kind: string);
var
objPlastic: Bucket;
I: Integer;
begin
objPlastic := Bucket.Create;
if kind= 'plastic' then // the function is receiving this parameter
begin
for I := 0 to objPlastic.glass do
begin
showmessage(inttostr(objPlastic.glass)); //returns 0
end;
end;
end;
この種の質問で申し訳ありませんが、より良い方法が見つかりませんでした。
ところで、これは私が使用しているコードの簡略化されたバージョンです。これは私が実際に使用しているものの翻訳であるため、タイプミスをなくすために最善を尽くしましたが、それは主にアイデアに関するものです. Delphi のコードにタイプミスはありません。