UnitAのEditChPlay1.TextへUnitBのSpinEditSetChPlay1の値を書き込みたいので次のように記述したところエラー「未定義のEditChPlay1」となります。
どうしたらいいか教えてください。よろしくお願いします。
procedure SetPlayChannel(aValue: Integer; aEdit: TEdit);
begin
if aValue = 0 then
begin
aEdit.Color := clBtnFace;
end else
begin
aEdit.Color := clWindow;
aEdit.Enabled := true;
aEdit.Text := IntToStr(aValue);
aEdit.Enabled := False;
end;
end;
procedure TFormSetup.SpinEditSetChPlay1Change(Sender: TObject);
begin
SetPlayChannel(SpinEditSetChPlay1.Value, EditChPlay1);
end;
UnitAのimplementationにUnitBをUsesしてください。
直接記述か、[ファイル]→[Unitを使う]で追加するか
UnitA
・・・・
・・・・
implementation
uses UnitB;
それから
UnitBがForm2として
procedure TFormSetup.SpinEditSetChPlay1Change(Sender: TObject);
begin
SetPlayChannel(SpinEditSetChPlay1.Value, From2.EditChPlay1);
end;
で、如何でしょうか。
Syakeさん早速のアドバイスありがとうございます。
ソースではご指摘の記述はしてありますがエラーとなります。
尚、
procedure SetPlayChannel(aValue: Integer; aEdit: TEdit);
begin
if aValue = 0 then
begin
aEdit.Color := clBtnFace;
end else
begin
aEdit.Color := clWindow;
aEdit.Enabled := true;
aEdit.Text := IntToStr(aValue);
aEdit.Enabled := False;
end;
end;
procedure TFormSetup.SpinEditSetChPlay1Change(Sender: TObject);
begin
SetPlayChannel(SpinEditSetChPlay1.Value, EditChPlay1);
end;
に記述はUnitBに在ります。
> 「未定義のEditChPlay1」
名前が EditChPlay1 のTEditが本当にありますか?
ミス
UnitA
TForm????
EditChPlay1
UnitB
TFormSetup
SpinEditSetChPlay1
このような感じですね。
EditChPlay1は、TForm????の所有物なので、TFormSetup上からは見えません。
だから、Syakeさんのような回答になります。
Syake 2006/09/22(金) 08:30:46
> SetPlayChannel(SpinEditSetChPlay1.Value, From2.EditChPlay1);
どのフォームのEditChPlay1であるか、きっちりしないといけません。
Syakeさん、ofZさんありがとうございました。
ちゃんと値を入力表示できるようになりました。今後ともよろしくお願いします。
ツイート | ![]() |