Беше предложено в дискусионната група IS да се използва /D=, но използвайки iscc.exe, който дойде с версия 5.2.3, получавам грешка „Неизвестна опция:“.
След това в скрипта, как използвате стойността на параметъра на командния ред?
Беше предложено в дискусионната група IS да се използва /D=, но използвайки iscc.exe, който дойде с версия 5.2.3, получавам грешка „Неизвестна опция:“.
След това в скрипта, как използвате стойността на параметъра на командния ред?
Вие, както казва MicSim, имате нужда от препроцесор. Включен е в най-новия ISPack. След като бъде инсталиран, iscc поддържа /D.
След това можете да използвате стойностите, дефинирани по този начин (ако приемем, че сте направили /DVERSION_NAME=1.23):
AppVerName=MyApplication v{#VERSION_NAME}
От помощния файл за настройка на Inno:
Inno Setup Preprocessor замества стандартния компилатор на командния ред на Inno Setup (ISCC.exe) с разширена версия. Тази разширена версия предоставя допълнителни параметри за управление на Inno Setup Preprocessor.
„Допълнителните параметри“ включват опцията /d.
Ако искате да анализирате аргументите на командния ред от кода в inno, използвайте метод, подобен на този. Просто извикайте inno скрипта от командния ред, както следва:
C:\MyInstallDirectory>MyInnoSetup.exe -myParam parameterValue
След това можете да извикате GetCommandLineParam по този начин, където имате нужда:
myVariable := GetCommandLineParam('-myParam');
//==================================================================
{ Allows for standard command line parsing assuming a key/value organization }
function GetCommandlineParam (inParam: String):String;
var
LoopVar : Integer;
BreakLoop : Boolean;
begin
{ Init the variable to known values }
LoopVar :=0;
Result := '';
BreakLoop := False;
{ Loop through the passed in arry to find the parameter }
while ( (LoopVar < ParamCount) and
(not BreakLoop) ) do
begin
{ Determine if the looked for parameter is the next value }
if ( (ParamStr(LoopVar) = inParam) and
( (LoopVar+1) < ParamCount )) then
begin
{ Set the return result equal to the next command line parameter }
Result := ParamStr(LoopVar+1);
{ Break the loop }
BreakLoop := True;
end
{ Increment the loop variable }
LoopVar := LoopVar + 1;
end;
end;
Надявам се това да помогне...
В Xcode 3, ако щракна два пъти върху xib файл, той не го отваря с инструмента за създаване на интерфейси. Не прави абсолютно нищо. Как мога да разреша това? Имам Xcode 3 с инсталиран iPhone SDK 4.0.2.
- person jachguate; 03.03.2011