Database에 관련된 서로다른 두 프로그램 A, B가 있습니다.
엄밀하게는 완전히 다른건 아니고요, A를 만들고 나서 그대로 복사해다가 로직 수정해서 B를 만들었습니다...
문제는 A가 실행된 상태에서는 B가 실행이 안된다는겁니다. 반대도 마찬가지고요.
실행 프로그램이 거의 2~3메가에 달하는데 이것들을 수행해야할 PC들의 사양이 그리 좋질 않은데다가 사용자들이 프로그램을 종료안하고 중복 실행시켜서 시스템 리소스 문제에다 DB 서버 계정문제까지 생기는 통에 아예 다음과 같은 로직으로 중복 실행을 막아버렸습니다.
procedure TfMain.FormCreate(Sender: TObject);
begin
if ExistPrevInst then
Close;
end;
여기서 문제가 생긴것 같은데 어째 A, B가 같은 놈이라고 인식이 될까요...
어떻게 다른 넘이라고 알켜줄수 있을까여....
그렇다면 DPR소스안에 무슨 값을 정해서 Instance를 만들것입니다.
그 무슨값을 서로 다른값으로 주면 될것입니다.
잘 안되면 DPR의 소스와 FromCreate이벤트를 모두 올려주세요.
참고로 나이렉스의 팁게시판에 가시면 '한번'이라는 검색어로 검색하시면 한번만 실행되는 어플리케이션 만들기라는 팁이 있습니다. 참고하세요.
하윤철 wrote:
> Database에 관련된 서로다른 두 프로그램 A, B가 있습니다.
> 엄밀하게는 완전히 다른건 아니고요, A를 만들고 나서 그대로 복사해다가 로직 수정해서 B를 만들었습니다...
> 문제는 A가 실행된 상태에서는 B가 실행이 안된다는겁니다. 반대도 마찬가지고요.
>
> 실행 프로그램이 거의 2~3메가에 달하는데 이것들을 수행해야할 PC들의 사양이 그리 좋질 않은데다가 사용자들이 프로그램을 종료안하고 중복 실행시켜서 시스템 리소스 문제에다 DB 서버 계정문제까지 생기는 통에 아예 다음과 같은 로직으로 중복 실행을 막아버렸습니다.
>
> procedure TfMain.FormCreate(Sender: TObject);
> begin
> if ExistPrevInst then
> Close;
> end;
>
> 여기서 문제가 생긴것 같은데 어째 A, B가 같은 놈이라고 인식이 될까요...
> 어떻게 다른 넘이라고 알켜줄수 있을까여....