powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Как 'вшивать' номер версии exe файла?
9 сообщений из 9, страница 1 из 1
Как 'вшивать' номер версии exe файла?
    #33896829
AlexanderF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Можно ли в exe файл, скомпилированный в PB 8.0 "вшивать" номер версии? И можно ли его извлекать в скрипте и как-то далее с ним работать?
...
Рейтинг: 0 / 0
Как 'вшивать' номер версии exe файла?
    #33897035
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У нас для этого есть глобальная переменная.
А вообще, в окне сбора проекта есть Product Version...
...
Рейтинг: 0 / 0
Как 'вшивать' номер версии exe файла?
    #33897066
Фотография spas2001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну примерно так:
FUNCTION ulong GetFileVersionInfoSizeA ( REF string lpFilename, REF ulong lpdwHandle ) LIBRARY "version.dll"
FUNCTION integer GetFileVersionInfoA ( REF string lpFilename, REF ulong lpdwHandle, ulong dwLen, REF string lpData ) LIBRARY "version.dll"
FUNCTION boolean VerQueryValueA ( REF string lpBlock, string lpSubBlock, REF long lpBuffer, REF uint puLen ) LIBRARY "version.dll"


ulong dwHandle, dwLength
string ls_Buff, ls_key, ls_versioninfo
uint lui_length
long ll_pointer
string as_filename
as_filename = exe_name
integer li_rc
dwLength = GetFileVersionInfoSizeA( ref as_filename, dwHandle )
IF dwLength <= 0 THEN
RETURN false
END IF
ls_Buff = Space( dwLength )
li_rc = GetFileVersionInfoA( as_filename, dwHandle, dwLength, ls_Buff )
IF li_rc = 0 THEN
RETURN false
END IF
// the strange numbers below represents the country and language
// of the version ressource.
ls_key = "\StringFileInfo\040904e4\ProductVersion"
IF NOT VerQueryValueA( ls_buff, ls_key, ll_pointer, lui_length ) OR &
lui_length <= 0 THEN
ls_versioninfo = "?"
ELSE
ls_versioninfo = Space( lui_length )
CopyMemory( ls_versioninfo, ll_pointer, lui_length )
END IF

return true
...
Рейтинг: 0 / 0
Как 'вшивать' номер версии exe файла?
    #33897315
AlexanderF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Локшин МаркУ нас для этого есть глобальная переменная.
А вообще, в окне сбора проекта есть Product Version...
Ну что есть Product Version это я знаю :) А вот как его взять в переменную? И желательно средствами собственно PB, без дополнительных библиотек.
А если у вас есть такая переменная, то как вы ее получаете?
...
Рейтинг: 0 / 0
Как 'вшивать' номер версии exe файла?
    #33897391
Dim2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexanderF wrote:

> А вот как его взять в переменную?

Тебе ответил spas2001. Чего ещё надо?
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Как 'вшивать' номер версии exe файла?
    #33897418
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexanderFМожно ли в exe файл, скомпилированный в PB 8.0 "вшивать" номер версии? И можно ли его извлекать в скрипте и как-то далее с ним работать?

Извлекать можно. Выше написали как.
А вот вшивать средствами PB8 нельзя. Это появилось только в PB9.

Но есть утилита VersionEdit at ecrane.com - она может.
...
Рейтинг: 0 / 0
Как 'вшивать' номер версии exe файла?
    #33898898
Фотография spas2001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не правда
Уже в 8-ке появились опции при сборке проекта
В 6.5 и по-моему в 7-ке не было
...
Рейтинг: 0 / 0
Как 'вшивать' номер версии exe файла?
    #33898919
Фотография spas2001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да забыл уточнить в 8-ке (прошу не пинать, давно было) извлекалось не ProductVersion (это я для 9-ки немножко переделал), просто надо полностью просмотреть извлекаемую информацию (то-ли версия файла) не могу вспомнить, но то что это еще в 8-ке работало - факт
...
Рейтинг: 0 / 0
Как 'вшивать' номер версии exe файла?
    #33899316
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Извините за дезинформацию.
Я искренне верил в то что говорил :)
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Как 'вшивать' номер версии exe файла?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]