Component Lisanslama? Activex Referans Classları?

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
ParaNTeZ
Üye
Mesajlar: 3
Kayıt: 10 Oca 2011 01:51

Component Lisanslama? Activex Referans Classları?

Mesaj gönderen ParaNTeZ » 10 Oca 2011 02:08

Merhaba arkadaşlar, yazılım lisanslama üzerine makaleler, kaynak kodlar vs. mevcut. Fakat delphide bir component oluşturup belli bir ücretle dağıtmak istediğimizde , componentlere nasıl lisans koruması ekleyebiliriz? Bu konuda dökümanlar var mı? Herhangi bir standartı var mı merak ediyorum.

Ayrıca activex componentlerin visual basic, delphi, C++ da kullanılabildiğini biliyorum. Fakat delphide activex library kodlamak istediğimde hangi referans classlardan yararlanabilirim ondan emin değilim. Örneğin Delphiyle gelen classları (Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs) activex controlde kullanıp daha sonra da activexi bir visual basic projesinde çalıştırabilir miyim?

İyi Çalışmalar..

ParaNTeZ
Üye
Mesajlar: 3
Kayıt: 10 Oca 2011 01:51

Re: Component Lisanslama? Activex Referans Classları?

Mesaj gönderen ParaNTeZ » 13 Oca 2011 09:21

bu konuda bir çalışması olan yok mu arkadaşlar?

cozturk
Üye
Mesajlar: 473
Kayıt: 15 Haz 2005 04:22

Re: Component Lisanslama? Activex Referans Classları?

Mesaj gönderen cozturk » 13 Oca 2011 07:05

Lisans işlemini activex için sorduğunuzdan emin değilim ama nesneyi oluştururken "lisanslı olsun mu?" diye bir soru çıkıyor. Bunu seçtiğimizde DLL, OCX yanında *.lic dosyası gibi bir dosya oluşuyor.

Bu activex nesne ile proje geliştirmek isteyen kişi eğer *.lic dosyasını DLLin yanında bulundurmuyorsa uyarı çıkıyordu. Meslea import activex dedik menüye ekledik sonradan nesneyi formun üzerine alır almaz bu uyarı çıkar.

Özetle otomatik oluşan bir lic dosya oluyor. bunu sadece proje geliştiren kişiler kendi bilgisayarında DLL yanında bulundurmalı. Son kullanıcıya bu .lic dosya verilmemeli.

Başka bir yöntem de activex nesnemizin bir propertysi oluyor. bunu proje geliştirme esnasında veya program çalışırken set ediyoruz. Sabit bir key olursa EXE çalışırken Ram içeriğine baktığımızda bu key "kabak gibi" görünebiliyor. Bana pek güvenli yöntem gibi gelmedi. Ancak şunu yapailirsiniz. lisanslı kullanıcıya bir yöntem açıklanacak denecek ki:

Nesnenin .. fonksiyonu var. bundan dönen tessadüfi değeri qwerty işleminden geçirerek asdf propertysine ata.

Bunu yaparsak lisans mekanizması dinamik olacaktır. ve çalışma anında oluşturulacaktır. Eğer yeteri kadar ballı bir proje ise her lisanslı kullanıcya ayrı bir mekanizma da üretilebilir.

Lisans mekanizması yukarıdaki şekillerde değil ama delphide oluşturduğumuz nesneyi, vbasic, c# gibi bir çok ortamda kullanıyorlar. Sizin geliştireceğiniz nesne de kullanılabilir.


Delphi and Active Forms

ParaNTeZ
Üye
Mesajlar: 3
Kayıt: 10 Oca 2011 01:51

Re: Component Lisanslama? Activex Referans Classları?

Mesaj gönderen ParaNTeZ » 13 Oca 2011 09:10

amacım hem multi-platform da çalışan hem de lisans korumasına sahip component üretmek, araştırdığım kadarıyla bu da activex library lerle oluyor. http://www.chilkat.com da tam olarak yapmak istediğim komponentleri oluşturmuşlar. Ayrıca hem windowsta hem de linuxta componentlerin çalışabildiğini gördüm. Ve incelediğim kadarıyla statik key kullanıyor. Tek bir component paketi asp, vb, delphi, vbscript te kullanılıyor. Genel Kullanım Şekli Şöyle;
Delphi :

Kod: Tümünü seç

uses
    Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
    Dialogs, StdCtrls,
    ChilkatZip2Lib_TLB,
    OleCtrls;

...

procedure TForm1.Button1Click(Sender: TObject);
var
zip: TChilkatZip2;
success: Integer;
unzipCount: Integer;

begin
zip := TChilkatZip2.Create(Self);

//  Any string unlocks the component for the 1st 30-days.
success := zip.UnlockComponent('Anything for 30-day trial');
if (success <> 1) then
  begin
    ShowMessage(zip.LastErrorText);

  end;

success := zip.OpenZip('my_photos.zip');
if (success <> 1) then
  begin
    ShowMessage(zip.LastErrorText);

  end;

//  Returns the number of files and directories unzipped.
//  Unzips to c:/my_photos, re-creating the directory tree
//  from the .zip.
unzipCount := zip.Unzip('c:/my_photos');
if (unzipCount < 0) then
  begin
    ShowMessage(zip.LastErrorText);
  end
else
  begin
    ShowMessage('Success!');
  end;
end;
Visual Basic:

Kod: Tümünü seç

Dim zip As New ChilkatZip2

Dim success As Long

'  Any string unlocks the component for the 1st 30-days.
success = zip.UnlockComponent("Anything for 30-day trial")
If (success <> 1) Then
    MsgBox zip.LastErrorText
    Exit Sub
End If

success = zip.OpenZip("my_photos.zip")
If (success <> 1) Then
    MsgBox zip.LastErrorText
    Exit Sub
End If

Dim unzipCount As Long

'  Returns the number of files and directories unzipped.
'  Unzips to c:/my_photos, re-creating the directory tree
'  from the .zip.
unzipCount = zip.Unzip("c:/my_photos")
If (unzipCount < 0) Then
    MsgBox zip.LastErrorText
Else
    MsgBox "Success!"
End If
Asp:

Kod: Tümünü seç

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<%
set zip = Server.CreateObject("Chilkat.Zip2")

'  Any string unlocks the component for the 1st 30-days.
success = zip.UnlockComponent("Anything for 30-day trial")
If (success <> 1) Then
    Response.Write zip.LastErrorText & "<br>"

End If

success = zip.OpenZip("my_photos.zip")
If (success <> 1) Then
    Response.Write zip.LastErrorText & "<br>"

End If

'  Returns the number of files and directories unzipped.
'  Unzips to c:/my_photos, re-creating the directory tree
'  from the .zip.
unzipCount = zip.Unzip("c:/my_photos")
If (unzipCount < 0) Then
    Response.Write zip.LastErrorText & "<br>"
Else
    Response.Write "Success!" & "<br>"
End If

%>
</body>
</html>
VbScript:

Kod: Tümünü seç

set zip = CreateObject("Chilkat.Zip2")

'  Any string unlocks the component for the 1st 30-days.
success = zip.UnlockComponent("Anything for 30-day trial")
If (success <> 1) Then
    MsgBox zip.LastErrorText
    WScript.Quit
End If

success = zip.OpenZip("my_photos.zip")
If (success <> 1) Then
    MsgBox zip.LastErrorText
    WScript.Quit
End If

'  Returns the number of files and directories unzipped.
'  Unzips to c:/my_photos, re-creating the directory tree
'  from the .zip.
unzipCount = zip.Unzip("c:/my_photos")
If (unzipCount < 0) Then
    MsgBox zip.LastErrorText
Else
    MsgBox "Success!"
End If

serkan
Üye
Mesajlar: 666
Kayıt: 09 Tem 2003 11:08
Konum: bursa

Re: Component Lisanslama? Activex Referans Classları?

Mesaj gönderen serkan » 04 Ağu 2013 08:06

Bu lisanslama konusunda hazır componentler var ismini buradan yazmadım..Ücretli ücretsiz seçenekler var ve çok gelişmişler.

Sağlam birşey olsun diyorsan artık internet çok gelişti, web üzerinden kurulum sırasında bir aktivasyon gerçekleştirebilirsiniz.. Program açıldığında senin sitene bağlanıp lisans kontrolü yapabilir.. Belki virüs veya güvenlik duvarı bu konuda sorun çıkarabilir..

Cevapla