Laut Debugger wird im Funtionsaufruf schon der merkwürdige Inhalt des Memos an die Funktion übergeben...
Funktionsaufruf:
Code:
personal.checkLicenceKey(memo1.text);
Die eigentliche Funtion:
Code:
function TPersonalization.checkLicenceKey(aLicenceKey:String):boolean;
begin
temp:=help.Hash(aLicenceKey);
temp:=temp+'-'+IntToStr(Check.generateCheckSum(temp));
strlength:=length(temp);
string1:=copy(aLicenceKey,2,StrToInt(aLicenceKey[1])-2);
string2:=copy(aLicenceKey,StrToInt(aLicenceKey[1])+5,(length(aLicenceKey)-(StrToInt(aLicenceKey[1])+4)));
string1:=string1+string2;
i:=0;
while i <> regenerated do
begin
string1:=ReHashLicenceKey(string1);
inc(i);
end;
showMessage(aLicenceKey+#10+#13+temp+#10+#13+string1);
if temp = (string1) then
begin
Result:=True;
// LicenceTime:=StrToInt(aLicenceKey[StrToInt(aLicenceKey[1])]);
// showMessage('Lizenzdauer: '+IntToStr(LicenceTime));
end
else Result:=false;
end;