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
[16582] [또다른 질문]문제를 해결했는데 또 다른문제가 생겼네요 ㅡㅜ
김봉학 [] 1457 읽음    2002-03-21 09:44
TreeSortFunc 콜백함수부분을 다음과 같이 수정하니까 목록은 제대로 나오더군요

int CALLBACK TreeSortFunc(LPARAM Node2, LPARAM Node1, LPARAM lParam)
{
    if (Node1 && Node2)
    {
        TShellFolder* sfFirst = (TShellFolder*)((TTreeNode*)Node1)->Data;
        TShellFolder* sfSecond = (TShellFolder*)((TTreeNode*)Node2)->Data;

        HRESULT hr = sfFirst->ParentShellFolder()->CompareIDs(0,
            sfFirst->RelativeID, sfSecond->RelativeID);

        if (FAILED(hr))
            return 0;
        return (-(short)SCODE_CODE(GetScode(hr)));
    }
    else
        return 0;
}

그런데 이놈을 Form1, 과 Form2를 만들고 Form2에 ShellTree 를 올려놓은 상태에서

Form1의 OnCreate 부분에서 Form2를 Form1의 Child로 생성하는 경우, 또는 Form2를

Form1의 Panel에 ManualDocking 하는 경우 Error가 발생하는군요.

아마도 Recreate과정중에 생기는 에러같은데 정말 잡기 함드네요.


참고로 제가 테스트했던 예제 코드를 올려보니 고수분들 문제해결좀 부탁드립니다.


Form1의 OnCreate에서

Form2 = new TForm2(this);
Form2->BorderStyle = bsNone;
Form2->Align = alClient;
Form2->Parent = this; // Parent를 다시 지정했습니다.
Form2->Visible = true;

이상과같이 테스트 하였는데 에러가 나는군요... ㅡㅜ
Parent를 재지정안하고 사용하면 잘죄는데 Parent를 지정하면 무조건 Error
Docking을 이용해도 Error .... 미티...

+ -

관련 글 리스트
16566 C++Builder6 에서 ShellTree 설치해보신분 있나요? 김봉학 1169 2002/03/20
16582     [또다른 질문]문제를 해결했는데 또 다른문제가 생겼네요 ㅡㅜ 김봉학 1457 2002/03/21
16584         편법으로 해결봤습니다.. 김봉학 1078 2002/03/21
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.