Q&A

  • FindComponent 좀 보아 주세요
var dc_name : string;

dc_name1 : string;

dcno : string;

bname, wname, mname,bgname,bseqn : TEdit;

begin

if key = vk_return then begin

dc_name := TEdit(Sender).name; //컴포넌트이름 ac_sq01

dc_name1 := TEdit(Sender).Text; //컴포넌트 입력값1234, 23655 번호

dcno := copy(dc_name, 6, 2); //컴포넌트이름의 뒤에 숫자 01, 03,15, 20





bname := findcomponent('dc_nm' + dcno)as TEdit; //폼의 dc_nm01 의조건

을 가져 오겠죠

bname.Text := fieldbyname('sh_nm01').asstring;

//위의 fieldbyname('sh_nm01').asstring 에는 분명히 값이 있는데 폼의 dc_nm01

에는 값이 나타나지 않습니다. 이런 고수님들 아침부터 지금까지 헤메고 있습

니다 왜그런가요? 아래 구문들도 마찬가지 쿼리의 필드에는 값이 있는데,

폼에는 않 나타납니다. 고수님들 델가족여러분 미치겠습니다.

도와 주십시요. 꾸~벅~



wname := findcomponent('dc_wt' + dcno)as TEdit;

wname.Text := fieldbyname('sh_wrt').asstring;

mname := findcomponent('dc_mk' + dcno)as TEdit;

mname.Text := fieldbyname('sh_mker').asstring;

bgname := findcomponent('dc_dn' + dcno)as TEdit;

bgname.Text := '대출완료';

2  COMMENTS
  • Profile
    초보 2001.03.13 06:14
    초보 wrote:

    > var dc_name : string;

    > dc_name1 : string;

    > dcno : string;

    > bname, wname, mname,bgname,bseqn : TEdit;

    > begin

    > if key = vk_return then begin

    > dc_name := TEdit(Sender).name; //컴포넌트이름 ac_sq01

    > dc_name1 := TEdit(Sender).Text; //컴포넌트 입력값1234, 23655 번호

    > dcno := copy(dc_name, 6, 2); //컴포넌트이름의 뒤에 숫자 01, 03,15, 20

    >

    >

    > bname := findcomponent('dc_nm' + dcno)as TEdit; //폼의 dc_nm01 의조건

    > 을 가져 오겠죠

    > bname.Text := fieldbyname('sh_nm01').asstring;

    > //위의 fieldbyname('sh_nm01').asstring 에는 분명히 값이 있는데 폼의 dc_nm01

    > 에는 값이 나타나지 않습니다. 이런 고수님들 아침부터 지금까지 헤메고 있습

    > 니다 왜그런가요? 아래 구문들도 마찬가지 쿼리의 필드에는 값이 있는데,

    > 폼에는 않 나타납니다. 고수님들 델가족여러분 미치겠습니다.

    > 도와 주십시요. 꾸~벅~

    >

    > wname := findcomponent('dc_wt' + dcno)as TEdit;

    > wname.Text := fieldbyname('sh_wrt').asstring;

    > mname := findcomponent('dc_mk' + dcno)as TEdit;

    > mname.Text := fieldbyname('sh_mker').asstring;

    > bgname := findcomponent('dc_dn' + dcno)as TEdit;

    > bgname.Text := '대출완료';



    으아 힘들당....

    보니깐요 Findcomponent 함수는

    With Query1 do begin



    end; 이런 With문 속에서는 먹지를 않더라고요... 왠지는 몰겠어요.조 함수를

    위드문속에 가두면 읽지를 못합니다.

    델가족 여러분 참고 하세요. 하루가 너무 아깝당...으 머리야...

  • Profile
    kylix 2001.03.13 07:58
    with문 속에다 넣으면 폼의 FindComponent메소드가 호출되는 것이 아니라



    Query1의 FindComponent가 실행되겠죠. 그래서 폼의 컴포넌트를 못찾죠. Query1에서



    찾으니까...



    with Query1 do

    begin

    ...

    Self.FindComponent(...);

    // 이런식으로 Self인자를 써서 폼의 FindComponent를 호출해야죠...

    ...

    end;



    초보 wrote:

    > 초보 wrote:

    > > var dc_name : string;

    > > dc_name1 : string;

    > > dcno : string;

    > > bname, wname, mname,bgname,bseqn : TEdit;

    > > begin

    > > if key = vk_return then begin

    > > dc_name := TEdit(Sender).name; //컴포넌트이름 ac_sq01

    > > dc_name1 := TEdit(Sender).Text; //컴포넌트 입력값1234, 23655 번호

    > > dcno := copy(dc_name, 6, 2); //컴포넌트이름의 뒤에 숫자 01, 03,15, 20

    > >

    > >

    > > bname := findcomponent('dc_nm' + dcno)as TEdit; //폼의 dc_nm01 의조건

    > > 을 가져 오겠죠

    > > bname.Text := fieldbyname('sh_nm01').asstring;

    > > //위의 fieldbyname('sh_nm01').asstring 에는 분명히 값이 있는데 폼의 dc_nm01

    > > 에는 값이 나타나지 않습니다. 이런 고수님들 아침부터 지금까지 헤메고 있습

    > > 니다 왜그런가요? 아래 구문들도 마찬가지 쿼리의 필드에는 값이 있는데,

    > > 폼에는 않 나타납니다. 고수님들 델가족여러분 미치겠습니다.

    > > 도와 주십시요. 꾸~벅~

    > >

    > > wname := findcomponent('dc_wt' + dcno)as TEdit;

    > > wname.Text := fieldbyname('sh_wrt').asstring;

    > > mname := findcomponent('dc_mk' + dcno)as TEdit;

    > > mname.Text := fieldbyname('sh_mker').asstring;

    > > bgname := findcomponent('dc_dn' + dcno)as TEdit;

    > > bgname.Text := '대출완료';

    >

    > 으아 힘들당....

    > 보니깐요 Findcomponent 함수는

    > With Query1 do begin

    >

    > end; 이런 With문 속에서는 먹지를 않더라고요... 왠지는 몰겠어요.조 함수를

    > 위드문속에 가두면 읽지를 못합니다.

    > 델가족 여러분 참고 하세요. 하루가 너무 아깝당...으 머리야...