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

C++빌더 Q&A
C++Builder Programming Q&A
[76274] Re:Re:빌더 6에서 헤더 파일에 없는 함수를 사용하고자 할경우 어떻게 해야 할까요?
친구 [jjs8224] 902 읽음    2022-03-15 16:42
답변 감사드립니다. ^^

지나가다가 님이 쓰신 글 :
: 우선 header 파일이 없다면, 컴파일시 헤더파일이 없다는 오류가 발생합니다.
: 해당 파일은 존재하는데, 사용하는 빌더 버전이 낮아서,
: IFrameworkInputPane 에 대한 정의가 되어 있지 않은것이 문제입니다.
:
: 해당 정의는 Windows 8.1 에서 생긴듯 한데, 빌더 버전을 높이는게 좋은 방법입니다.
: 굳이 예전버전을 사용해야 한다면,
: shobjidl.h의 경우, windows sdk에 포함되어 있는 shobjidl.h 파일의 내용을 일부 발췌하여 사용하여야 합니다.
: 손이 좀 가는 작업일겁니다.
:
: 참고로, 엠바카데로 사이트에가면 community 버전을 등록하면 무료로 사용할 수 있습니다
: 제한적이지만 상업적 사용이 가능합니다.
:
: 친구 님이 쓰신 글 :
: : 안녕하세요
: : 빌더 6에서 아래 터치 키보드 관련 c++ 소스를 컴파일 하고 싶습니다.
: :
: : 컴파일 하면 Undefined symbol 'IFrameworkInputPane' 에러가 나고요
: :
: : #include "Shobjidl.h" 에 있어야 하는데 제 해더 파일엔 없더라고요
: : 이런경우 어떻게 해결이 가능 할까요?
: :
: :
: :
: : 
: : #include "stdio.h"
: : #include "Shobjidl.h"
: : #include "Windows.h"
: : 
: : bool GetKeyboardRect( RECT *r ) {
: : 	IFrameworkInputPane *inputPane = NULL;
: : 	bool result = false;
: : 	HRESULT hr = CoInitializeEx(NULL, COINIT_APARTMENTTHREADED);
: : 	if (SUCCEEDED(hr)) {
: : 		hr = CoCreateInstance(CLSID_FrameworkInputPane, NULL, CLSCTX_INPROC_SERVER, IID_IFrameworkInputPane, (LPVOID*)&inputPane);
: : 		if (SUCCEEDED(hr)) {
: : 			hr=inputPane->Location( r );
: : 			if (SUCCEEDED(hr)) {
: : 				result = true;
: : 
: : 				if( r->left == 0 )
: : 				if( r->right == 0 )
: : 				if( r->top == 0 )
: : 				if( r->bottom == 0 )
: : 					result = false;
: : 			}
: : 			inputPane->Release();
: : 		}
: : 	}
: : 	CoUninitialize();
: : 	return result;
: : }
: : 
: : int main()
: : {
: : 	HRESULT hr;
: : 	hr = CoInitialize(0);
: : 
: : 	RECT r;
: : 	bool result = GetKeyboardRect( &r );
: : 	printf( "result=%d RECT=%d,%d,%d,%d\n", result, r.left, r.top, r.right, r.left );
: : 	return 0;
: : }
: : 

+ -

관련 글 리스트
76270 빌더 6에서 헤더 파일에 없는 함수를 사용하고자 할경우 어떻게 해야 할까요? 친구 897 2022/03/11
76273     Re:빌더 6에서 헤더 파일에 없는 함수를 사용하고자 할경우 어떻게 해야 할까요? 지나가다가 942 2022/03/13
76274         Re:Re:빌더 6에서 헤더 파일에 없는 함수를 사용하고자 할경우 어떻게 해야 할까요? 친구 902 2022/03/15
76277             Re: IFrameworkInputPane 정의가 반드시 있어야만 가능한 게 아님. 빌더(TWx) 1089 2022/03/25
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.