Q&A

  • 동적 component생성시 Owner문제...
여러 unit에서 사용하기위한 공통 함수들을 모아놓은 form없는 unit을 만들었는데

임시로 조회가 필요할때 query component를 생성해서 사용할려구..



가령 시스템 시간을 가져오는 함수를 만들때 담과 같이해서





function GetSysDateTime: String;

var

Qry : TQuery;

begin

qry := TQuery.Create(AOwner); ---> 여기가 문제거든요.(Aowner에 뭘 써야할지

form이 없어서 누구의 소유인지)

qry.Databasename := 'TempDB';



with aQry do begin

Close;

SQL.Clear;

SQL.Add('select TO_CHAR(SYSDATE, ''YYYY.MM.DD HH24:MI:SS'') CURRDATE');

SQL.Add(' from DUAL');

Open;

...............





참고) 호출하는 form에서 인수를 넘기는건 안되요. 왜냐면

이미 그 함수를 쓰고 있는 곳이 많기 때문에 일일이 다 수정할수 없어서





조언부탁드려요..

1  COMMENTS
  • Profile
    신호성 1999.11.27 04:21
    jhlee wrote:

    > 여러 unit에서 사용하기위한 공통 함수들을 모아놓은 form없는 unit을 만들었는데

    > 임시로 조회가 필요할때 query component를 생성해서 사용할려구..

    >

    > 가령 시스템 시간을 가져오는 함수를 만들때 담과 같이해서

    >

    >

    > function GetSysDateTime: String;

    > var

    > Qry : TQuery;

    > begin

    > qry := TQuery.Create(AOwner); ---> 여기가 문제거든요.(Aowner에 뭘 써야할지

    > form이 없어서 누구의 소유인지)

    > qry.Databasename := 'TempDB';

    >

    > with aQry do begin

    > Close;

    > SQL.Clear;

    > SQL.Add('select TO_CHAR(SYSDATE, ''YYYY.MM.DD HH24:MI:SS'') CURRDATE');

    > SQL.Add(' from DUAL');

    > Open;

    > ...............

    >

    >

    > 참고) 호출하는 form에서 인수를 넘기는건 안되요. 왜냐면

    > 이미 그 함수를 쓰고 있는 곳이 많기 때문에 일일이 다 수정할수 없어서

    >

    >

    > 조언부탁드려요..





    아래처럼 하면 될텐데요.



    qry := TQuery.Create(nil);





    qry.free;