Form1 に次のコードがあります。
public
{ Public declarations }
cas: integer;
end;
次に、変数を操作し、 Form2.ShowModal;
On Form2 で別のフォームを呼び出します。次を実行しようとしますLabel9.Caption:=Format('%ds',[Form1.cas]);
。しかし、私が何をしても、Form1 では「cas」に適切な値が割り当てられますが、Form2 では常に「0」が表示されます。なぜそれが起こるのですか?
編集:
今、私は「kolecka」と呼ばれる最初のユニットにこれを持っています
var
Form1: TForm1;
barvy: array[1..6] of TColor;
kola: array[1..22] of TShape;
valid: integer;
bezi: boolean;
presnost: real;
skore: integer;
chyb: integer;
kliku: integer;
cas: integer;
これは、「ダイアログ」と呼ばれる別のユニットにあります。
implementation
uses
kolecka;
{$R *.dfm}
procedure Statistiky();
begin
With Form2 do begin
Label8.Caption:=IntToStr(kolecka.skore);
Label9.Caption:=Format('%ds',[kolecka.cas]);
Label10.Caption:=IntToStr(kolecka.cas);
Label11.Caption:=IntToStr(skore);
Label12.Caption:=Format('%.2f%%',[presnost]);
end;
end;
しかし、それはまだ機能しません..まだゼロを示しています。
EDIT2:
私はすべての答えが異なることを言っているように感じ、私は非常に混乱しています..
EDIT3: これは Form1 で「cas」を操作する方法です
procedure TForm1.Timer3Timer(Sender: TObject);
begin
cas:=cas+1;
Form1.Label5.Caption:=IntToStr(cas);
end;
それを見つけた!
うーん。どこに問題があるかがわかりました。
Show ではなく Form2 Create でラベル キャプションを割り当てていたので、もちろん 0 >.> でした。