PDA

Ver la Versión Completa : versiones y actualizaciones para un ejecutable


MesiasPeru
24-12-2019, 05:26:15
hola me gustaria crear un ejecutable con una version... digamos proyecto V 1.0, y ponerlo en mi blog para que otros usuarios lo descarguen, pero algun tiempo despues ese proyecto yo deba actualizarlo a V 1.1

como debo de hacerce para que la V1.0 ya no se pueda ejecutar debido a que existe otra version nueva la V 1.1

duilioisola
24-12-2019, 09:47:21
En tu ejecutable guardas una constante llamada version.
En tu blog agregas una página que indique la versión activa
Desde tu aplicación, haces una llamada a esa página y comparas la respuesta con la constante.


const Version = '1.0';

function EsVersionValida: boolean;
var
HTMLBody : string;
IdHTTP : TIdHTTP;
Peticion : string;
begin
// Pagina que respondera solo con texto.
// El texto será la version activa de la aplicación
// El formato de versión será M.m (Ejemplo: 1.0)
Peticion := 'http://www.miblog.com/version_activa.php';

// Inicializamos resultado por si no podemos conectar o hay algún otro problema
Result := false;

// ¿Estamos conectados a Internet?
if WinInet.InternetGetConnectedState(nil, 0) then
begin
IdHTTP := TIdHTTP.Create(Application);
try
try
HTMLBody := IdHTTP.Get(Peticion);
// Limpio caracteres raros
HTMLBody := StringReplace(HTMLBody, '?', '', [rfReplaceAll]);
except
on e: Exception do
begin
// Si hay algun problema lo trato como un error de internet
HTMLBody := '404';
end;
end;
HTMLBody := Trim(HTMLBody);

// Esta web devuelve por ejemplo "1.0"
Result := (Version = HTMLBody);
finally
IdHTTP.Free;
end;
end;
end;

[...]

procedure TFMMain.FormActivate(Sender: TObject);
begin
if (not EsVersionActiva) then
begin
ShowMessage('No es la última versión. Descargue nuevamente la aplicación. Gracias!');
Close;
end;
end;