Я не могу включать номер версии в этот старый проект Delphi, который я наследовал. Как я фиксирую его?

Если ваша целевая ОС Windows 7 или новее, возможно, что-то из этого может вам помочь:

@Echo Off
Set "XSL=csv"
For /F "EOL=MDelims=" %%A In ('"WMIc OS Get MUILanguages,Version"'
) Do For /F Tokens^=2^,4-5Delims^=.^"^  %%B In ("%%A"
) Do If %%C Equ 6 If %%D Equ 1 Set "XSL=%__APPDIR__%WBEM\%%B\%XSL%
WMIC /Output:Results.log /Node:@Computers.txt Path SoftwareLicensingProduct^
 Where "PartialProductKey Is Not Null And Name Like 'Windows(R)%%' And Not LicenseStatus='1'"^
 Get LicenseStatus,Name,ProductKeyID /Format:"%XSL%"

Идея состоит в том, что она будет проверять каждый из перечисленных компьютеров по одному на каждую строку в файле. с именем computers.txt в текущем рабочем каталоге. Если продукт Windows(R) не отображается как лицензированный, (т.е. 1) , он должен вывести некоторую соответствующую информацию в файл с именем Results.log также в вашем текущем рабочем каталоге.

Выходные данные о состоянии лицензии будут переводиться в одно из следующего:

0: нелицензировано
1: лицензировано
[ 1118] 2: OOB Grace
3: OOT Grace
4: Non-Genuine Grace
5: Уведомление
[1122 ] 6: Extended Grace

Примечание: Вам может не понадобиться строки 3 - 5 приведенного выше сценария, если вы ' Не проверяя с машины Windows 7, я добавил их из-за известной проблемы с расположением файла csv.xsl в версиях этой ОС.

5
задан John Ferguson 25 September 2008 в 06:57
поделиться

5 ответов

Проверьте, существует ли значение по умолчанию.RES файл в исходном месте проекта. Delphi включает номер версии проекта в .res файле с тем же именем как .dpr файл. Если.RES файл не существует, самый простой способ воссоздать его состоит в том, чтобы добавить {$R *.RES} директива компилятора в.DPR файл, сразу после пункта использования.

library foolib;    

uses
    foo in 'foo.pas',
    baz in 'baz.pas';

{$R *.RES}

exports
    foofunc name 'foofunc';

end;

Как только Вы добавляете {$R *.RES}, Delphi директивы компилятора скажет Вам, что воссоздал foolib.res файл ресурсов.

10
ответ дан 18 December 2019 в 08:33
поделиться

Это кажется директивой ресурса {$R *.RES} отсутствует (или включенный в условное выражение определяет) в Вашем .dpr файле так, чтобы IDE не находил его.

7
ответ дан 18 December 2019 в 08:33
поделиться

Можно создать и встроить файлы ресурсов в библиотеки, созданные под Delphi, при помощи директивы $R.

Эта ссылка имеет информацию, относящуюся к построению файла RES. Delphi имеет свой собственный компилятор ресурса: BRCC32

2
ответ дан 18 December 2019 в 08:33
поделиться

Я использую систему управления сборки (FinalBuilder), и это может добавить ресурсы версии ко всему моему DLLs и EXEs, которые являются все когерентными. Поэтому я могу быть уверен, что набор файла все маркирован той же сборкой. Существуют некоторые проекты Delphi, которые не имеют версий по умолчанию, и FB добавит их для Вас так или иначе.

0
ответ дан 18 December 2019 в 08:33
поделиться

Включение информации о версии в dll немного странно. Если указать lib_suffix, то информация о версии не будет обновлена.

.
0
ответ дан 18 December 2019 в 08:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: