Q&A

  • FormCreate 에 대해서...
안녕하세요.
간단한 자동 업데이트 프로그램을 만들었습니다.
(네크웍 드라이브에서 파일카피)

이 프로그램에서 FormCreate 에 파일을 복사하는 루틴을 넣으니까

복사가 다 끝난다음에 화면이 보여지더군요.

그래서 폼에 타이머를 하나 넣고 FormCreate 에서 타이머 enable

시켜놓고 타이머 이벤트에서 복사하는 루틴을 처리했습니다.

암튼 이런식으로 해결은 했는데...

혹 더 좋은 방법이 없을까 궁금해서 질문드립니다.

타이머를 쓰지않고 처리하는 방법이 없을까요??


4  COMMENTS
  • Profile
    너구리 2004.03.25 02:52
    그런데 프로그램 업데이트를 하면 파일을 카피하더라도 이미

    실행중인 프로그램하고 이름이 같을텐데..

    어떻게 하시는지요..

    제생각에는 업데이는 스레드를 만들어서 그레드가 생성 될때

    실행 파일명을 가지고 어플을 죽이신 다음 카피를 하고 다시 그 실행파일을

    실행 시키고 스레드는 파괴되고 이런식이 되야 하지 않을까요??

    메신져 업데이트 할때 보니깐 이런식으로 하는것 같던데요..

  • Profile
    KDDG_Cali 2004.03.25 00:18
    폼의 FormPaint 부분에서 처리하심이.....

    그럼..

    GG KDDG_




  • Profile
    이강승 2004.03.25 00:47
    답변감사합니다. 하지만 심각한 에러가 발생하더군요 ;;
    다음의 방법으로도 가능하네요. 조잡한 방법같은데... 더 좋은방법 없나요 ;;

    type
       TForm1 = class(Tfrom)
               :
               :
              생략
         Public
           FdoCopy : Boolean;            // 한번만 실행하기 위해서 체크
          
       end;    

        :
        :

    procedure Form1.FormCreate(Sender : TObject);
    begin
       FdoCopy := true;
    end;

    procedure Form1.FormActivate(Sender: TObject);
    begin
      if FdoCopy then begin
        File_Copy;  // 파일을 복사
        FdoCopy := false;
        Close;     // 복사후 종료
      end;
    end;

  • Profile
    김기원 2004.03.25 01:40
    FormCreate 이벤트에서 PostMessage 를 이용 해보세요...

    • 김현철
    • 2004.03.26 05:44
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 너구리
      2004.03.26 18:51
      데이타셋의 구성을 이용해서 뿌려주니깐 TField쪽을 보셔야 할거 같은데요.. 저도 저런 현상을 본적...
    • 김현철
      2004.03.26 22:35
      db의 값이 0입니다.... TField의 자료형도 real타입으로 해 봤는데도... 결과가 같습니다.. 임시로 lable...
    • 류동완
    • 2004.03.26 05:13
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 장덕곤
      2004.03.26 07:39
      에스큐엘 익스플로러에서  잡혀져 있는 알리어스를 더블클릭하신후 sql 란에서 select * from...
    • 너구리
    • 2004.03.26 03:14
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2004.03.26 10:11
      안녕하세요. 최용일입니다. 둘 다 메소드를 재정의 할 때 쓰입니다. override는 똑같은형태의 메소드...
    • 너구리
      2004.03.26 18:41
      그렇다면 reintroduce를 쓰면 overroad는 안써도 되나요?? 헬프에 보니깐 overroad와 reintroduce를 같...
    • 최용일
      2004.03.26 20:33
      안녕하세요. 최용일입니다. override와 overload는 다른 것입니다. overload는 같은 이름을 가지며 ...
    • KDDG_BaSTaD
      2004.03.26 23:45
    • 왕초보
    • 2004.03.26 02:22
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 한주영
      2004.03.26 18:37
      멀티유저환경이라면 위험한 방법입니다. Select max(num) from.. 으로 들어가는 방법역시 위험합니다. ...
    • 너구리
      2004.03.26 02:43
      num 이란것이 PK라면 recordCount보다는 select max(num) from table_name 이렇게 구해 오셔야 될겁...
    • 왕초보
      2004.03.26 21:28
      답변감사합니다. max값 구해서 한다면.. 아래처럼 하니까 type mismatch 에러가 생기는데요.. 에구.. 코...
    • 돌아버려
      2004.03.26 02:39
      컬럼 type을 autoincrement로 설정하시면... 레코드 추가 할때 자동증가 되는걸로 기억하는데요.^^; ...
    • Galaxy
    • 2004.03.26 00:17
    • 3 COMMENTS
    • /
    • 0 LIKES
    • KDDG_Cali
      2004.03.26 00:47
      .DB 는 원래 database 화일 .PX 는 Primary key 화일 .MB 는 BLOB 필드가 있는경우에 생성되는 화일로 알...
    • 강동균
      2004.03.26 01:21
      전에 저도 궁금하여 김영대님께 여쭈었더니 다음과 같이 보내주시더군요. 몰라도 되구요.  참...
    • Galaxy
      2004.03.26 02:05
    • 메디컴
    • 2004.03.25 23:29
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 김병윤
      2004.03.26 02:19
      아래 소스처럼 바꿔 보셨어요? procedure TForm1.SpeedButton2Click(Sender: TObject); var  &...
    • 너구리
      2004.03.25 22:04
      DB Class에서는 클래스만 구현해주고. 각각의 유닛에서 객체를 만들어서 사용해야 겠지요.. Form1 과...
    • 연기훈
      2004.03.25 22:19
      네.. 폼에서 클래서 정의 및 생성하고 사용합니다.. DB module에서 Query, DataSouce 컴포넌트를 공유...
    • 너구리
      2004.03.25 22:38
      DB Class파일하고 적용된 부분을 보여주세요.. 그리고 에러 메세지도....모여주시면 답을 드리는데 도움...
    • 왕초보
    • 2004.03.25 21:04
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 꿈의대화
      2004.03.25 23:46
      .
    • 왕초보
      2004.03.26 00:23
      답변 감사합니다. shellApi를 통해서 하면 될 것 같다고 하신 김문수라는 분이 계시네요. 근데 제가 워...
    • KDDG_Apine
      2004.03.26 05:59
      안녕하세요.. 제가 알고 있기로는 인디에 있는 mailClient로 smtp의 서버 주소 그리고 포트  ...
    • KDDG_BaSTaD
      2004.03.26 20:41
      ==> 안녕하세요 BaSTaD 입니다. 전송이 중간에 취소되거나 연결이 종료될때 Exception 이 발생하...
    • 채태숙
      2004.03.25 20:18
      select aaa[--필드명], count(*) from table1 group by aaa having count(aaa) > 1 이렇게 하시...
    • 박수영
      2004.03.25 19:46
      Key값이 아니라면 select하는 것이 가장 정확하지 않을까요???
    • 연기훈
      2004.03.25 19:09
      하나의 중복 값만 찾으면 되는건지...? group by 로 그룹 잡고 count 해주면 중복 데이타 수랑 다나오자...
    • Galaxy
      2004.03.26 00:10
    • 너구리
      2004.03.25 20:30
      저 한테 있기는 한데 델파이 6버젼이 있기는 한데.. 버젼이 맞을지..그리고 FreeWare라면 드릴께요.. ...
    • 박대원
    • 2004.03.25 02:02
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 권영길
      2004.03.25 02:15
      http://www.techvanguards.com/products/eventsinkimp/ 여기서 제공되는 툴을 써서 이벤트관련 TLB를 생성...
    • 박대원
      2004.03.25 03:34
      답변 감사합니다. EventSinkImp 라는 프로그램을 설치하고 TypeLibrary 에서 Import 해줬습니다. 그...
    • 권영길
      2004.03.25 04:45
      제가 자세한건 살펴볼수 없으나 EventSinkImp에서 생성해주는 유닛을 사용할 경우 대략의 스토리는 이렇습...
    • 1학년
    • 2004.03.25 01:04
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 박수영
      2004.03.25 01:26
      우선 출력할 부분이 열자리면 열자리만큼을 스패이스로 채운뒤에 숫자의 길이만큼 for i := lengt...
    • 김승재
    • 2004.03.25 00:47
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 최성준
      2004.03.25 01:16
      질문1 : 델파이 project - options에서 forms tab에서        &n...
    • 별볼일없는
      2004.03.25 01:10
      저두 초보지만 아주 초보적인 질문이네요.. ㅋㅋ 1번건은 메인 메뉴에 porject 에서 options 들어...
    • 김승재
      2004.03.25 18:26
      ㅎㅎ
    • 서기원
      2004.03.30 02:22
      벌써 답을 찾으셨을 것 같긴 한데... ActiveX의 Destory 메소드에서 처리하시면 될겁니다. 그럼..
    • 김기원
      2004.03.25 01:17
      QRCompositeReport 를 사용해보세요... QuickRep 를 한 폼에 두개 만드시고 각각 QuickRep에 Grid1의 내용...
    • 장덕곤
      2004.03.26 07:43
      이방법도 있을거같네요 프린터버튼을 클릭할때 따로 SQL을 작성해서 돌리는 겁니다 sql은 select * from...
    • 송종환
    • 2004.03.25 00:21
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 이강승
    • 2004.03.25 00:06
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 너구리
      2004.03.25 02:52
      그런데 프로그램 업데이트를 하면 파일을 카피하더라도 이미 실행중인 프로그램하고 이름이 같을텐데.. ...
    • KDDG_Cali
      2004.03.25 00:18
      폼의 FormPaint 부분에서 처리하심이..... 그럼.. GG KDDG_
    • 이강승
      2004.03.25 00:47
      답변감사합니다. 하지만 심각한 에러가 발생하더군요 ;; 다음의 방법으로도 가능하네요. 조잡한 방법같은...
    • 김기원
      2004.03.25 01:40
      FormCreate 이벤트에서 PostMessage 를 이용 해보세요...