Q&A
HOME
Tips & Tech
Q&A
Discuss
Download
자유게시판
홍보 / 광고
구인 / 구직
LOGIN
회원가입
ActiveForm에서 잔상이 계속 나는 문제좀 자세하게 알려주세요
여기저기 뒤져보니 다 공통적으로 나와있더군요
parent로 어쩌구 저쩌구 하면 된다고 하는데 잘 안되더군요
자세하게 좀 알려주세요 부탁드립니다(왕 초짜에요)
2
COMMENTS
Larson
•
2001.02.21 18:39
정확한 답변이 될지는 모르겠지만 참고해보세요.
---------------------------------------------------------------------------------
(질문) 델파이로 ActiveX 폼을 웹브라우저에서 로드해 사용할때 웹브라우저의 스크롤바위로 ActiveX 폼이 올라오는 현상등, ActiveX 위의 화면 단절 현상등 문제가 발생할때 해결방법??
(답변전문)
델파이 4에서는 ActiveForm이 웹브라우저 보다 클 경우 웹브라우저 보다 클 경우 웹브라우저의 스크롤바 위로 ActiveXForm이 올라오는 기이한 문제가 발생했었습니다.
그래서 델파이5에서는 이 문제를 고치기 위한 코드를 추가됐는데요, 아쉽게도 이것에도 문제가 있습니다.
웹페이지를 스크롤했을 경우 ActiveXForm의 painting에 문제가 생겨서 화면이 모두 깨지는 아주 심각한 문제 입니다.
현재 나와 있는 델파이 5의 패치판에서도 이 문제점은 여전히 해결되지 않고 있는 실정입니다.
인프라이즈에서 해결해주지 않는 이상 이 문제는 직접 해결을 해야 하는 문제가 되고 말았습니다.
하지만 그리 어렵지 않게 이 Painting 오류를 수정할 수 있습니다.
이 문제를 직접 해결하기 위해서는 델파이의 /Source 디렉토리에 있는 AxCtrls.pas를 직접 수정해줘야 합니다.
AxCtrls.pas 에서 SetObjectRects란 함수를 찾아서 다음에 표시된 부분을 추가해 줍니다.
function TActiveXControl.SetObjectRects(const rcPosRect: TRect;
const rcClipRect: TRect) : HResult;
var
try
IntersectRect(WinRect, rcPosRect, rcClipRect);
// 여기서부터 추가할 부분
WinRect := Bounds(rcPosRect.left,
rcPosRect.Top,
WinRect.Right-WinRect.Left+rcClipRect.Left-rcPosRect.Left,
WinRect.Bottom-WinRect.Top+rcClipRect.Top-rcClipRect.Top);
// 여기까지
FWinControl.BoundsRect := WinRect;
Result := S_OK;
except
Result := HandleException;
end;
end;
추가가 끝나면 이 AxCtrls.pas 만 다시 컴파일해서 델파이의 /Lib 디렉토리에 넣어 둡니다. 이렇게 하면 델파이로 제작된 ActiveXForm이 있는 웹페이지를 스크롤했을 때 발생했던 문제를 해결할 수 있습니다.
=============================================================
이상이 원문입니다.
AxCtrls.pas 파일을 재 컴파일 하는 방법을 정석은 아직 모르겠네요... ^^;
일단은 다른 방법으로 해도 문제가 없이 다시 적용이 되더군요..
우선, /Source 아래에서 수정한 AxCtrls.pas 파일을 /Lib 디렉토리로 복사 합니다.
그런뒤, /Lib 아래에 존재하는 AxCtrls.dcu 파일이 있으면 삭제해 줍니다.
그런뒤, 기존에 있던, ActiveXFormProject 나 NewActiveXProject 를 하나 컴파일 하게 되면..
델파이가 알아서 AxCtrls.pas 파일을 컴파일하여 주더군요...
/Lib 디렉토리아래에 AxCtrls.dcu 파일이 새로 생성되어 있음을 확인할 수 있습니다.
음.. 위의 파일은 원래 제공되는 VCL 파일에서 모든 프로젝트에 미치는 영향이 있어서
저렇게 해 주는거지만..
특정한 프로젝트에서만 발생되는 경우라면, 해당 프로젝트 폴더에 수정한 pas 파일을
복사해서 컴파일 하면 우선은 소스 디렉토리에 있는 pas 를 읽기 때문에 적용이 될수도
있겠지요.......
그럼.. 참고가 되었으면 좋겠네요........
0
0
삭제
수정
댓글
이승욱
•
2001.02.23 18:12
감사합니다.
0
0
삭제
수정
댓글
(NOTICE) You must be
logged in
to comment on this post.
pch
2001.02.21 10:33
0
COMMENTS
/
0
LIKES
Form Close시
궁금남
2001.02.21 10:05
0
COMMENTS
/
0
LIKES
마이다스로 프로그램을 짜고 있는데,, 문제가,,SOS SSO
궁금증
•
2001.02.21 09:11
6
COMMENTS
/
0
LIKES
Daabase의 고수님께 여쭤보고 싶어요 긴 장문이지만 꼭 읽어봐 주시고 답변을 주셨으면
미남과암야수
•
2001.02.21 21:28
저는 오라클 밖에 사용을 못해서여...(오라클의경우 예제를 올립니다...) 저는 아래와 같이 하겠습니다....
궁금증
•
2001.02.21 23:26
미남과암야수님 답변에 감사드립니다. 님께서는 오라클을 사용하신다니 우선 그 것에 관하여 재차 질문...
미남과암야수
•
2001.02.22 00:43
그 심정(피가 마르는) 저두 이해합니다... 아마 모든 개발자들이 시간에
미남과암야수
•
2001.02.21 21:30
CREATE OR REPLACE VIE V_T31 AS SELECT YYYY, BCOD, MCOD, SUM(DECODE(MM, '01', MA, 0)) MA01, ...
권민호
•
2001.02.21 19:42
궁금증 wrote: > 고수님 안녕하세요. > > 현재 Delphi5와 Interbase6을 사용하고 있습니다. > 제...
하눌
•
2001.02.21 18:13
답변이 될런지는 모르겠으나, 이런경우 집계용테이블을 현재사용하고 있는 (temp테이블 에해당되는) 테이...
정우석
•
2001.02.21 08:30
1
COMMENTS
/
0
LIKES
델파이 IDE에서 '개체명.' 다음에 나오는 속성과 메소드의 순서는?
kylix
•
2001.02.21 08:39
객체의 상속순서대로 나옵니다... 아무래도 조상의 메소드보다는 자신의 메소드가 더 많이 사용되기 때문에...
델초보...
2001.02.21 08:02
0
COMMENTS
/
0
LIKES
MS-SQL...
이기주
•
2001.02.21 07:25
1
COMMENTS
/
0
LIKES
mysql에 관련해서 [zdbgrid] 있으신분 도움 부탁드립니다.
^-_-^
•
2001.02.22 11:58
yo` 흠...zdbgrid 도 zeos 배포본에 포함되어 있는 콤포넌트 입니다. zdbctrlsX 를 설치하시면 됩니...
유구리
•
2001.02.21 07:06
2
COMMENTS
/
0
LIKES
ActiveForm에서 잔상이 계속 나는 문제좀 자세하게 알려주세요
여기저기 뒤져보니 다 공통적으로 나와있더군요 parent로 어쩌구 저쩌구 하면 된다고 하는데 잘 안되더군요 자세하게 좀 알려주세요 부탁드립니다(왕 초짜에요)
Larson
•
2001.02.21 18:39
정확한 답변이 될지는 모르겠지만 참고해보세요. ---------------------------------------------------...
이승욱
•
2001.02.23 18:12
감사합니다.
초보..
2001.02.21 08:13
0
COMMENTS
/
0
LIKES
꼭좀 봐주세요..
장지용
•
2001.02.21 05:55
2
COMMENTS
/
0
LIKES
LMD-TOOLS 구합니다.
나그네2
•
2001.02.21 07:26
장지용 wrote: > > 최신 버전으로 컴파일하니까 > 델파이가 실행이 안 된 상태에서는 > 애플리케이...
장지용
•
2001.02.21 19:37
음.. 뭔가 오해가 있으시군요..-.- 저는 상용을 구하는 것이 아닙니다. 구버전으로 나온 쉐어버전을 ...
초롱이
•
2001.02.21 06:09
1
COMMENTS
/
0
LIKES
디스켓에서 하드로 저장하는방법을 알고싶어여..빨리부탁을..
최용일
•
2001.02.21 07:13
안녕하세요. 최용일입니다. CopyFile함수를 쓰세요... if CopyFile('A:file.txt', 'C:MyFolderfile.t...
유태윤
•
2001.02.21 05:20
1
COMMENTS
/
0
LIKES
기존의 컴포넌트를 소스를 구현하는 방법
최용일
•
2001.02.21 07:16
안녕하세요. 최용일입니다. 그러한 방법을 동적생성이라고 하죠... procedure 폼의어떤메소드(...);...
최종민
2001.02.21 05:07
0
COMMENTS
/
0
LIKES
마우스 관련...
최일용
•
2001.02.21 04:51
1
COMMENTS
/
0
LIKES
TBitBtn의 이미지에 처리에 대해서요....
최용일
•
2001.02.21 06:51
안녕하세요. 최용일입니다. 허허~ 저랑 이름이 비슷하네여... 예를들어 16x16크기의 이미지를 사용하...
nurihong
•
2001.02.21 04:51
1
COMMENTS
/
0
LIKES
listview에서 마우스로 영역선택한것을 체크박스로 표시하는방법
최용일
•
2001.02.21 06:53
안녕하세요. 최용일입니다. 아이템이 선택되어졌을때 리스트뷰에서 OnSelectItem이벤트가 발생합니다. ...
이문환
•
2001.02.21 04:19
1
COMMENTS
/
0
LIKES
window용 mysql은 공짜인가요?
^-_-^
•
2001.02.22 00:33
yo` 라이센스를 정확히 해석하지 않아 모르겟지만..(영어가 안돼니-,.-) 여튼, 전에는 윈도기반은 쉐...
윤미영
•
2001.02.21 03:52
1
COMMENTS
/
0
LIKES
버튼을 누르면 다른 버튼들이 나타나 그중하나를 선택하는 방법을 아시는지요
최용일
•
2001.02.21 07:46
안녕하세요. 최용일입니다. 흠~~~ 엄청 희안한 인터페이스네여~~~ // OnMouseDown 이벤트 procedure...
칠돌이
2001.02.21 05:46
0
COMMENTS
/
0
LIKES
저의 ActiveForm을...
초보
•
2001.02.21 03:16
1
COMMENTS
/
0
LIKES
access DB에서 SQL로 조회할 때.
델 초보맨
•
2001.02.24 07:15
초보 wrote: > 안녕하십니까. > access db에 몇 개의 테이블을 만들어서 델파이로 프로그램을 작성하다가...
황내현
•
2001.02.24 23:27
2
COMMENTS
/
0
LIKES
DLL ERROR
kylix
•
2001.02.24 23:27
DLL에선 string타입은 사용안하는게 좋아여... PChar를 사용하기를 권장합니다. 꼭 사용하겠다면 uses절...
황내현
•
2001.02.24 23:28
> 황내현 wrote: 해답을 주셔서 감사합니다. 한가지 더 질문드릴께요 sharemem을 사용했더니 정상적으로...
최월자
•
2001.02.21 02:34
1
COMMENTS
/
0
LIKES
풍선도움말을 현포커스위치에 따라 나타내게...
최용일
•
2001.02.21 03:03
안녕하세요. 최용일입니다. 간단하게 아래와 같이 하시면 되겠네요... // 폼의 모든 커서 있는 컨트...
유구리
2001/02/21 07:06
Views
257
Likes
0
Comments
2
Reports
0
Tag List
수정
삭제
목록으로
한델 로그인 하기
로그인 상태 유지
아직 회원이 아니세요? 가입하세요!
암호를 잊어버리셨나요?
---------------------------------------------------------------------------------
(질문) 델파이로 ActiveX 폼을 웹브라우저에서 로드해 사용할때 웹브라우저의 스크롤바위로 ActiveX 폼이 올라오는 현상등, ActiveX 위의 화면 단절 현상등 문제가 발생할때 해결방법??
(답변전문)
델파이 4에서는 ActiveForm이 웹브라우저 보다 클 경우 웹브라우저 보다 클 경우 웹브라우저의 스크롤바 위로 ActiveXForm이 올라오는 기이한 문제가 발생했었습니다.
그래서 델파이5에서는 이 문제를 고치기 위한 코드를 추가됐는데요, 아쉽게도 이것에도 문제가 있습니다.
웹페이지를 스크롤했을 경우 ActiveXForm의 painting에 문제가 생겨서 화면이 모두 깨지는 아주 심각한 문제 입니다.
현재 나와 있는 델파이 5의 패치판에서도 이 문제점은 여전히 해결되지 않고 있는 실정입니다.
인프라이즈에서 해결해주지 않는 이상 이 문제는 직접 해결을 해야 하는 문제가 되고 말았습니다.
하지만 그리 어렵지 않게 이 Painting 오류를 수정할 수 있습니다.
이 문제를 직접 해결하기 위해서는 델파이의 /Source 디렉토리에 있는 AxCtrls.pas를 직접 수정해줘야 합니다.
AxCtrls.pas 에서 SetObjectRects란 함수를 찾아서 다음에 표시된 부분을 추가해 줍니다.
function TActiveXControl.SetObjectRects(const rcPosRect: TRect;
const rcClipRect: TRect) : HResult;
var
try
IntersectRect(WinRect, rcPosRect, rcClipRect);
// 여기서부터 추가할 부분
WinRect := Bounds(rcPosRect.left,
rcPosRect.Top,
WinRect.Right-WinRect.Left+rcClipRect.Left-rcPosRect.Left,
WinRect.Bottom-WinRect.Top+rcClipRect.Top-rcClipRect.Top);
// 여기까지
FWinControl.BoundsRect := WinRect;
Result := S_OK;
except
Result := HandleException;
end;
end;
추가가 끝나면 이 AxCtrls.pas 만 다시 컴파일해서 델파이의 /Lib 디렉토리에 넣어 둡니다. 이렇게 하면 델파이로 제작된 ActiveXForm이 있는 웹페이지를 스크롤했을 때 발생했던 문제를 해결할 수 있습니다.
=============================================================
이상이 원문입니다.
AxCtrls.pas 파일을 재 컴파일 하는 방법을 정석은 아직 모르겠네요... ^^;
일단은 다른 방법으로 해도 문제가 없이 다시 적용이 되더군요..
우선, /Source 아래에서 수정한 AxCtrls.pas 파일을 /Lib 디렉토리로 복사 합니다.
그런뒤, /Lib 아래에 존재하는 AxCtrls.dcu 파일이 있으면 삭제해 줍니다.
그런뒤, 기존에 있던, ActiveXFormProject 나 NewActiveXProject 를 하나 컴파일 하게 되면..
델파이가 알아서 AxCtrls.pas 파일을 컴파일하여 주더군요...
/Lib 디렉토리아래에 AxCtrls.dcu 파일이 새로 생성되어 있음을 확인할 수 있습니다.
음.. 위의 파일은 원래 제공되는 VCL 파일에서 모든 프로젝트에 미치는 영향이 있어서
저렇게 해 주는거지만..
특정한 프로젝트에서만 발생되는 경우라면, 해당 프로젝트 폴더에 수정한 pas 파일을
복사해서 컴파일 하면 우선은 소스 디렉토리에 있는 pas 를 읽기 때문에 적용이 될수도
있겠지요.......
그럼.. 참고가 되었으면 좋겠네요........