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..
Component Lisanslama? Activex Referans Classları?
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Re: Component Lisanslama? Activex Referans Classları?
bu konuda bir çalışması olan yok mu arkadaşlar?
Re: Component Lisanslama? Activex Referans Classları?
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
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
Re: Component Lisanslama? Activex Referans Classları?
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 :
Visual Basic:
Asp:
VbScript:
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;
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
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>
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
Re: Component Lisanslama? Activex Referans Classları?
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..
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..