Wenn ich die Funktion zusamen in Button anlege dann funktioniert perfekt
wenn ich aber die Funktion über das Button aufrufe, dann geht nicht !!!
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
if mein_serialgenerator(benutzername) = '12345' then
showMessage('OK');
end;
hier ist die Funktion :
Delphi-Quellcode:
function mein_serialgenerator(benutzername: string): string;
var
mein_md5, mein_prekey, mein_serialkey: string;
const
// Mögliche Sicherheitslücke: mein_seed kann man aus der EXE herauslesen. Aber ich will es ja einfach halten
mein_seed := 'ABCD-Produkt-Produktversion-Edition';
begin
// Dein Benutzername ist jetzt als MD5 festgehalten
mein_md5 := md5(benutzername);
// Damit jetzt nicht jeder daran herumspielt und einen eigenen md5 generiert, legst du einen Seed dazu und machst nochmal md5
mein_prekey := md5(mein_seed + mein_md5);
// Nun hast du aber 32 Zeichen. Tu das deinen Anwendern bitte nicht an.
// Nimm die ersten 8 Zeichen meinetwegen. Das ist jetzt dein Serialkey, der aus dem Benutzernamen abgeleitet ist
mein_serialkey := copy(mein_prekey, 0, 8);
result := mein_serialkey;
end;