질문은 한번에 하나씩 해주세요.
여러가지 질문을 한번에 하면 그만큼 답변하는 분도 더 부담스러워집니다.
첫번째.
implementation 섹션에 있는 uses에서 Windows를 interface 섹션의 uses로 옮기면 델파이5에서도 컴파일됩니다.
두번째.
컴포넌트를 등록하지 않고 쓰려면 동적으로 생성하면 됩니다.
제 예제 소스에서 일단 폼에 올려진 impMDIBar 컴포넌트를 지운 다음, 다음과 같이 하세요.
먼저 폼 클래스의 private 섹션에 다음과 같이 변수를 선언하세요.
private
ImpMDIBar1: TImpMDIBar;
이 코드만으로는 TImpMDIBar 타입의 포인터만 선언된 것이지 객체가 만들어진 것이 아닙니다.
이제부터 TImpMDIBar의 객체를 동적으로 생성합니다.
폼을 더블클릭해서 OnCreate 이벤트에 핸들러를 만드세요. 그리고 다음과 같이 코딩하세요.
procedure TMainForm.FormCreate(Sender: TObject);
begin
ImpMDIBar1 := TImpMDIBar.Create(self);
ImpMDIBar1.Parent := self;
end;
컴파일하고 실행해보면 잘 될 겁니다.
그럼...
하늘 님이 쓰신 글 :
: 박지훈님의 콤퍼는트인 impMDIBar을 사용하여 간단하게 프로그램을 만들어 보았습니다(델7)
: 그런데 아는분이 델5를 쓰시기에 델7로 간단하게 만들어서 델5에서 열어볼려 했더니
: 첨부처럼 에러가 뜨네요(델5에서 직접 만들어도 마찮가지 입니다)...무엇이 문제 일까요? 알려주세요
:
: 그리고 가장 부탁 드리고 싶은것은
: 두번째 파일은 박지훈님의 impMDIBar의 컴포넌트 입니다
: 컴포넌트를 꼭 설치하지 않고 impMDIBar.pas 파일만 가지고 똑같은 기능의 프로그램을
: 만들고 싶은데 잘 안되네요 아직 클래스 개념이 없어서인지 ㅜㅜ
: 혹시 가능하신분 부탁 드리겠습니다
: impMDIBar.pas만 가지고 같은 기능의 프로그램 만들기(될수있으면 델5에서)
: 부탁 드립니다
: 즐거운 일주일 되세요^^
|