|
멤버변수 초기화는 FormCreate 이벤트에서 하는게 좋습니다.
TForm 생성자는 원론적으로 각 멤버변수가 값이 할당되기 전이라,
여기에서 VCL 컨트롤의 값을 대입하면 안될것 같은데,
VCL은 이미 초기화를 한후 생성자를 부르기 때문에 TFrom 생성자에서
수야님 예제처럼 초기화 해도 됩니다.
지나가다가...
곽성주 님이 쓰신 글 :
: 감사합니다.
:
: 그럼 저런 콘트롤배열을 전역변수화 하려면 어찌해야 하나요?
:
: TShape *Sh[3]={Shape1, Shape2, Shape3}; // 여기서 에러
:
: 수야!╋ 님이 쓰신 글 :
: : ㅡ.ㅡ;
: :
: : 해더에서는 데이터의 값을 초기화 할 수 없습니다.
: :
: : 더 정확히 말하면 클래스 내부에서 초기화 할 수 없는거지요.
: :
: : TForm1의 생성자에서 해주세요 ㅡ_ㅡ;;
: :
: : 이건 빌더만의 특성이 아니라 C++의 기본문법입니다.. ㅡ_ㅡ;;
: :
: : 곽성주 님이 쓰신 글 :
: : : 아래와 같이 하니, 에러나는군요~
: : :
: : : class TForm1 : public TForm
: : : {
: : : __published: // IDE-managed Components
: : : TButton *Button1;
: : : TImage *Image1;
: : : TShape *Shape1;
: : : TShape *Shape2;
: : : TShape *Shape3;
: : : TBitBtn *BitBtn1;
: : : void __fastcall Button1Click(TObject *Sender);
: : : void __fastcall BitBtn1Click(TObject *Sender);
: : : private: // User declarations
: : : public: // User declarations
: : : __fastcall TForm1(TComponent* Owner);
: : : void __fastcall Bmp2Raw(WideString Bmp_name, int BW, int BH, WideString Raw_name);
: : : TShape *Sh[3]={Shape1, Shape2, Shape3}; // 여기서 에러
: : :
: : : };
|