Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 26-10-2023
javier14 javier14 is offline
Miembro
 
Registrado: ago 2023
Posts: 12
Poder: 0
javier14 Va por buen camino
procedure TForm1.CambiarVersionArchivo(const nombreArchivo: string;
nuevaVersion: string);
var
info: VS_FIXEDFILEINFO;
handle, len: DWORD;
datos, ptr: PChar;
errorCode: DWORD;
nuevaVersionInt: Integer;
begin
nuevaVersion := nuevaVersion.Replace('.', '');
nuevaVersion := nuevaVersion.PadRight(4, '0');
nuevaVersion := nuevaVersion.PadLeft(8, '0');
nuevaVersionInt := FileVersionToInteger(nuevaVersion);

handle := BeginUpdateResource(PChar(nombreArchivo), False);
if handle = 0 then
RaiseLastOSError;

len := GetFileVersionInfoSize(PChar(nombreArchivo), handle);
if len = 0 then
begin
EndUpdateResource(handle, False);
RaiseLastOSError;
end;

datos := AllocMem(len);
try
if not GetFileVersionInfo(PChar(nombreArchivo), handle, len, datos) then
begin
EndUpdateResource(handle, False);
RaiseLastOSError;
end;

if VerQueryValue(datos, '\', Pointer(ptr), len) then
begin
Move(ptr^, info, SizeOf(info));

info.dwFileVersionMS := nuevaVersionInt;
info.dwFileVersionLS := nuevaVersionInt;

if not UpdateResource(handle, RT_VERSION, PChar(1), 0, datos, len) then
begin
errorCode := GetLastError;
ShowMessage('UpdateResource Error: ' + IntToStr(errorCode));
EndUpdateResource(handle, False);
RaiseLastOSError;
end;
end
else
begin
errorCode := GetLastError;
ShowMessage('VerQueryValue Error: ' + IntToStr(errorCode));
EndUpdateResource(handle, False);
RaiseLastOSError;
end;

if not EndUpdateResource(handle, False) then
begin
errorCode := GetLastError;
ShowMessage('EndUpdateResource Error: ' + IntToStr(errorCode));
RaiseLastOSError;
end;
finally
FreeMem(datos);
end;
end;

Algo asi? No termina de funcionar pero debe ser algo por el estilo
Responder Con Cita
  #2  
Antiguo 26-10-2023
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.055
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Por favor, no olvides usar las etiquetas para código:
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Cambiar datos (en runtime) de la versión de un ejecutable dec API de Windows 4 26-10-2023 17:40:24
Saber la versión de un ejecutable MAXIUM API de Windows 2 23-08-2014 04:04:59
Obtener la versión del ejecutable de una aplicación dec Trucos 1 20-02-2009 09:30:31
como puedo hacer para cambiar un archivo de excel con versión 2.1 a versión 8.0 RONPABLO Servers 4 23-01-2006 06:02:38
Leer versión de un archivo ejecutable FerPetrei Windows 2 16-01-2004 20:41:42


La franja horaria es GMT +2. Ahora son las 21:11:21.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi