접근하려고 시도한 속성은 Text
속성을 직접 수정하는 것을 제외하고는 실수로 보호됩니다.이 속성은별로 좋지 않습니다. 방법을 찾을 수 없습니다. 개별 세그먼트 값을 변경하십시오. 그러나이 보호 된 액세스를 해결할 수 있습니다. 인터 포저 클래스에 의해 :
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, JvExControls, JvSegmentedLEDDisplay;
type
TLEDDigit = class(JvSegmentedLEDDisplay.TJvCustomSegmentedLEDDigit);
type
TForm1 = class(TForm)
Button1: TButton;
JvSegmentedLEDDisplay1: TJvSegmentedLEDDisplay;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
TLEDDigit(JvSegmentedLEDDisplay1.Digits[0]).Text := '1';
TLEDDigit(JvSegmentedLEDDisplay1.Digits[1]).Text := '2';
end;
end.
저는 어떻게 반응합니까? – TLama
죄송합니다! 지금까지는 확인할 수 없었습니다. "TJvCustomSegmentedLEDDigit '에는'Text '라는 멤버가 포함되어 있지 않지만 테스트 코드를 작성하는 동안 JvSegmentedLEDDisplay.Text에 할당하기 전에 TJvSegmentedLEDDigits를 만들지 않았 음을 발견했습니다. . 당신이 할당하고자하는 문자열의 각 문자에 대해 하나의 TJvSegmentedLEDDigit를 생성한다면, TJvSegmentedLEDDisplay.Text를 설정할 수있다. – Brian
그렇다면 당신은 나와 다른 버전의 JVCL이 있어야한다. 물론 언급 된 'TJvSegmentedLEDDisplay.Text' 속성도 있지만 한자리 숫자로 텍스트를 설정할 수있는 편한 방법이 아닙니다 – TLama