C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 팁&트릭
C++Builder Programming Tip&Tricks
[1083] [퀴즈] 에러의 원인을 찾아보세요
장성호 [nasilso] 16880 읽음    2012-03-29 13:52
//---------------------------------------------------------------------------

#include < vcl.h >
#pragma hdrstop

#include "Unit6.h"
//---------------------------------------------------------------------------
#include < DesignIntf.hpp >
#include < DesignEditors.hpp >

//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "XImageButton"
#pragma resource "*.dfm"
TForm6 *Form6;
//---------------------------------------------------------------------------
__fastcall TForm6::TForm6(TComponent* Owner)
	: TForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TForm6::Button1Click(TObject *Sender)
{
	String sText;
	sText=Edit1->Text;
	ShowMessage(sText);
}


위 코드를 컴파일 하면
다음과 같은 에러가 납니다.



위와같은 에러가 나는 원인은 무엇일까요?


.
.
.
.
.


퀴즈 풀이
songshinyong 님 께서 정답을 말씀해 주셨네요

ToolsAPI.hpp 에는 sText뿐만 아니라
다름과 같은 여러가지 String이 define되어 있습니다.

#define mcGetFindString L"GetFindString"
#define mcReplace L"Replace"
#define mcRepeatSearch L"RepeatSearch"
#define mcIncrementalSearch L"IncrementalSearch"
#define mcGotoLine L"GotoLine"
#define mcClipCut L"ClipCut"
#define mcClipCopy L"ClipCopy"
#define mcClipPaste L"ClipPaste"
#define mcClipClear L"ClipClear"
#define mcHelpKeywordSearch L"HelpKeywordSearch"
#define mcOpenFileAtCursor L"OpenFileAtCursor"
#define mcToggleBreakpoint L"ToggleBreakpoint"
#define mcRunToHere L"RunToHere"
#define mcUndo L"Undo"
#define mcRedo L"Redo"
#define mcModify L"Modify"
#define mcAddWatchAtCursor L"AddWatchAtCursor"
#define mcInspectAtCursor L"InspectAtCursor"
#define mcSetMark0 L"setMark0"
#define mcSetMark1 L"setMark1"
#define mcSetMark2 L"setMark2"
#define mcSetMark3 L"setMark3"
#define mcSetMark4 L"setMark4"
#define mcSetMark5 L"setMark5"
#define mcSetMark6 L"setMark6"
#define mcSetMark7 L"setMark7"
#define mcSetMark8 L"setMark8"
#define mcSetMark9 L"setMark9"
#define mcMoveToMark0 L"moveToMark0"
#define mcMoveToMark1 L"moveToMark1"
#define mcMoveToMark2 L"moveToMark2"
#define mcMoveToMark3 L"moveToMark3"
#define mcMoveToMark4 L"moveToMark4"
#define mcMoveToMark5 L"moveToMark5"
#define mcMoveToMark6 L"moveToMark6"
#define mcMoveToMark7 L"moveToMark7"
#define mcMoveToMark8 L"moveToMark8"
#define mcMoveToMark9 L"moveToMark9"
#define sEditor L"editor"
#define dVCL L"dfm"
#define dCLX L"xfm"
#define dVCLNet L"nfm"
#define dDotNet L".NET"
#define dHTML L"HTML"
#define dAny L"Any"
#define WizardEntryPoint L"INITWIZARD0001"
#define isWizards L"Wizards"
#define sCustomToolBar L"CustomToolBar"
#define sStandardToolBar L"StandardToolBar"
#define sDebugToolBar L"DebugToolBar"
#define sViewToolBar L"ViewToolBar"
#define sDesktopToolBar L"DesktopToolBar"
#define sInternetToolBar L"InternetToolBar"
#define sCORBAToolBar L"CORBAToolBar"
#define sAlignToolbar L"AlignToolbar"
#define sBrowserToolbar L"BrowserToolbar"
#define sHTMLDesignToolbar L"HTMLDesignToolbar"
#define sHTMLFormatToolbar L"HTMLFormatToolbar"
#define sHTMLTableToolbar L"HTMLTableToolbar"
#define sPersonalityToolBar L"PersonalityToolBar"
#define sPositionToolbar L"PositionToolbar"
#define sSpacingToolbar L"SpacingToolbar"
#define sApplication L"Application"
#define sLibrary L"Library"
#define sConsole L"Console"
#define sPackage L"Package"
#define sOptionSet L"OptionSet"
#define sUnit L"Unit"
#define sForm L"Form"
#define sText L"Text"
#define sCSApplication L"Application"
#define sCSLibrary L"Library"
#define sCSConsole L"Console"
#define sCSPackage L"Package"
#define sAssembly L"Assembly"
#define sUserControl L"UserControl"
#define sClass L"Class"
#define sWinForm L"WinForm"
#define sCppConsoleExe L"CppConsoleApplication"
#define sCppGuiApplication L"CppGuiApplication"
#define sCppVCLApplication L"CppVCLApplication"
#define sCppDynamicLibrary L"CppDynamicLibrary"
#define sCppPackage L"CppPackage"
#define sCppStaticLibrary L"CppStaticLibrary"
#define sCppManagedConsoleExe L"CppManagedConsoleApp"
#define sCppManagedDll L"CppManagedDynamicLibrary"


[위 문자열을 조심해야 하는 경우 ]

사실 ToolsAPI.hpp 나  DesignEditors.hpp 를 참조하지 않으면 문제되지 않습니다.

Component를 만드는 사람의 경우 Property-Editor를 구현하기 위해
DesignEditors.hpp 등을 참조해야 하는 경우가 있는데요

Property-Editor를 구현하면서
소스가 길지 않아 컴포넌트와 Editor크래스의 유닛을 분리하지 않은적이 있었는데...

해당 컴포넌트를 사용하면서
위에 define된 변수명을 사용하면서 그런 에러가 난  경험이 있습니다.

....
송신영 [palindrome]   2012-03-30 09:46 X
음.. ToolsAPI.hpp에 sText가 디파인되어있군요.. 컥..
장성호 [nasilso]   2012-03-30 10:03 X
정답입니다.

+ -

관련 글 리스트
1083 [퀴즈] 에러의 원인을 찾아보세요 장성호 16880 2012/03/29
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.