기존의 unit 에다 새로운 unit 을 사용해 공통적으로 사용할 Procedure 나 function 을 선언하여 사용하고 싶은데 잘안되네요.... Procedure 나 function 은 만들겠는데 불러다 사용하지를 못하겠네요... 새로운 unit 과 기존의 unit 에서...
윤진화
•
2000.03.21 04:33
아주 간략한 내용인데 참고하세요.
보통 델파이 IDE에서 "File" -> "New Application"을 선택하면 Form(...
벼리
•
2000.10.25 02:58
모듈 한 곳으로 모으려는 작업을 시작한지 어~~언 1주일이 다 지났건만,,
진전이 없다가~~
너무 너무...
초보...
•
2000.03.21 05:17
답변 너무 고맙습니다...
델파이에 이제 적응하는 과정이라 신세를 지게되는 군요...
너무 궁금하고 ...
보통 델파이 IDE에서 "File" -> "New Application"을 선택하면 Form(DFM), Unit(PAS)가
생깁니다. 폼을 가지고 있는 Unit에서 또는 여러 Unit에서 공통으로 함수를 쓰고 싶다면
위의 상황에서 "File" -> "New"를 선택하세요. 그러면 "NewItems"라는 폼이 뜨는데 거
기서 "Unit"를 선택하세요. 그러면 Form를 가지지 않는 Unit파일이 자동으로 생성됩니다.
폼을 가지지 않는 Unit파일에 공통 모듈들을 서술하는 거죠.
Project Manager를 보면
--------------------------------------
Project1 -> Unit1 (Form을 가짐)
Unit2 (공통 모듈들을 서술)
--------------------------------------
이렇게 되겠죠.
그리고 Unit1의 코딩 위쪽 부분 Uses문에 "Unit2"를 기술해주세요.
그러면 Unit1에서 Unit2의 모든 함수들을 참조 가능합니다.
예제를 볼까요~
=============
Unit1 Source
=============
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Unit2;
type
TForm1 = class(TForm)
Button1: TButton;
Edit1: TEdit;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
begin
Edit1.Text := IntToStr(OneAdd(1));
end;
end.
=============
Unit2 Source
=============
unit Unit2;
interface
function OneAdd(i : Integer) : Integer; forward;
implementation
function OneAdd( i : Integer) : Integer;
begin
Result := i + 1;
end;
end.
이상입니다.