Hallo Leute, hab folgendes Problem: Ich habe für mein Programm eine Registrierung eingebaut, die der User beim 1. Start des Programmes eigeben muß. Diese wird in der Regedit gespeichert. Wenn der User aber ein weiteres mal in das Programm einsteigt, dann soll die Registrierunsform (Keyform) nicht mehr erscheinen, aber dass Programm soll trotzdem bei jedem Start die Registrierung überprüfen.
Soweit sogut. Ich habe es bis jetzt soweit, dass die Registrierung in der Regedit steht. Das funktioniert super. Mein problem ist nur, dass, wenn ich das Programm starte, immer die Keyform erscheint, wo ich den Code eingeben muß, obwohl in der Regedit eh schon das richtige drinn steht. Wenn ich dann auf OK klicke (in der Keyform), dann wird das ganze Programm geschlossen. Ich soll aber auf die Hauptform kommen, bzw. das Keyform soll erst gar nicht erscheinen.
Der Code sieht so aus:
Code:
procedure TKundendaten.FormCreate(Sender: TObject);
var OK: Boolean;
begin
REG := TRegistry.Create;
try
try
REG.RootKey := HKEY_CURRENT_USER;
if REG.OpenKey('\Software\SELF', True) then
begin
if REG.ValueExists('CODE??') then a:=StrToInt(REG.ReadString('CODE??'))
else a := 0;
REG.CloseKey;
end;
except
a := 0;
end;
finally
REG.Free;
end;
if (a = 0) or (not CheckCode(IntToStr(a), 25, 7)) then { RegKey nicht vorhanden oder ungültige Seriennummer }
begin
Keyform := TKeyform.Create(nil);
try
OK := Keyform.ShowModal = mrOK;
if OK then OK := CheckCode(IntToStr(a),25, 7);
if not OK then
begin
Application.ShowMainForm := False;
Application.Terminate;
Exit;
end;
finally
Keyform.Free;
end;
end;
end;
Könnt Ihr mir da behilflich sein???