Delphi-Quellcode:
procedure TFmHaupt1.FormCreate(Sender: TObject);
{**********************************************}
var
i, j,
a, x : Integer;
txt : String;
begin
progdir := ExtractFilePath(Application.ExeName);
Application.OnDeactivate := AppDeactivate;
Application.OnActivate := AppActivate;
Application.OnException := AppException;
reginfo[1] := 'Werkstattplaner';
reginfo[2] := 'xyz';
reginfo[3] := IntToStr(Floor(GetCDriveSerial));
SetDevPassword(PChar(reginfo[2]));
if IntToStr(AppDaysLeft(PChar(cn), PChar(reginfo[1]))) <> '9999' then
reginfo[4] := '0'
else
reginfo[4] := '1';
if reginfo[4] = '0' then
begin
if SharewareLimit(cn, PChar(reginfo[1]), 30) then
begin
MessageDlg('Das 30 Tage-Zeitlimit ist überschritten.'+
'Bitte registrieren sie sich!', mtInformation,[mbOk], 0);
Application.Terminate;
end
else
txt := reginfo[1]+' Testversion für '
+IntToStr(AppDaysLeft(PChar(cn), PChar(reginfo[1])))+' Tag(e)!';
end
else
txt := reginfo[1]+' Registriert für '
+GetEncrypted(PChar(cn),PChar(reginfo[1]),'RegName');
FmHaupt1.Caption := txt;
AliasCheck('Kalender');
// ...
end;
Kann mir vielleicht jemand sagen was Delphi veranlassen könntem das "Application.Terminate" einfach zu ignorieren (ja, auch wenn die Bedingungen dafür zutreffen)?
Noch zur Erläuterung, die meisten Befehle gehören zu einer Komponente die kontrolliert ob die Software registriert ist bzw wie lange sie noch gültig ist.