아래같은 코드라면
실행파일의 코드 사이즈가 커지긴 하겠지만, 메모리에 모두 올라가진 않습니다.
초보 님이 쓰신 글 :
: 델파이를 초보입니다.
:
: 제가 폼 없는 Unit에 코딩 하는걸 많이 썼는데요... 이게 메모리 상에 어떤 영향을 미치는지 궁금합니다.
:
: 이게 프로그램 실행시에 자동으로 메모리에 올라간다면 좀 문제가 있을것 같아서요.
:
: MDI로 만든 프로그램에 서브폼 70-80에서 공통으로 사용하는 procedure라든가 각 폼에서 일어나는 Query문을 하나의 Unit에 몰아 넣어서 코딩을 합니다.
:
: 한 예를 들어보겠습니다.
:
:
: //------- Form이 있는 Unit
:
: interface
:
: var
: Form1: TForm1;
:
: implementation
:
: uses Unit1;
:
: var
: TestStr: String;
:
: {$R *.dfm}
:
: procedure TForm1.Button1Click(Sender: TObject);
: begin
: TestStr := Test_String(TestStr);
: end;
:
:
:
: //--- 폼 없는 Unit
:
: interface
:
: functionTest_String(Str: String): String;
:
: implementation
:
: uses Main, DataModule;
:
: function Test_String(Str: String): String;
: begin
: Result := Str + 'gogogo';
: end;
:
:
: 이런식으로 작성한 procedure며 function이 상당합니다.
:
: 이 폼없는 Unit안의 procedure, function은 프로그램 시작과 동시에 모두 메모리 상에 올라가는지요.
:
: 어떻게 구현할지는 난감하지만 가능하다고 할때 단순히 저 기능들을 Class화 시킨다면 메모리쪽 상황이 달라질까요?
:
: 궁금하기만 합니다. 답변 부탁드리겠습니다.
|