![]() |
free/standard/professional
Ich möchte für mein Projekt (XE Prof) jetzt 3 Varianten mit unterschiedlichen Leistungsmerkmalen erzeugen.
Wie macht man das am besten? Ich würde in den Projektoptionen unter "Bedingungen" jeweils "free", "standard" oder "professional" eintragen. Dann die Varianten durch bedingte Kompilierung erzeugen und die Exen jeweils kopieren. Ist das korrekt oder gibt es bessere Lösungen? |
AW: free/standard/professional
Kopieren brauchst'e nicht, denn du kannst im Ausgabepfad auch deine Variante mit angeben.
Alternativ kannst'e auch mehrere Projektdateien nehmen und abhängig davon die unterschiedlichen Kompilate erzeugen. Letzeres hätte den Vorteil, daß du alle "gleichzeitig" über eine Projektgruppe erzeugen lassen könntest. |
AW: free/standard/professional
Hi,
ersteres hätte den VOrteil das über eine Batch oder den FinalBuilder zu erledigen ;-) GRüße |
AW: free/standard/professional
und zusätzlich eine schnuckelige Include-Datei wo für jede Version die einzelnen Module ein-/ausgeschaltet werden.
Das erleichtert dann die Verwaltung der Versionen. |
AW: free/standard/professional
Je nach Komplexität könnte auch eine einige Exe deren Funktionalität über einen Schlüssel gesteuert wird eine Alternative sein?
|
AW: free/standard/professional
Den Vorschlag von Bummi halte ich auch für sehr viel Sinnvoller. Warum sollest du dir die Mühe machen drei Versionen zu verteilen.
|
AW: free/standard/professional
Weil man dann ganz leicht, jede Free-Version auf eine Professional freischalten könnte?
|
AW: free/standard/professional
Ist etwas Offtopic, aber ich sehe, dass sich hier alles begnadete Programmierer rumtreiben, aber keine Marketingexperten. Bin ich eigentlich auch nicht, aber aus gegebenem Anlass beschäftige ich mich zurzeit damit.
Man bietet keine Free Version an. Wenn, dann ist es die kostenlose Standard Version. Die obere Standard ist dann die Professional. Nach zwei Wochen baut man noch einen weitere Funktion dazu und nennt es dann: Professional - Gold Edition. Seine Professional ist dann die Ultimate Edition. Es genügt nicht nur gute Programme zu schreiben, man muß auch billige Tricks nutzen um sie zu verkaufen. |
AW: free/standard/professional
Zitat:
Drei Versionen zu verteilen oder zu vertreiben macht auf jeden Fall viel mehr Arbeit, als nur eine Version, die man entsprechend freischalten kann. Ein Upgrade auf eine höhere Version ist so für deine Nutzer auch viel einfacher und angenehmer. |
AW: free/standard/professional
Ja, aber wenn nicht gleich überall jeglicher Code eingebaut ist, dann müß man erstmal an eine er "guten" Versionen rankommen, um es freizuschalten.
Es muß also erstmal ein Cracker kaufen oder von jemandem bekommen, der es gekauft hat und das kommt, bei einem Programm mit weniger Verbreitung, seltener vor. |
AW: free/standard/professional
Zitat:
Die Zeit und das Geld steckt man lieber in die Optimierung der Software und gewinnt dadurch mehr Neukunden, als man je durch Cracker verlieren könnte. |
AW: free/standard/professional
Danke an alle.
Es geht um eine Turniersoftware. Die Kunden werden also Vereine sein, die Cracks vermutlich sehr zurückhaltend einsetzen werden. Mit der Freeware sollen sich kleine Turniere durchführen lassen (z.B. an der Uni usw). Darüber hinaus will ich 2, später 3 Vollversionen anbieten, die natürlich mehr Möglichkeiten bieten. Ich werde es so machen, dass ich die Freeware frei zum Download anbiete und die anderen 2 bzw. 3 Exen ggf. dem Verein zumaile. Die Exe braucht dann nur ersetzt zu werden und dabei muss die Lizenzdatei liegen, die den Lizenzinhaber enthält, der dann vom Programm ausgewiesen wird. Ich denke, das ist für mich handelbar, bietet einen gewisse Hürde gegenüber unlizensierter Nutzung und ist auch für die Vereine ok. |
AW: free/standard/professional
Ich würde auch nur eine Exe erzeugen, welche je nach Lizenz die entsprechenden Features freischaltet. Das verringert deinen Aufwand beim Erzeugen und Verteilen, benötigt ein Verein dann mehr Funktionalität brauchst du nur eine neue Lizent verschicken und die Funktionalität steht beim nächsten Start zur Verfügung.
|
AW: free/standard/professional
Ja, aber ich bin nicht in der Lage, diese Freischaltung halbwegs sicher zu organisieren.
Daher ist es mir lieber, eine limitierte Version frei zu verteilen und die anderen gezielt. |
AW: free/standard/professional
hi,
Zitat:
![]() ![]() ![]() Ich habe dazu für ein kommerzielles Projket PELock verwendet ( ![]() GRüße |
AW: free/standard/professional
Zitat:
|
AW: free/standard/professional
Wenn du die Exen so personalisiert, dass gut sichtbar der Name des Vereins angezeigt wird, erhöht das sicher die Hemmschwelle es weiterzugeben.
Dann vielleicht noch ein Wasserzeichen rein :mrgreen: Darauf, dass Sportvereine bzw. alle Mitglieder mit Zugang zum Programm ehrlich sind, würde ich mich nicht verlassen wollen. |
AW: free/standard/professional
Er muß ja so oder so einen Code einbauen, welcher die Lizenzierten Funktionalitäten behandelt.
Ob das nun über ein IF-THEN zur Laufzeit geschieht, oder über ein {IF}/{$IFDEF} im Compiler ist doch egal (vom Programmieraufwand her) und wenn der Compiler, bzw. das Erstellungsscript automatisch mehrere EXEn erstellt, ist das auch kein größerer Aufwand. Nur die Lizenzdatei weitergeben oder EXE+Lizenzdatei ist dann auch nicht so die Hürde. |
AW: free/standard/professional
Vielleicht ist
![]() |
AW: free/standard/professional
Wobei es sich die Frage stellt ob der Aufwand nötig ist? Es ist für mich kein Problem mir MS Office 2010 im Internet zu besorgen inc. Freischaltung. Und seinen wir mal ehrlich, dahinter steckte ein Multimilliarden Dollar Unternehmen. Nun suchen wir doch mal eine gehackte Pizza-Taxi-Software, hinter der lediglich ein drei Mann Unternehmen steckt. MS Office 2010 ist eine Massensoftware für die sich Hacker interessieren, aber welcher Hacker interessiert sich für Pizza-Taxi-Software? Irgendwie muß man auch auf seinen Ruf achten. Ergo, meiner Meinung nach kann man bei einer Nischensoftware ruhig schlafen und dem Ganzen einen leichten Schutz spendieren.
|
AW: free/standard/professional
Mit eine globalen Konstante lässt sich eine bedingte Kompilierung ganz gut lösen.
Delphi-Quellcode:
const // global definiert, aber gut praktikabel so
CompileModeFree = 0; CompileModeLight = 1; CompileModeStandard = 2; CompileModeProfessional = 3; CompileMode = CompileModeLight; ... procedure TdmlStahliSport.MIPlayerStatistcsClick(Sender: TObject); {$IF CompileMode > CompileModeFree} var PanelPlayer: TodPanelPlayer; {$IFEND} begin {$IF CompileMode > CompileModeFree} if PopupMenuPlayer.PopupComponent is TodPanelPlayer then begin PanelPlayer := PopupMenuPlayer.PopupComponent as TodPanelPlayer; PanelPlayer.odPlayer.Person.ExportVPEGamesOpen; PanelPlayer.odPlayer.Person.ExportVPEGames; PanelPlayer.odPlayer.Person.ExportVPEGamesClose; end; {$IFEND} end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:22 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz