Q&A

  • 폼을 호출하는 폼에 따라 변수세팅하기
A, B, C 라는 폼이 있습니다...........
A 라는 폼은 검색을 위한 검색 창인데요..........
B 도 A 를 사용하고  C 도  A를 사용하게 하고 싶습니다.....
문제는 A 에 있는 내부 변수인데....    이 변수가 호출하는 폼이 누구냐에 따라 값이 달라지게 만들고 싶습니다.......
지금은 일단 B나 C가  A를 호출할때마다 공용변수를 세팅하게 만들어서 돌아가기는 한데.......
이렇게 만들면 공용변수가 있는 폼을 항상 메모리에 띄워 놓아야 합니다.....


if made_by_gy.buzzer = True then       //폼 B 의 내부 변수가 세팅되어 있을 경우( B 가 호출하였을 경우)
    
          sel_team :=  made_by_gy.cd_team.items.Strings;   //폼 B 의 내부 변수중 하나를 sel_team(폼 A의 변수) 에 할당

else
          sel_team := locationform.cd_team.items.Strings;     //폼 C 의 내부 변수중 하나를 sel_team(폼 A의 변수) 에 할당
end;


프로그램 해설....  위 코드는 폼 A 의 formcreate 이벤트 함수입니다....
sel_team 은 폼 A의 변수이고 이 폼을 생성시키는 놈이 누구냐에 따라 값을 다르게 만들려고 합니다.......
made_by_gy : 폼 B
locationform  : 폼 C

좀 더 고급스럽게.....  
if 폼 호출자가 폼 B 이면
       어쩌구 저쩌구
else if 폼 호출자가 가 폼 C 이면
       어쩌구 저쩌구

이렇게 바꾸려면 어떻게 해야 할까요....?
2  COMMENTS
  • Profile
    최용일 2002.05.25 21:24
    안녕하세요. 최용일입니다.

    Owner나 Tag속성을 이용하시면 될거같네요...

    A라는 폼을 동적으로 생성해서 호출한다면 Owner속성을 이용하시는 것이 좋구요. 아니면 Tag속성을 이용하세요...

    //  uses Owner
    A := TAForm.Create(B);
    ...

    if Owner is TBForm then
        ......
    else if Owner is TCForm then
        ......

    // uses Tag
    A := TAForm.Create(...);
    A.Tag := Integer(B);
    ......

    if TObject(A.Tag) is TBForm then
        ......
    else if TObject(A.Tag) is TCForm then
        ......

    ^^ 항상 즐코하세요...

  • Profile
    조근영 2002.05.27 19:18
    에겅.......  정말 고마워여........

    이젠 돌아갑니다요............

    며칠을 머리 벅벅 뜯던 스트레스가 사라졌슴당...^^





    • 정범
    • 2002.05.25 21:00
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 델파이탐크루즈
      2002.05.26 01:16
      Table  콤퍼넌트 쪽에 option에 보시면 Insert, Edit 쪽에 False로 되어있는지 확인하시고... ...
    • 정범
      2002.05.26 18:09
      답변 감사 합니다 그런데 Table 이나 그리드 안씁니다 데이터 소스와 쿼리를 사용합니다 그리고 데...
    • 머슴
      2002.05.27 08:56
        쿼리 컴퍼넌트는 기본적으로 readonly입니다.   따라서 쿼리의 컴퍼넌트에 가...
    • 정범
      2002.05.28 06:57
      감사합니당.. 너무나........... 해결했어여 음... 무지 고생고생 찾다가 보니 update_Query 의 Pro...
    • 델파이탐크루즈
      2002.05.26 00:11
      Function FA_NMFTP(NMFTP :TNMFTP):boolean; begin   NMFTP.Host    := ;...
    • 윤도상
    • 2002.05.25 20:43
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 김도형
      2002.05.25 21:07
      퍼온겁니다.. 예전의 질답 게시판에서염~~~ 함 해보세염~ 1. 메모 초기화   Memo1....
    • 조근영
    • 2002.05.25 20:22
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2002.05.25 21:24
      안녕하세요. 최용일입니다. Owner나 Tag속성을 이용하시면 될거같네요... A라는 폼을 동적으로 생성...
    • 조근영
      2002.05.27 19:18
      에겅.......  정말 고마워여........ 이젠 돌아갑니다요............ 며칠을 머리 벅벅 뜯...
    • 전원보
    • 2002.05.25 20:08
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 김도형
      2002.05.25 21:10
      var   clbl : TComponent;   nI : integer; begin   For nI := 0 to 10...
    • 전원보
      2002.05.26 17:39
      .
    • 나그네
    • 2002.05.25 20:08
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2002.05.25 21:32
      안녕하세요. 최용일입니다. 1번, 2번은 폼대신에 TDataModule을 사용하시면 될거 같은데요... 보이지...
    • 김도형
    • 2002.05.25 19:23
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 정용광
    • 2002.05.25 19:02
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 김형수
      2002.05.25 19:25
      저두 여기서 자료를 얻어서 연습하고 있는데요. 도움이 됐으면 하네요. .. uses   Windo...
    • 김지엽
      2002.05.25 19:18
      excel 자체를 SQL문으로 처리하는 것은 불가능하다고 생각됩니다. 현재 SQL문이 지원되는 것은 자체 DB...
    • 정용광
      2002.05.25 19:26
      감사합니다.. 우선 프로그램하는 이쪽의 환경으로 하는 것이 아니라.. 저희 프로그램을 사용하는 사용...
    • 한석훈
    • 2002.05.25 19:01
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 김지엽
      2002.05.25 19:06
      델파이 입장에서는 그 DB가 PASSWORD가 있는지 없는지 모르니까 그럽니다. TDATABASE 객체에 ID = "...
    • 한석훈
      2002.05.25 20:51
      님 말씀대로 이렇게 코딩을 했는데요. 그래도 계속 물어보내요. DatabaseLogin이벤트에서 처리를 하...
    • 박상윤
      2002.05.26 01:09
      Direct Input을 사용해보세여.. 마우스 및 사이드와인더 (Force feedbak 포함) 여러장치를 제어 할수 있...
    • 김지엽
      2002.05.25 19:10
      님이 짜신 소스를 보지 않은 상태에서 뭐가 뭐라고 이야기 하기는 힘들지만, 간단한 알람 프로그램 하나가 ...
    • GanJang
      2002.05.25 20:28
      답변 감사합니다. ^^ 근데, 기폰 폼 있잖아요? 델파이 시작하고 어플리케이션 시작하면 나타나는 폼. ...
    • 유영호
    • 2002.05.25 03:21
    • 6 COMMENTS
    • /
    • 0 LIKES
    • withcount
      2002.05.25 06:51
      select한 데이타만큼 update하는것이기 때문에 update용 query를 하나 더 사용하시기 바랍니다.. 그리고 ...
    • 안광호
      2002.05.25 03:59
      DataSet 이 Close 되어서 발생하는 에러입니다. 아래부분 *** 에서 Close 를 하고 있습니다.  ...
    • 유영호
      2002.05.25 04:07
      님 그럼 어떤 방법이 있을까여... 죄송하지만 한번 더 부탁드립니다.. 초보에게 희망과 용기를..... ...
    • 유영호
      2002.05.25 20:11
      .....
    • 김경록
      2002.05.25 19:01
      Var     lqry_Update: TQuery; Begin       query1...
    • 황선웅
      2002.05.25 19:00
      다른분이 먼저 답변을 주신것처럼 하나의 쿼리 컴포넌트로 Data를 fetch하고 for문을 실행중 Update를 하...
    • 박성환
    • 2002.05.25 02:28
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 이호성
    • 2002.05.25 02:20
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2002.05.25 04:03
      안녕하세요. 최용일입니다. fData가 TDataRtn형인가요? 그럼 Data필드가 포인터형이니까, 포인터를 넘겨...
    • 최성원
    • 2002.05.25 01:59
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 안광호
      2002.05.25 04:02
      C++ 에서 LPCSTR 로 사용하셨다는 것은 포인트를 말하는 것 같습니다. 델파이에서 이경우  선언...
    • 최용일
      2002.05.25 04:00
      안녕하세요. 최용일입니다. Calling Conversion확인해보세요. stdcall인가 cdecl인가... 그리고 파라...
    • 백록화
      2002.05.25 03:07
      yo` 안녕하세요 백록화 입니다. :) 손쉬운방법으로 load_file() 이라는 MySQL함수를 사용하는것입...
    • 최용일
      2002.05.25 03:52
      안녕하세요. 최용일입니다. 자료실에 보시면 메인메뉴 맘대로 꾸미기란 예제가 있을겁니다. 그거 참고하...
    • 유현성
    • 2002.05.25 01:16
    • 0 COMMENTS
    • /
    • 0 LIKES