2013-09-24 2 views
0

내 응용 프로그램을 exe 파일로 만듭니다. 내 프로젝트에서 사용자가 응용 프로그램을 여러 번 열 때 응용 프로그램이 열리는 횟수를 세팅하는 변수를 사용하고 있습니다. 5 번 내가 사용자가 응용 프로그램을 다시 열 수 없도록 제한하려고합니다. 그것을 위해 내가 .. EXE 파일을 생성하고 응용 프로그램이 폼이 닫힌 5 회 ..을 열어 내 exe..after을 통해 잘 작동exe를 만든 후에 My.Setting 변수가 재설정되지 않음

 Private Sub T01SaleBill_Shown(ByVal sender As Object, _ 
      ByVal e As System.EventArgs) Handles Me.Shown 
       if my.settings.openedtimes >5 then 
       me.close() 
       else 
       my.settings.openedtimes += 1; 
       my.settings.save() 
       end if; 

    End Sub 

표시 형태로 다음과 같은 코드를 사용하고 지금은 내를 재설정합니다. settings.openedtimes를 0으로 설정하고 새 exe를 다시 만듭니다. 지금 나는 이전 exe를 제거하고 새로운 exe를 달린다. 이번에는 내 양식이 닫혔습니다. 내 생각에 설정 변수 my.settings.openedtimes 이전 값으로 5보다 큰 값을 보유하고 생각합니다. 이 설정 변수의 문제가 무엇인지 이해할 수 없습니다. 여기에있는 문제가 누구에게도 도움이 될 수 있습니까?

+0

relevent 사용자 프로필 디렉토리에서 설정 파일을 제거 했습니까? –

+0

@RowlandShaw 설정 파일이란? exe가 설치된 경로에서 응용 프로그램 폴더를 제거했습니다. 설정 파일이 아니라 별도로. – Haji

+0

Rowland는 사용자가 제거 프로세스의 일부로 제거하기 위해 무언가를 만들지 않는 한 사용자 설정을 그대로 유지합니다. – jcwrequests

답변

0

newvers라는 부울 설정을 추가하고 설정 디자이너에서 true로 설정하십시오. 그런 다음 시도하십시오

Private Sub Form1_Shown(sender As Object, _ 
         e As EventArgs) Handles Me.Shown 
    If My.Settings.newvers Then 
     My.Settings.Upgrade() 'get previous values 
     'change values that should not be carried over 
     My.Settings.openedtimes = 1 
     My.Settings.newvers = False 'turn new version off 
    Else 
     My.Settings.openedtimes += 1 
    End If 
    If My.Settings.openedtimes > 5 Then Me.Close() 
    My.Settings.Save() 
End Sub 
+0

당신의 대답은 my.settings.openedtimes 항상 1..may 언제 늘릴 지 알 수 있습니다. 당신은 newver를 true로 설정하고 어떤 상황도 바꾸지 마십시오. 다른 부분은 수행하지 않습니다 – Haji

+0

새 버전 (newvers). 죄송합니다. – dbasnett

관련 문제