![]() |
Wie erstellt man eine DEMO-Version
Hallo zusammen,
habe mal eine Frage zum Thema DEMO-Versionen. Wie würde Ihr eine DEMO-Version erstellen. Mein Gedanke war folgender. Ich implementiere einen Timer, welchen ich im Form.Create starte. Diese Zeile würde ich in der Standardversion auskommentieren. Im Ereignis des Timer würde ich eine ShowMessage hinterlegen mit DEMO-Version, und anschließend einen weiteren Timer starten, welcher das Programm nach X Stunden beenden würde.
Delphi-Quellcode:
Was würdet Ihr dazu sagen. Oder wie würdet Ihr sowas lösen.
Form.Create;
begin TimerDemo.Enabled := true; End; TimerDemo… Begin ShowMessage(‘Dies ist eine DEMO-Version, das Programm wird in 10 Stunden automatisch beendet‘); TimerDemo.Enabled := false; TimerDemoStop.Enabled := true; End; TimerDemoStop… Begin Close; End; Gruß Jens |
Re: Wie erstellt man eine DEMO-Version
Die Frage ist immer wie sicher sowas sein muss.
Bei einer Messagebox dürfte ein Hacker den entsprechenden Aufruf mit Timerstart in 5 Minuten mit NOPs auskommentiert haben. |
Re: Wie erstellt man eine DEMO-Version
Hallo Bernhard,
Sicherheit benötige ich eigentlich nicht. Die DEMO werden eigentlich nur Vertriebsleute in der Hand haben, um sich diese Sache anzusehen. Ich habe halt nur das bedenken, wenn ich die DEMO ganz ohne Einschränkungen ausgebe, das es ja dann förmlich dazu verleitet die Software zu nutzen. Ich möchte somit eigentlich nur eine gewisse Einschränkung erreichen. Gruß Jens |
Re: Wie erstellt man eine DEMO-Version
Hi,
es kommt natürlich darauf an, was das Programm macht. Ich habe es z.B. so gelöst, dass in der Demo auf jedem Ausdruck 'DEMO' steht. Allerdings wäre mein Programm ohne vernünftige Ausdrucke halt nutzlos. Grund ist, dass die Gängelei mit Meldungen und zusätzlichen Bestätigungen ja auch mich selbst nervt. Und wenn man das nicht sehr bedacht angeht, hat man schon potentielle Kunden verloren. Frank |
Re: Wie erstellt man eine DEMO-Version
Jupp, zeitliche Einschränkungen lassen sich mitunder noch am Leichtesten umgehn.
Besser ist da immernoch die Funktionalität etwas einzuschränken. - Funktionen weglassen (nicht nur deaktiveren, sondern garnicht erst einkompiliert) - Zusätzliches reinzumachen läßt sich zwar auch zumgehn, aber nerft nicht so, wie z.B. irgendwenwelche ständigen Messageboxen - die Menge von irgendwas beschränken - ... |
Re: Wie erstellt man eine DEMO-Version
Vor kurzem gab es, soweit ich mich entsinne, in diesem Forum eine gute Diskussion dazu.
Tenor: - der Aufwand, den man in einen mehr oder weniger vermeintlichen Schutz seines Programmes investiert, geht letztlich für die Pflege und Weiterentwicklung des eigentlichen Programmes (also im Hinblick auf die nützlichen Funktionen) verloren. - Ist ein Programm gut genug, daß es einen Hack/Crack rechtfertigt, dann wird es auch entsprechend „behandelt“ bzw. „bearbeitet“. - Kein Schutz ist vollkommen. Sogar die weltweit führenden Softwarehäuser haben einen solchen bis heute für ihre Produkte nicht geschafft, obwohl die Heerscharen dafür angestellt haben dürfte und gut bezahlen. - Ein Programm, das geschützt wird, erweckt zusätzliche Neugier, Aufmerksamkeit (suggeriert besondere Wertfülle) und weckt deshalb und aus dem Grunde des Sportgeistes den Jagd- und Erfolgsinstinkt umso mehr. Und gerade bei Mikroweich dürfte noch ein erheblicher weltweiter Rochus hinzukommen: Mit rechtlich fragwürdigen Methoden, gepaart mit aggressiver Vermarktung und nicht enden wollenden Werbelügen und ewigen, nur teilweise gehaltenen Versprechen hat man sich zum faktischen Monopolisten hochgegaunert und der Welt letztlich eine aberwitzigen monetären Betrag für qualitativ lausige bis fragwürdige Produkte abgeluchst. |
Re: Wie erstellt man eine DEMO-Version
Hier geht es ja nicht um einen Kopierschutz (welches noch aufwändiger wird).
Wenn man eine Demo z.B. im Funktionsumfang so einschränkt, daß einige Funktionen garnicht oder nur teilweise vorhanden sind, dann kann da ein "Hacker" auch nichts dran ändern, egal wie sehr er sich bemüht ... was nicht vorhanden ist, kann auch nicht freigeschaltet werden. |
Re: Wie erstellt man eine DEMO-Version
Zitat:
Delphi-Quellcode:
Auskommentieren würde, kann ich mein Programm ja eigentlich immer normal starten. Wenn ich jetzt eine DEMO erstellen will, kommentiere ich die Zeile ein und fertig.
{TimerDemo.Enabled := true;}
Wie meint Ihr das den sonst mit der Einschränkung. Das heißt z.B. das Ihr gewisse Unit´s einfach aus dem Projekt entfernt. Aber das ist doch dann immer mit einem größeren Aufwand verbunden. Der Vorgang wäre sonst nämlich auch OK für mich, da ich auch gewisse Funktionen in meinem Programm habe, die ich als Option einbinden will. Z.B. das versenden von E-Mails soll eine Option werden. Da weiß ich auch noch nicht wie ich das später mal genau einbinden werde. |
Re: Wie erstellt man eine DEMO-Version
Du kannst mit Hilfe von Compilerschaltern eine bedingte Compilierung erreichen. Das ist in der Regel einfachher als Ein- und Auskommentieren:
Delphi-Quellcode:
In diesem Fall ist der Compilerschalter deaktiviert und es wird eine Vollversion erstellt. Nimmst du den Punkt bei DEFINE weg, ist der Compilerschalter aktiviert und der Code zwischen IFDEF und ENDIF wird mitkompiliert.
{.$DEFINE DEMO}
... {$IFDEF DEMO} SetTextColor(dc, RGB(255, 0, 0)); rect.Top := rect.Top + 3; rect.Right := rect.Right - 10; DrawText(dc, PChar(rsDemo), length(rsDemo), rect, DT_CENTER); {$ENDIF} |
Re: Wie erstellt man eine DEMO-Version
Ich würde die Funktionen mit Compiler-Schaltern herausnehmen, die nicht in der Demo-version vorhanden sein sollen und keinerlei zeitliche Beschränkungen reinpacken. Wenn dann ein Anwender das komplette Programm haben möchte, würde ich Ihm eine neue EXE-Datei zuschicken, wo dann die Funktionen wieder über die Compiler-Schalter freigeschaltet sind.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:27 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