안녕하세요.
OnSettingChange를 따라가 보면 (Ctrl+클릭) TSettingChangeEvent이며 ,
(System::TObject* Sender, int Flag, const System::UnicodeString Section, int &Result);
이런 인자를 가지고 있습니다.
그냥 AppSettingChange()가 아니라,
AppSettingChange(System::TObject* Sender, int Flag, const System::UnicodeString Section, int &Result);
이렇게 하시면 됩니다.
빌더이제시작이다 님이 쓰신 글 :
: 안녕하세요. 프로그램 지역설정에서 날짜가 변경되었을 때
: Application->OnSettingChange 이벤트를 이용하여 날짜 관련 에러를 방지하려고 합니다.
:
: 이전에 장성호님이 올린 글을 참조해서 해보려는데 잘 안 됩니다.
:
http://cbuilder.borlandforum.com/impboard/impboard.dll?action=read&db=bcb_qna&no=60658
:
: 소스는 아래와 같구요.
:
: void __fastcall TfmMain::FormCreate(TObject *Sender)
: {
: Application->OnSettingChange = AppSettingChange;
: SetDateTimeFormat();
: }
:
: void __fastcall TfmMain::AppSettingChange()
: {
: SetDateTimeFormat();
: }
: void __fastcall TfmMain::SetDateTimeFormat()
: {
: ShortDateFormat="YYYY-MM-DD";
: LongDateFormat="YYYY-MM-DD";
: ShortTimeFormat="hh:mm:ss";
: LongTimeFormat="hh:mm:ss";
: DateSeparator='-';
: }
: void __fastcall AppSettingChange(void);
: void __fastcall SetDateTimeFormat(void);
:
:
: Application->OnSettingChange = AppSettingChange; 이 부분에서 에러가 발생합니다.
: 제가 이벤트 연결하는 방법을 잘 몰라서 그런듯 합니다.
: 컴파일시에 에러코드 같이 올립니다. 도움 부탁드립니다.
: [C++Error] MainForm.Cpp E2304 Cannot convert 'void(__fastcall*(closure)()()'to 'void(__fastcall.....................
: