Q&A

  • 공통 Pas 에서 사용하는 SelectNext 함수..
안녕하세요



각 Form 에서 SelectNext 를 사용한 경우 Error 가 나지 않았는데



SelectNext 를 사용하는 Logic을 Module화 하기 위해 해당 Logic을



공통 Pas 에 구현을 해보니 컴파일시



Undeclared identifier : 'SelectNext' 라는 Error 가 발생합니다..



uses 구문에 Controls 를 추가해도 동일한 Error가 발생하더군요.



사용한 Case 를 말씀드리면..



공통Pas 내의 Procedure 는 다음과 같습니다.



**********************************************************************

procedure gpEditBox_onKeyup(ColumnInfoRec: array of TColumnInfoRec ; Sender : TEdit ; ColCount : Integer);

begin



if ( tmpStr = 'AAA' ) then

SelectNext(TEdit(Sender),True,True);

end;

**********************************************************************



이 프로시져를 호출하는 쪽은 다음과 같습니다.



**********************************************************************

gpEditBox_onKeyup(ColumnInfoRec, TEdit(Sender), ColCount);

**********************************************************************



고견을 부탁드립니다..









2  COMMENTS
  • Profile
    박성훈 1999.07.12 05:38
    동적생성된 컴포넌트를 눌렀을 때 똑같은 컴포넌트가 여러개 동적생성 되도록 하려고 하는데, 이렇게 이중으로 동적생성이 되었을 때 주의해야 할 점이 있으면 알려주십시오.

  • Profile
    mephy 1999.04.29 22:31
    이누리 wrote:

    > 안녕하세요

    >

    > 각 Form 에서 SelectNext 를 사용한 경우 Error 가 나지 않았는데

    >

    > SelectNext 를 사용하는 Logic을 Module화 하기 위해 해당 Logic을

    >

    > 공통 Pas 에 구현을 해보니 컴파일시

    >

    > Undeclared identifier : 'SelectNext' 라는 Error 가 발생합니다..

    >

    > uses 구문에 Controls 를 추가해도 동일한 Error가 발생하더군요.

    >

    > 사용한 Case 를 말씀드리면..

    >

    > 공통Pas 내의 Procedure 는 다음과 같습니다.

    >

    > **********************************************************************

    > procedure gpEditBox_onKeyup(ColumnInfoRec: array of TColumnInfoRec ; Sender : TEdit ; ColCount : Integer);

    > begin

    >

    > if ( tmpStr = 'AAA' ) then

    > SelectNext(TEdit(Sender),True,True);

    > end;

    > **********************************************************************

    >

    > 이 프로시져를 호출하는 쪽은 다음과 같습니다.

    >

    > **********************************************************************

    > gpEditBox_onKeyup(ColumnInfoRec, TEdit(Sender), ColCount);

    > **********************************************************************

    >

    > 고견을 부탁드립니다..

    >

    >

    >

    >



    SelectNext함수는 Pubished로 선언된 함수이기 때문에 그렇게 사용할 수 없습

    니다.



    하지만 간단히 다음과 같이 함수를 만들어 주면 쉽게 SelectNext를 구현할 수 있습니다.





    unit uImsi;



    interface



    uses

    Classes, StdCtrls, Forms, controls;



    procedure GoNextC(CurControl: TWinControl; CheckTabStop: Boolean);

    procedure GoBackC(CurControl: TWinControl; CheckTabStop: Boolean);



    implementation



    function FindNextControl(CurControl: TWinControl;

    GoForward, CheckTabStop, CheckParent: Boolean): TWinControl;

    var

    I, StartIndex: Integer;

    List: TList;

    begin

    Result := nil;

    List := TList.Create;

    try

    Screen.ActiveForm.GetTabOrderList(List);

    if List.Count > 0 then

    begin

    StartIndex := List.IndexOf(CurControl);

    if StartIndex = -1 then

    if GoForward then StartIndex := List.Count - 1 else StartIndex := 0;

    I := StartIndex;

    repeat

    if GoForward then

    begin

    Inc(I);

    if I = List.Count then I := 0;

    end else

    begin

    if I = 0 then I := List.Count;

    Dec(I);

    end;

    CurControl := List[I];

    if CurControl.CanFocus and

    (not CheckTabStop or CurControl.TabStop) and

    (not CheckParent or (CurControl.Parent = Screen.ActiveForm)) then

    Result := CurControl;

    until (Result <> nil) or (I = StartIndex);

    end;

    finally

    List.Free;

    end;

    end;



    procedure GoNextC(CurControl: TWinControl; CheckTabStop: Boolean);

    var

    GoForward : Boolean;

    begin

    GoForward := True;

    CurControl := FindNextControl(CurControl, GoForward,

    CheckTabStop, not CheckTabStop);

    if CurControl <> nil then CurControl.SetFocus;



    end;



    procedure GoBackC(CurControl: TWinControl; CheckTabStop: Boolean);

    var

    GoForward : Boolean;

    begin

    GoForward := False;

    CurControl := FindNextControl(CurControl, GoForward,

    CheckTabStop, not CheckTabStop);

    if CurControl <> nil then CurControl.SetFocus;

    end;



    end.



    • 이호선
      1999.04.29 23:52
      안녕하세요. xor연산을 써서 해볼려 했는데 Error가 나더군요 제가 작성한 코드는 다음과 같습니다. c...
    • 안치봉
      1999.04.30 00:39
      이호선 wrote: > 안녕하세요. > xor연산을 써서 해볼려 했는데 Error가 나더군요 > 제가 작성한 코드는 ...
    • 전철호
      1999.04.30 01:06
      안치봉 wrote: > 이호선 wrote: > > 안녕하세요. > > xor연산을 써서 해볼려 했는데 Error가 나더군요 ...
    • 이호선
    • 1999.04.29 23:52
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 김범환
      1999.07.12 13:04
      델파이를 공부하면서 여러가지 데이타 베이스를 정신없이 사용하고 있습니다. 그런데 좀더 확실하게 DBM...
    • 안치봉
      1999.04.30 00:39
      이호선 wrote: > 안녕하세요. > xor연산을 써서 해볼려 했는데 Error가 나더군요 > 제가 작성한 코드는 ...
    • 조복기
      1999.07.12 19:07
      김범환 께서 말씀하시기를... > 델파이를 공부하면서 여러가지 데이타 베이스를 정신없이 사용하고 있습니...
    • 전철호
      1999.04.30 01:06
      안치봉 wrote: > 이호선 wrote: > > 안녕하세요. > > xor연산을 써서 해볼려 했는데 Error가 나더군요 ...
    • 안명호
    • 1999.04.29 23:36
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 김영대
      1999.04.29 23:48
      안명호 wrote: > 윈도우즈 소켓 프로그래밍에 대한 자료를 찾고 있습니다. > 소장하고 계신 분 있으시면 ...
    • 안명호
    • 1999.04.29 23:36
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 김영대
      1999.04.29 23:48
      안명호 wrote: > 윈도우즈 소켓 프로그래밍에 대한 자료를 찾고 있습니다. > 소장하고 계신 분 있으시면 ...
    • 김종성
    • 1999.07.12 07:28
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 김상영
      1999.07.12 07:51
      김종성 께서 말씀하시기를... > 델파이용 인스톨 프로그램(shiled(?))를 구하려면 어디에 가야 되는지요? ...
    • 이호선
    • 1999.04.29 21:29
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 전철호
      1999.04.29 23:08
      이호선 wrote: > 안녕하세요. > c에서 Character = Character ^ 0xff 를 하여 bitwise-exclusive-or를 ...
    • 이룡
    • 1999.07.12 05:54
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 구창민
      1999.07.12 09:50
      이룡 께서 말씀하시기를... > 이미지에서 jpg를 인식 못합니다... 혹시 왜 그런지 알고 계시거나 > 혹은 ...
    • 이룡
    • 1999.07.12 05:52
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 문창완
      1999.04.29 23:02
      바코드 쿠현에 대해 궁금합니다. 그것에 대해 강좌나 설명을 부탁합니다. 그리고 바코들를 스캔하는 부...
    • 김종호
      1999.07.12 09:45
      이룡 께서 말씀하시기를... > Edit에 입력할때 숫자만 들어갈수 있게 하려면 어떻게 해야 될련지 > 그리...
    • 구창민
      1999.04.30 03:44
      문창완 wrote: > > 바코드 쿠현에 대해 궁금합니다. > 그것에 대해 강좌나 설명을 부탁합니다. > 그리...
    • 안치봉
      1999.04.30 00:42
      문창완 wrote: > > 바코드 쿠현에 대해 궁금합니다. > 그것에 대해 강좌나 설명을 부탁합니다. > 그리...
    • 이누리
    • 1999.04.29 18:22
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 박성훈
      1999.07.12 05:38
      동적생성된 컴포넌트를 눌렀을 때 똑같은 컴포넌트가 여러개 동적생성 되도록 하려고 하는데, 이렇게 이중...
    • mephy
      1999.04.29 22:31
      이누리 wrote: > 안녕하세요 > > 각 Form 에서 SelectNext 를 사용한 경우 Error 가 나지 않았는데 > ...
    • 김봉재
    • 1999.04.29 18:49
    • 3 COMMENTS
    • /
    • 0 LIKES
    • Crow2020
      1999.07.12 00:09
      안녕하세요..^^ 전 지금 통계프로그램을 작성중에 있습니다. -,.- 먼저 아래와 같은 출력내용을 String...
    • 이정욱
      1999.04.29 22:15
      잠깐 Command프롬프트로 가셔서 그 BORDBP40.DLL이 있는 디렉토리로 이동하신 후에 Regsvr32 BORDBK40.DLL ...
    • 손인호
      1999.07.12 06:41
      Crow2020 께서 말씀하시기를... > 안녕하세요..^^ > > 전 지금 통계프로그램을 작성중에 있습니다. -,....
    • BDS
    • 1999.07.11 23:21
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 손인호
      1999.07.12 06:48
      BDS 께서 말씀하시기를... > 더위에 수고가 많으십니다. > Query를 사용하여 검색을 하려고 하는데, 그만...
    • 이정욱
      1999.04.29 21:53
      제가 만든 기본프린터 바꾸는 함수 입니다. 참고하시구요... 이것은 프린터 이름의 일부만 넣어줘도 됩니...
    • 안치봉
      1999.04.29 07:10
      이호선 wrote: > 안녕하세요. > 별다른 것은 없고요 현재 설정된 기본 프린트를 바꿀려하는데 바꿔도 > ...
    • 최선기
    • 1999.07.11 22:41
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 안치봉
      1999.07.11 23:30
      OnClose occurs when the form closes. type TCloseAction = (caNone, caHide, caFree, caMinimize)...
    • 최선기
    • 1999.07.11 21:52
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 김기영
      1999.04.27 22:13
      요즘 웹 페이지 상에서 핸드폰이나 삐삐로 문자 메시지를 보낼 수 있느 곳이 많습니다. 이걸 프로그램 상...
    • 안치봉
      1999.07.11 23:34
      The types of operands and results for relational operations are shown in the following table. Ope...
    • 신인재
      1999.04.27 23:01
      아래의 내용은 델파이 코리아의 하영재님의 답변을 갈무리해온 것입니다. -------------------- 아래---...
    • 우중산보
      1999.04.29 21:47
      신인재님... 캄싸함다... 고수님의 말 한방에 걍 감동의 물결임다. 다시 한번 캄사... 꾸벅
    • 이호선
    • 1999.04.29 21:29
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 차재필
      1999.07.11 09:09
      델파이를 공부하고 있는데 이번에 프린트 포트에서 입력을 받아 시리얼 포트로 전송을 해줘야하는 ...
    • 전철호
      1999.04.29 23:08
      이호선 wrote: > 안녕하세요. > c에서 Character = Character ^ 0xff 를 하여 bitwise-exclusive-or를 ...
    • 양병희
    • 1999.04.29 20:48
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 안치봉
      1999.04.30 00:45
      양병희 wrote: > 컴파일시에는 error이 없었는데 > 실행을 시키면 'A Win32 API function failed'라는 오...
    • 김준선
    • 1999.07.11 00:39
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이주흥
      1999.07.11 01:11
      김준선 께서 말씀하시기를... > 임의의 문자열 '나는 델파이를 시작합이다.'에서 > 차례로 '나''는'' ''...