Q&A

  • class선언을 위한 unit만들기
안녕하세요. 델파이공부를 시작한지 벌써 한달이 다 되어가는듯한데 아직도 버벅거리고 있는 공병우라고 합니다. 좋은 가르침을 기대하며 질문올립니다.



class만을 선언/정의한 유닛을 만들었습니다.

처음엔 무작정 빈폼에서 폼과 관련된 것들을 소스에서 직접 삭제하고, 어떻게든 되겠지라는 생각으로 만든거죠. 그리고나서 작성한 class들을 활용하기 위한 실제 폼을 만들고 코딩을 마쳤지요. 근데, class를 선언한 쪽에서 자꾸 에러가 나는겁니다. 실행이 안되더라구요. 메세지를 보니까 TForm1 class( --> 무작정 삭제한 그 폼이 되겠죠 )에서 잘못된 것 같더라구요. 그래서 혹시나 싶어서 또 한번 무작정 project file의 소스를 이리저리 고쳤습니다. 결국 해결을 하긴 했는데 왜 그런건지는 알수가 없네요.



질문은요...

위의 경우처럼 "폼자체가 필요없다면 맨처음에 어떻게 시작하느냐...저처럼 프로젝트 파일자체를 수정하는게 맞는 방법이냐..." 라는 겁니다.



아직 델파이에 대한 개념이 없어 좀 엉뚱한 질문일수도 있을것 같은데요, 여러 고수님들의 쉽고도 명쾌한 설명을 기다려봅니다. 안녕히 계세요.

2  COMMENTS
  • Profile
    황광일 2000.12.12 17:31
    그러니깐...

    폼은 필요없다 이거져..

    클래스 공부만 일단 하고 싶다는 겁니다..그렇죠?

    음...

    일단은

    New -> Console Application 을 선택하시면....

    도스용 어플을 맹글기 위한 준비가 끝나는 겁니다..

    아래와 같은..코딩이 되어있을 겁니다..

    program Project1;

    {$APPTYPE CONSOLE}

    uses SysUtils;



    begin

    // Insert user code here

    end.



    조금만 잘 살펴보셨으면 좋았을 거 같군요.,,

    그리고,,

    폼없는 유닛만 만들어 포함하고 싶을 때도 역시..

    New -> Unit 를 선택하시면 됩니다...



    또한 직접 *.DPR 파일을 수정하는 거 역시 필요할 때가 있습니다...

    미리 폼을 생성하지 않고...

    동적으로 폼을 생성할 때는 DPR 파일에서..생성하는 폼들을

    리마크 처리하는 경우도 있습니다..

    특별히 이러한 때는 MDI 어플을 만들때 수정하게 됩니다..

    또 스플레쉬 화면...

    그러니깐 델파이 뜨기전에 나오는 로고창 같은 화면을

    보여줄때도 *.DPR 파일에서 처리합니다...







    bingyou wrote:

    > 안녕하세요. 델파이공부를 시작한지 벌써 한달이 다 되어가는듯한데 아직도 버벅거리고 있는 공병우라고 합니다. 좋은 가르침을 기대하며 질문올립니다.

    >

    > class만을 선언/정의한 유닛을 만들었습니다.

    > 처음엔 무작정 빈폼에서 폼과 관련된 것들을 소스에서 직접 삭제하고, 어떻게든 되겠지라는 생각으로 만든거죠. 그리고나서 작성한 class들을 활용하기 위한 실제 폼을 만들고 코딩을 마쳤지요. 근데, class를 선언한 쪽에서 자꾸 에러가 나는겁니다. 실행이 안되더라구요. 메세지를 보니까 TForm1 class( --> 무작정 삭제한 그 폼이 되겠죠 )에서 잘못된 것 같더라구요. 그래서 혹시나 싶어서 또 한번 무작정 project file의 소스를 이리저리 고쳤습니다. 결국 해결을 하긴 했는데 왜 그런건지는 알수가 없네요.

    >

    > 질문은요...

    > 위의 경우처럼 "폼자체가 필요없다면 맨처음에 어떻게 시작하느냐...저처럼 프로젝트 파일자체를 수정하는게 맞는 방법이냐..." 라는 겁니다.

    >

    > 아직 델파이에 대한 개념이 없어 좀 엉뚱한 질문일수도 있을것 같은데요, 여러 고수님들의 쉽고도 명쾌한 설명을 기다려봅니다. 안녕히 계세요.

  • Profile
    bingyou 2000.12.12 18:00
    친절한 가르쳐주셔서 감사합니다.

    앞으로도 꽤 많은 질문들을 하게 될것 같은데요, 시간나시는대로 도와주셨으면 좋겠습니다. 감사합니다 ~ ^^

    • 김용배
      2000.12.14 19:00
      김오성 wrote: > 모뎀을 이용한 데이타 송수신을 하고 싶습니다. > 제에게 도움을 꼭 주세요 제발 ... >...
    • 김용배
      2000.12.12 23:32
      김오성 wrote: > 모뎀을 이용한 데이타 송수신을 하고 싶습니다. > 제에게 도움을 꼭 주세요 제발 ... >...
    • 서희
    • 2000.12.12 19:50
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 방경주
      2000.12.12 22:15
      오라클이고 필드가 date타입이라면 쿼리문에서 바꿔 주심 어떨까여?^^ Select to_char('yyyymmddhhnn',p...
    • 권경미
      2000.12.12 20:25
      서희 wrote: > 안녕하세요. > > 중략 > > while not(query2.Eof) do > begin > ...
    • 권경미
      2000.12.15 20:55
      데이터를 입력하는 부분에 String형태로 바꿀때... 제대로 포맷을 안맞추신거 같네요... 움...구럼 ...
    • 서희
      2000.12.12 20:39
      권경미 wrote: > 서희 wrote: > > 안녕하세요. > > > > 중략 > > > > while not(query2.Eof) do ...
    • 정건호
    • 2000.12.12 19:15
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 권경미
      2000.12.12 20:27
      정건호 wrote: > 질문 그대로 입니다. > 보통 메뉴는 디자인 시간에 작성하는데, > 실행시간에 메뉴를 ...
    • 천명
    • 2000.12.12 19:12
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 초보
    • 2000.12.12 19:01
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 델초
    • 2000.12.12 16:41
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최은석
      2000.12.12 18:04
      여기에 이런글 올리시면 안되지요......... 델초 wrote: > delphi 5 를 싸게 사는 방법이나 파실분 ...
    • youngae
    • 2000.12.12 16:23
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 김용배
      2000.12.12 18:41
      youngae wrote: > listview에서 report형식으로 준 상황에서 옆으로 subItem을 증가시키고 > 밑으로는 ...
    • ...
      2000.12.12 18:29
      Reg.OpenKey('', True); 가 빠졌네요. > Reg.GetKeyNames(Str); 전에 넣어보세요. Help 로 자세...
    • bingyou
    • 2000.12.12 11:05
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 황광일
      2000.12.12 17:31
      그러니깐... 폼은 필요없다 이거져.. 클래스 공부만 일단 하고 싶다는 겁니다..그렇죠? 음... 일단은 ...
    • bingyou
      2000.12.12 18:00
      친절한 가르쳐주셔서 감사합니다. 앞으로도 꽤 많은 질문들을 하게 될것 같은데요, 시간나시는대로 도와주...
    • 미남
    • 2000.12.12 07:36
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 컴맹...
      2000.12.12 18:55
      windows 2000은 사용자마다 설정파일을 다르게 저장하구 있져.. 그래서 델파이의 컴포넌트가 Loading이 ...
    • 초보
    • 2000.12.12 06:09
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 김상호
      2000.12.12 06:49
      pause 버튼 이벤트에 다음과 같이 해보세요.. if pause.tag = 0 then begin timer1.enabled := fal...
    • 김하늘
      2000.12.12 10:08
      -- StrToInt 대신에 아래 함수를 만들어 써보지여 -- StrToInt에서 나는 에러는 발생하진 않을겁니다. __...
    • 급궁금
      2000.12.12 18:57
      김하늘 님 감사합니다. 아래대로 해보니 잘 해결되더군요 StringGrid가 StringGrid창보다 Row값이 커졌을...
    • 김상호
      2000.12.12 07:17
      StrToInt(StringGrid1(5,R)) 은 StrToInt(StringGrid1.cells[5,R]) 로 해야 할것 같고요.. 에서 에러가 ...
    • 급궁금
      2000.12.12 19:08
      김상호 님 요번에도 답변을 주셔서 감사하군요... 그런데 제가 질문에서 올린 소스는 질문내용 타이핑하면...
    • 김규억
    • 2000.12.12 04:43
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 김상호
      2000.12.12 06:54
      익스플로워에서 인터넷옵션에 보안설정에서 변경해야 할것 같은데요.. [보안] 옵션에서 [인터넷] 보안...
    • 최은석
      2000.12.12 06:30
      스트링그리드를 사용하세요..... OnMouseWheelDown OnMouseWheelUp 이벤트에 코딩을 해주세요 기본으...
    • 최재호
    • 2000.12.12 02:48
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 지나가다
      2000.12.19 01:23
      최재호 wrote: > 프로그램 실행시(여러개의 Wav File 을 순서대로 Media Player를 통해서 플레이시키는) ...
    • 바보
      2000.12.13 04:03
      안녕하세요!! 델맹 바보 입니다. 꾸벅!! 제 생각에는 AutoOpen 떼문이라고 생각이드네요!! 바보라서 잘...
    • 최용일
      2000.12.12 04:28
      안녕하세요. 최용일입니다. 헐헐~ 진짜 오랜만에 답변을 쓰네요.... 고거 제가 몇일전에 강좌란에다 ...
    • 영경이
    • 2000.12.12 02:32
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 컴맹...
      2000.12.12 19:01
      순서는여... Create -> show -> Active 순이구여... create는 말그대로 생성될때... show는 이해하시겠...
    • 김종언
      2000.12.12 02:55
      님이 생각하시는게 비슷하긴 하지만 약간은 차이가 있습니다. 생성 -> 보여주기 (create -> show) ...
    • 영경이
      2000.12.12 05:21
      글쿤여.. 제 생각이 좀 틀렸네요.. 고맙습니다. ~~^O^~~