J'ai une application compilée pour Compact Framework dont j'ai besoin de trouver le numéro de version pour utiliser Delphi 2006. J'utilise le code ci-dessous.Obtenir le numéro de version du framework exe compact de l'application Delphi PC
function VersionNumber(ExeFile: string): string;
var
Size: Longint;
Dummy: Cardinal;
Buffer: Pointer;
FileInfo: Pointer;
begin
Size := GetFileVersionInfoSize(PChar(ExeFile), Dummy);
GetMem(Buffer, Size);
if (GetFileVersionInfo(PChar(ExeFile), Dummy, Size, Buffer)) then begin
//VerQueryValue(Buffer, '\\', FileInfo, Dummy);
//with PVSFixedFileInfo(FileInfo)^ do
//Result := IntToStr(dwFileVersionMS div $10000) + '.' +
// IntToStr(dwFileVersionMS mod $10000) + '.' +
// IntToStr(dwFileVersionLS div $10000) + ' (' +
// IntToStr(dwFileVersionLS mod $10000) + ')';
end
else begin
Result := 'No version info available.';
end;
FreeMem(Buffer, Size);
end;
Si je considère les détails du fichier à l'aide de Windows 7, je ne peux pas voir le numéro de version là non plus, il est donc pas surprenant que je ne peux pas obtenir de Delphi.
Juste sur le hasard quelqu'un sait un moyen d'obtenir le numéro de version, il serait grandement apprécié.
MISE À JOUR
Ce code a été écrit il y a plus de dix ans par un membre du personnel ex. Jusqu'à présent, cela a fonctionné correctement, mais n'a jamais été essayé sur un exécutable compilé pour Compact Framework.
La fonction GetFileVersionInfo renvoie false, donc j'obtiens 'Aucune information de version disponible'. résultat.
Jetez un oeil à cette question http://stackoverflow.com/questions/1981297/version-information-missing-from-net-assembly-compact-framework-3-5-vs2008 – Graymatter
Que produit votre code –
C'est inutile de chercher une ressource qui n'est pas là. Je pense que vous devriez supprimer tout ce code inutile et nous montrer ce que vous cherchez. Si ce n'est pas la ressource de la version, qu'est-ce que c'est? Quelques méta-données .net. Mais quoi? –