Q&A

  • Winexec로 실행한 폼에서 이벤트주기....
자동 업그레이드 프로그램을 만들었습니다. ftp를 사용하지 않고
File을 읽어서 하는....

본 프로그램을 실행 합니다.
서버의 프로그램과 비교해서 다르면  다운로드 프로그램을 실행하면서
본 프로그램을 종료합니다.

본 프로그램 메인폼 Create  이벤트에 서 시작합니다.
Begin
   ....
   ....

   //다운로드 프로그램 실행
   Winexec('C:Program FilesAESystem\AE ClientDownLoad.exe',SW_SHOWNORMAL);
   //본 프로그램 종료
   FmMain.Close;

  ....
  ....
end;
요렇게 하니 다운로드 프로그램의 폼이 보이고 한참 후에(약 4-5초)
본 프로그램이 종료 됩니다.

질문1. 다운로드 프로그램이 보이면서 바로(1초이내) 본 프로그램을
          종료 하려면 어찌 해야 합니까?
질문2. 다운로드 프로그램 폼에 버튼이 있는데 현재는 유저가 직접 Click
         해야 됩니다.
         이 버튼을 폼에서 버튼까지 생성(Show)된 후 클릭 하려면 폼의 어떤
         이벤트를 사용 해야 합니까?
읽어주셔서 감사합니다.
1  COMMENTS
  • Profile
    홍성락 2002.07.05 03:25
    hsr/////////////////////////////////////////////////////////////////
    아래는 게시판에 많이 나오는 외부플 사용하기를 쓴겁니다.

    먼저 타이머를 하나 놓고요 초기 Timer1의 Enabled속성을 False
    Interval에 1000값으로 셋팅한후
    procedure TForm1.Timer1Timer(Sender: TObject);
    begin
         //본 프로그램 종료
         FmMain.Close;
    end;

    아래는 생성할 폼핸들과 버튼핸들을 찾아 실행시키기 입니다.
    var
      TargetForm : HWND;
      ButtonHwnd : HWND;
    begin
    //다운로드 프로그램 실행
       Winexec('C:......DownLoad.exe',SW_SHOWNORMAL);
       TargetForm := FindWindow(nil, '그폼의 갭션에 있는 글...');
       if TargetForm = 0 then  Exit;
      
       ButtonHwnd := FindWindowEx(TargetForm, 0, 'TButton', '버튼 캡션의 글...');
       if ButtonHwnd <> 0 then begin   //또는 SendMessage로도 해보세요
          PostMessage(ButtonHwnd, WM_LBUTTONDOWN, 0, 0);
          PostMessage(ButtonHwnd, WM_LBUTTONUP, 0, 0);
       end;

       Timer1.Enabled := True;
    • 황민구
    • 2002.07.05 09:40
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 오소영
    • 2002.07.05 04:44
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 2002.07.05 08:59
      Form1 := TForm.Create(Self); Form1.ShowModal; -_-; 즐코하세요...^^
    • 성더기
      2002.07.05 18:35
      ShowModal은 모달폼아닌가요? Show가 모달리스폼인데..
    • 2002.07.06 12:55
      헐헐.. 그렇군요.. 다시...   Form1.Show; ㅋㅋ 즐코하세요...^^
    • 윤신호
      2002.07.05 06:03
      자세한 옵션 도움말을 보세요. '#','0'을 이용하여 정수형,또는 실수형등을 표현할 수 있습니다.
    • 최용일
      2002.07.05 19:01
      안녕하세요. 최용일입니다. THandle은 객체가 아니라 그냥 부호없는정수(DWORD)입니다. 이건 CreateF...
    • 정민섭
    • 2002.07.05 03:43
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 이원상
    • 2002.07.05 02:45
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 이원상
      2002.07.05 18:55
      그데 form as view는 어떻게 하나요?
    • 최용일
      2002.07.05 18:57
      폼에서 마우스 오른쪽 클릭해보세요... View as Text메뉴 있을겁니다.
    • 하얀까마귀
      2002.07.05 02:56
      안녕하세요 하얀까마귀 입니다. 무슨말씀이신지 제대로 이해했나 모르겠네요.. ctrl 키를 누르시고. ...
    • 최용일
      2002.07.05 02:55
      안녕하세요. 최용일입니다. 흠~ 1번은 자동으로 해주는 건 없네요 다만 폼을 View as Text로 해서 이벤...
    • 아폴론
    • 2002.07.05 02:37
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 홍성락
      2002.07.05 03:25
      hsr///////////////////////////////////////////////////////////////// 아래는 게시판에 많이 나오는 외...
    • 하종옥
      2002.07.05 03:47
      한번 더 봐주시겠습니까? 될 줄 알았는데 또 안되네여.. 다음처럼 햇습니다. procedure TForm1.Button...
    • 머슴
      2002.07.05 05:01
      sList를 지역변수 으로 사용해서 그런것 같은데요.. private문 아래나 public문밑에 sList &nb...
    • 하종옥
      2002.07.05 02:52
    • 머슴
      2002.07.05 02:39
      스트링리스트를 한번 이용해보시는것이.. 스트링리스트내에서 소트도 되는것 같고...(sList.Sort) ...
    • KDDG_ZZOM
      2002.07.05 02:35
      루프쓰시면서 루프안에서 쿼리.next를 쓰세요... 물론 루프바로위에서 first로 처음으로 이동시킨후... ...
    • 하종옥
      2002.07.05 20:43
      이렇게 받아온 놈들을 다시 showmessage로 한 번 뿌릴라고 합니다. 그러면 stringList는 []이니까 다시 lo...
    • 엄승태
    • 2002.07.05 01:53
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 엄승태
      2002.07.05 01:46
      calcfield는 입력할 수 있는값이 아닙니다. 어짜피 님이 구현하신 calcfield도 입력된 field 값을 조합해...
    • 하얀까마귀
      2002.07.05 01:33
      안녕하세요 하얀까마귀 입니다. 말씀하신 내용은 안됩니다. 디비그리드 또는 UpdateSQL 등에서 할수...
    • 하얀까마귀
      2002.07.05 01:27
      안녕하세요 하얀까마귀 입니다. 다이렉트 엑스를 쓰실려면.. 콤포넌트가 있어요.. 그런걸 사용하셔도...
    • 이정기
      2002.07.05 01:44
      DelphiX를 찾아보니 버전 5까지 밖엔 안나왔나여???? 6.0용 delphix는 구할수 없나여? 하루종일 돌...
    • 박창범
      2002.07.06 01:37
      DelphiX 로 검색해보시면 나올겁니다..6.0용입니다. 그리고 DirectX 8.0 헤더역시 자료실에 있더군요,. ...
    • 2002.07.05 09:06
      판넬 위에 버튼을 원하는 만큼 올립니다. Shift Key를 누른 상태에서 판넬과 그 위의의 하나로 묶고자 하...
    • 정영희
      2002.07.05 20:28
      답변 감사합니다.. 근데 제가 질문을 좀 더 자세히 했어야 했는데... 컴포넌트를 그렇게 만든 후에.. ocx...
    • 하얀까마귀
      2002.07.05 01:25
      안녕하세요 하얀까마귀 입니다. 판넬에데가 에디트 기능을 넣는건 힘드시겠죠? 그럼. 그냥 에디트들 ...
    • 정영희
      2002.07.05 01:39
      답변 감사합니다. 근데.. 툴바에서 마우스 오른쪽 버튼 클릭하면.. New Button 이라고 나오잖아요.. 그런...
    • totolo
    • 2002.07.05 00:41
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 장태원
      2002.07.05 00:50
      dll 을 사용하세요.. 또는 로칼db를 많이 가지는 프로그램을 만드세용. 이미지나 사운드, 동영상을 가지...
    • 정하연
    • 2002.07.05 00:08
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 이선경
      2002.07.08 03:12
      꽁수를 쓰십시요 도트 프린터 걸려 있는 쪽의 pc에 서버용 프로그램을 돌려서 서버에서 출력하면 간단히...
    • 머슴
      2002.07.05 02:20
      저도 님과 같은 경우를 겪었습니다... AssignFile로 프린트하는 방법은 직접프린터 방식밖에 지원을 ...
    • 왕정민
    • 2002.07.04 23:56
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 머슴
      2002.07.05 02:24
        Delphi 자료실에 가시면 검색어 인스톨쉴드로 검색하거나   옆에 카테고리에서 ...
    • 장태원
      2002.07.05 00:49
      윈도우2000에서 개발된 프로그램은 98에서 깨질수 있습니다. 예를 들어..폰트차이도 있죠. 찐하게 ...
    • 성더기
      2002.07.05 19:08
      여러가지 방법이 있지 않나요?..^^ 일단 폼의 BorderStyle을 싱글루하구 보더 아이콘에서 멕시마이즈 버튼...
    • 박영수
      2002.07.04 23:54
      폼의 Properties의 BorderStyle을 bsSingle로 하고요. BorderIcons에서 biMaximize를 False로 하면 되네요...
    • 오프라인
      2002.07.04 22:25
      폼 크기를 고정시키시려면 OnResize 이벤트에 폼의 크기(Height, Width)를 코딩해주시면 됨다.. 그...
    • 수서니
    • 2002.07.04 21:25
    • 5 COMMENTS
    • /
    • 0 LIKES
    • 사발우성
      2002.07.04 21:40
      하이루 촙 사발임돠... 입력문에 open이 들어 왔네엽....open은 조회시 사용함돠...^^;; 대충 고쳐봤는디...
    • 단현석
      2002.07.04 21:38
      왜 쿼리를 오픈하시는지 모르겠네요. 쿼리를 오픈하면 쿼리의 sql 문을 실행하고 결과 데이터를 가져오...
    • 수서니
      2002.07.04 22:14
      쿼리문을 계속 바꾸면 최종적으로 쿼리에 남는건 마지막에 수행한게 되는건가요? 처음에 조회된건 insert...
    • 단현석
      2002.07.05 00:03
      왜 쿼리문을 동적으로 넣는지 모르겠습니다. 유지 보수를 하기 쉽게 하기 위해 서라도 쿼리에 SQL 문을 ...
    • 성더기
      2002.07.05 19:12
      디자인시에 쿼리문을 집어 넣어 둔다구 하셨는데.. 테이블이 몇십개씩 되구 조회 따위의 화면두 엄청 많...