Ciao a tutti,
prima di avviare (creare) il mio progetto voglio verificare se il programma è stato attivato tramite una certa chiave di attivazione. quindi procedo in questo modo:
codice:
var
FrmIdentificazione: TFrmIdentificazione;
FrmAttivazione: TFrmAttivazione;
Attivato:=True;
begin
Application.Initialize;
Application.Title := 'MiaApplicazione';
try
FrmAttivazione:= TFrmAttivazione.Create(nil);
Attivato:=False;
if FrmAttivazione.ShowModal = mrOk then
Attivato:=True;
finally
FrmAttivazione.Free;
end;
Application.CreateForm(TDM, DM);
if Attivato then
begin
Application.CreateForm(TFrmMain, FrmMain);
Application.Run;
end
else
DM.Free;
nel FrmAttivazione nell'evento onshow ho scritto questo codice:
codice:
procedure TFrmAttivazione.FormShow(Sender: TObject);
begin
cxTextEditCodice.Text:=GetVolumeId('c');
Ini := TIniFile.Create(ExtractFilePath(Application.ExeName)+'Attivazione.ini');
try
cxTextEditChiave.Text:=ini.ReadString('Attivazione','Chiave','');
finally
ini.Free;
end;
if CalcolaChiave=cxTextEditChiave.Text then
ModalResult := mrOk;
end;
pur eseguendo il comando ModalResult := mrOk; la FrmAttivazione non viene chiusa.
perfavore, mi dite dove sbaglio????
forse non devo usare l'evento onshow???
sto sbattendo la testa già da un pò..
grazie