lisanslamada aylık uyarı sorunu

1 2
10/12/2015, 21:54

kesoka

lisanslama örneği olarak kullandığım güzel bir uygulama var. gayet başarılı ama ufak bir sorun yaşıyorum.
örnek ektedir. açtığınızda 10 günlük demo sürüm kullanı seçerek lisans olayını geçebilirsiniz.
sorunum şu şekilde
program için kullanıcı adını kullanarak istediğim sürede lisans oluşturabiliyorum. mesela 1 yıllık lisans kodu oluşturdum ve bunu programa girerek 1 yıllık lisansı kaydettirdim. fakat her ay döndüğünde program lisansınız bitmiştir uyarısı verip serial formunu açıyor. tekrar lisans anahtarı girmeye gerek yok sadece onayla diyerek geçilebiliyor. ama işte sıkıntı her ay döndüğünde sanki programın lisansı bitmiş gibi uyarı verip serial formunu açması. yani her ay programı ilk açtığımızda bu uyarı ile karşılaşıyorsunuz. kodlamaları inceledim fakat bunu yaptıran kodu bulamadım. 
yapmaya çalıştığım kaç aylık lisans oluşturulup girilmişse o süre bittiğinde bitti diye uyarı verip serial formunu açması. yani her ay verdiği uyarıyı nasıl kapatabiliriz?
10/12/2015, 22:57

alpeki99

1H6WPWW-10AFA-1H6WQJ4 DevHome için bir numara verin kontrol edelim.
10/12/2015, 23:08

kesoka

(10/12/2015, 22:57)alpeki99 yazdı: 1H6WPWW-10AFA-1H6WQJ4 DevHome için bir numara verin kontrol edelim.

aktivasyon kodu oluşturucu ektedir.
18/12/2015, 14:56

ozanakkaya

sayın kesoka,

modSerial modülündeki VerifierLicence kodunda sıkıntı var gibi görünüyor.

VerifierLicence kodundaki ilgili kısmı aşağıdaki ile değiştirerek deneyiniz.

   
If Serial = "" Or kullanici = "" Then

       SerialOK = False
       VerifierLicence = True
       
       DoCmd.OpenForm "SERİALFORMU"
       DoCmd.Close acForm, "FKullaniciGiris1"
   Else

       SerialOK = True
       VerifierLicence = True
       RetrieveTimeLimit Serial, kullanici, Delivre, Expire, NombreJour
       DoCmd.OpenForm "kisiler"
       If Format(strDate, "mm.yyyy") > Format(Date, "mm.yyyy") Then

           If vAffMsg = True Then MsgBox "LİSANS BİTİŞ TARİHİNİZ " & Format(Expire, "dd mmmm yyyy") & " SİSTEM TARİHİ İLE OYNANDIĞI İÇİN LİSANSINIZ İPTAL EDİLMİŞTİR", vbInformation, "SİSTEM TARİHİ İLE OYNANMIŞ."
           SerialOK = False
           DoCmd.OpenForm "SERİALFORMU"
           DoCmd.Close acForm, "kisiler"
           Exit Function
       Else
           WriteRegistry "HKCU", "Software\MicroSoft", "SONGİRİS", "S", Date
       End If
       
       If Delivre > Now Then
           If vAffMsg = True Then MsgBox "SİSTEM TARİHİ İLE OYNANDIĞI İÇİN LİSANSINIZ İPTAL EDİLMİŞTİR." & Format(Delivre, "dd mmmm yyyy") & ".", vbOKOnly + vbCritical, "LİSANS İPTALİ"
           SerialOK = False

         DoCmd.OpenForm "SERİALFORMU"
           DoCmd.Close acForm, "kisiler"
       End If
       
       If Expire < Now Then
           If vAffMsg = True Then MsgBox "LİSANS BİTİŞ TARİHİ " & Format(Expire, "dd mmmm yyyy") & " LÜTFEN YENİ BİR LİSANS KODU EDİNİN.", vbInformation, "LİSANSINIZ BİTMİŞ"
           SerialOK = False
         DoCmd.OpenForm "SERİALFORMU"
           DoCmd.Close acForm, "kisiler"
       End If          
   End If


Ben aynı uygulamayı Polsotta kullanıyorum, herhangi bir sorun yok.
18/12/2015, 22:09

kesoka

sayın ozanakkaya verdiğiniz kodu programdaki ile değiştirdim. fakat kati sonucu ocak ayında programı ilk açtığımda alıcam. siz kendi uygulamanızda kullanıyorsanız ve benim belirttiğim her ay lisans sorma uyarısı ile karşılaşmıyorsanız zaten sorun çözülmüştür. aynı modül ile ilgili olduğu için bir sorum daha var yeni konu açmak yerine burda belirtmeyi uygun gördüm çünkü aynı kod ile ilgili

modserial modülünde bulunan verifierlicence kodunda bulunan 

Kod:
If Delivre > Now Then
            If vAffMsg = True Then MsgBox "LİSANS BİTMESİ " & Format(Delivre, "dd mm yyyy") & ".", vbOKOnly + vbCritical, "GÜNDÜR"
            SerialOK = False
            VerifierLicence = False
             DoCmd.Close acForm, "FKullaniciGiris1"
        End If
        
        If Expire < Now Then  'Renouvelement de la license
            If vAffMsg = True Then MsgBox "LİSANS BİTİŞ TARİHİ " & Format(Expire, "dd mm yyyy"), vbInformation, "LİSANSINIZ BİTMİŞ"
            SerialOK = False
            'VerifierLicence = False
            DoCmd.OpenForm "SERİALFORMU"
            DoCmd.Close acForm, "FKullaniciGiris1"
        End If
                
    End If
If Delivre > Now Then

            If vAffMsg = True Then MsgBox "LİSANS BİTMESİ " & Format(Delivre, "dd mm yyyy") & ".", vbOKOnly + vbCritical, "GÜNDÜR"

            SerialOK = False

            VerifierLicence = False

             DoCmd.Close acForm, "FKullaniciGiris1"
alanındaki kodda lisans bitmeye yakın uyarı verdirme olayı yokmudur? yada bu kodun içine nasıl bir kod eklemeliyizki lisansın bitmesine 7 gün kaladan itibaren her açılıştı lisansınızın bitmesine ... gün kalmıştır şeklinde bir msgbox uyarısı verdirilebiliriz.
19/12/2015, 12:30

ozanakkaya

Modülde VerifierLicence fonksiyonu var.


Bu fonksiyonda 

RetrieveTimeLimit Serial, Kullanici, Delivre, Expire, NombreJour 
kodunun hemen altına

KalanGun = Expire - Date


If KalanGun < 7 Then
MsgBox ("lisansın bitmesine " & KalanGun & " Gün Kaldı")
End If

kodu ekleyiniz.

Daha önce belirttiğim gibi, bu kodları bende kendi uygulamamda kullanıyorum. Ancak yapan arkadaş basit işlemleri fazla fazla kod ekleyerek iyice karıştırmış. Kodların normalize edilmesi gerekli 
1 2