델파이 초보자 입니다.
소스를 분석하다 보면
XXX.Create(Application);
XXX.Create(Self);가 있는데요
이 Application과 Self가 뭘 뜻하는것이고 어떻게 써야하는지요?
하나더 있습니다.
프로젝트 개발중에 폼이 30여개가 소요될때
제가 책에서 보기로는 이 폼들이 처음 부터 메모리로 올라와서 프로그램이 느려지니 필요할때 메모리로 올리고 필요없으면 메모리에서 내리라고 하느데요
먼저 프로젝트 옵션 대화상자에서 auto-create forms에 폼을 놓지말고
Available forms로 폼을 옮겨놓으라고 하느데요
그다음에 어떻게 하라는 말이 없어서 난감합니다.
Available쪽에 있는 폼은 어떻게 사용하고 또 메모리에서는 어떻게
없애는지요
너무 초보적인 질문이라 죄송합니다.
> 델파이 초보자 입니다.
>
> 소스를 분석하다 보면
> XXX.Create(Application);
> XXX.Create(Self);가 있는데요
> 이 Application과 Self가 뭘 뜻하는것이고 어떻게 써야하는지요?
>
> 하나더 있습니다.
> 프로젝트 개발중에 폼이 30여개가 소요될때
> 제가 책에서 보기로는 이 폼들이 처음 부터 메모리로 올라와서 프로그램이 느려지니 필요할때 메모리로 올리고 필요없으면 메모리에서 내리라고 하느데요
> 먼저 프로젝트 옵션 대화상자에서 auto-create forms에 폼을 놓지말고
> Available forms로 폼을 옮겨놓으라고 하느데요
> 그다음에 어떻게 하라는 말이 없어서 난감합니다.
> Available쪽에 있는 폼은 어떻게 사용하고 또 메모리에서는 어떻게
> 없애는지요
> 너무 초보적인 질문이라 죄송합니다.
>
>
안녕하신지요?.
1.Application
현재실행중인 프로그램을 대표하는 것이라고 할수 있습니다.
Application.ExeName... 같이...
2.Self
OOP(객체위주프로그램잉방식)에서 나온 개념으로 객체 자신을 의미하는 겁니다. 예를 들면 Form1.Self 는 바로 Form1 자체를 대표하는겁니다.
더 예를 들면...
procedure TForm1.Button....
begin
self.Width := 1000; // 곧 Form1.Width := 1000 과 같습니다.
end;
3.폼이 많은데...
폼이 많을때는 동적으로 생성시켜 주어야 합니다. 예를 들어 프로그램의 정보를 보여주는 다이아로그박스를 동적으로 생성하려면 우선은 유닛을 추가하시고요. 버턴을 누를때나 메뉴를 선택했을때 아래처럼...
uses AboutBox;
...
...
procedure TForm1.Button...
var
inf: TAboutBox;
begin
inf := TAboutBox.Create(self);
inf.ShowModal;
inf.Free;
end;