Q&A

  • 실행돼는거 다시 한번더 물어볼께요 ^^;;
제가 아직 델파이를 배운지 얼마안돼서 그런지
많은 고수님들이 갈켜준것을 아직 잘 활용을 못하고 있내요 ^^;;

program Project1;

uses
  Forms,Windows,
  Unit1 in 'Unit1.pas' {MainForm},
  Unit2 in 'Unit2.pas' ;

{$R *.res}

begin
  Application.Initialize;
  Application.ShowMainForm := False;
  Application.Title := 'HY 쪽지';
  Application.CreateForm(TMainForm, MainForm);
  ShowWindow(Application.Handle,SW_HIDE);
  Application.Run;
  initialization
  begin
  CreateFileMapping($FFFFFFFF, nil, PAGE_READWRITE, 0, 1, 'memo.exe ');
  if GetLastError = ERROR_ALREADY_EXISTS then
  begin
    halt;
  end;
  end;
end.

이렇게 했는대 뭐가 잘못된건지 좀 갈켜주시면 정말 감사드리겠습니다.^^
아 그리고 오늘 화이트데인대요.한델분들 사탕많이 들이고 많이 받으셨나요^^
그러면 언제나 즐코하세요^^
1  COMMENTS
  • Profile
    김경록 2002.03.15 04:24
    이부분 있져?
    이게 프로그램 실행시키는 곳이랍니다..
    실제로 이것에 의해 실행됩니다.
    프로그램이 실행되기 전에
    어떤 Action(예를 들면, 스플래쉬 화면같은것)을 취할려면
    따라서, 프로그램 수행전에 어떤 것을 Check하실려면,

    기본틀은


    예)  물론, 이것은 프로젝트소스(확장자 dpr) 소스안에 작성되어야 합니다..

    Var
         Handle: THandle;
    Begin
         Handle := FindWindow(nil, 'Form캡션명');
         If Handle > 0 Then //중복된 윈도우가 있다면
         begin                  
               exit;
         end;

         Application.Initialize;
         Application.CreateForm(해당 메인폼)
         Application.Run;
    end;

    뭐.. 이렇게 해도 되긴되여..
    왜냐면여, 델파이에서 사용하는 Form클래스는 똑같아서.
    구분이 안되여..
    따라서, 폼의 Title에 나타나는 내용을 가지고 구분을 해야합니다.
    의미가 잘 전달되었는진 잘 모르겠지만,
    어쨌든.. 이렇게 사용해도 잘 됩니다..
    단, "Form캡션명" 부분이 다른폼과 구분이된다면,
    더욱 좋겠져..
    예를들면, "pas파일명 - 해당폼 용도" 이런식으로요..
    더 자세히 하면,  "UAC001 - 거래처코드 등록화면"   이렇게여..
    그러면, 유일하겠져?

              최강의 프로그래머를 위하여~~~