GetFileVersion in CBuilder 10.3.3 - Problem
-
Hallo,
versuche gerade die Version meines Programms zur Laufzeit zu ermitteln. Habe im CBuilder 2010 diesen Code dazu genutzt:// Funktion liefert einen AnsiString der Versionsnummer der übergebenen Datei // prüfen ob überhaupt Info da sind DWORD nSize = GetFileVersionInfoSize(FileName.c_str(), 0); AnsiString Result(""); if (nSize) { char *pInfo = new char[nSize]; // Versionsinfo auslesen GetFileVersionInfo(FileName.c_str(), 0, nSize, pInfo); VS_FIXEDFILEINFO *FileInfo; UINT uLen; // Root-Information auslesen VerQueryValue(pInfo, "\\", (void**) &FileInfo, (PUINT) &uLen); // Speicher freigeben delete [] pInfo; // Versionsnummer bilden Result.sprintf("%d.%d.%d.%d", HIWORD(FileInfo->dwFileVersionMS), LOWORD(FileInfo->dwFileVersionMS), HIWORD(FileInfo->dwFileVersionLS), LOWORD(FileInfo->dwFileVersionLS)); }
Leider erhalte ich im neuen CBuilder 10.3.3 diese Fehlermeldung:
[bcc32c Fehler] UnMain.cpp(629): no matching function for call to 'GetFileVersionInfoSizeW' winver.h(125): candidate function not viable: no known conversion from 'char *' to 'LPCWSTR' (aka 'const wchar_t *') for 1st argument
Gibt es da im neuen Builder ggf. eine andere Möglichkeit?
Danke
Torsten
-
@torsten_156 sagte in GetFileVersion in CBuilder 10.3.3 - Problem:
char *pInfo = new char[nSize];
Was soll denn das da!?
@torsten_156 sagte in GetFileVersion in CBuilder 10.3.3 - Problem:
no known conversion from 'char *' to 'LPCWSTR' (aka 'const wchar_t *') for 1st argument
Entweder
GetFileVersionInfoA()
nehmen oder als ersten Parameter einen Wide-String geben.