में कार्यों के माध्यम से कस्टम कोड लॉन्च करें यदि कोई उपयोगकर्ता इंस्टॉल के दौरान संबंधित चेकबॉक्स चेक करता है तो मैं कुछ कोड निष्पादित करना चाहता हूं। सहायता फ़ाइल पढ़ने से, ऐसा लगता है कि कार्य का उपयोग करने का एकमात्र तरीका यह है कि इसे फाइल/आइकन/इत्यादि में प्रविष्टि से जोड़ना है। अनुभाग। मैं वास्तव में कोड अनुभाग में एक प्रक्रिया के साथ इसे जोड़ना चाहता हूँ। क्या यह किया जा सकता है और यदि हां, तो कैसे?इनो सेटअप
6
A
उत्तर
4
आप करना है कि एक कस्टम जादूगर पेज है कि जब उपयोगकर्ता उस पृष्ठ पर क्लिक करता है "अगली" सभी चयनित चेक बॉक्स के लिए बॉक्स चेक, और निष्पादित कोड जोड़कर:
[Code]
var
ActionPage: TInputOptionWizardPage;
procedure InitializeWizard;
begin
ActionPage := CreateInputOptionPage(wpReady,
'Optional Actions Test', 'Which actions should be performed?',
'Please select all optional actions you want to be performed, then click Next.',
False, False);
ActionPage.Add('Action 1');
ActionPage.Add('Action 2');
ActionPage.Add('Action 3');
ActionPage.Values[0] := True;
ActionPage.Values[1] := False;
ActionPage.Values[2] := False;
end;
function NextButtonClick(CurPageID: Integer): Boolean;
begin
Result := True;
if CurPageID = ActionPage.ID then begin
if ActionPage.Values[0] then
MsgBox('Action 1', mbInformation, MB_OK);
if ActionPage.Values[1] then
MsgBox('Action 2', mbInformation, MB_OK);
if ActionPage.Values[2] then
MsgBox('Action 3', mbInformation, MB_OK);
end;
end;
चेक बॉक्स भी कर सकते हैं सूची बॉक्स में मानक नियंत्रण या आइटम बनें, विवरण के लिए पास्कल स्क्रिप्टिंग पर इनो सेटअप दस्तावेज़ देखें।
आप अपने कोड पर कि क्या एक खास घटक या कार्य चयनित किया गया है के आधार निष्पादित करने के लिए चाहते हैं, तो बजाय IsComponentSelected()
और IsTaskSelected()
कार्यों का उपयोग।
11
आपको अपने स्वयं के विज़ार्ड पेज को परिभाषित करने की आवश्यकता नहीं है। आप उन्हें अतिरिक्त कार्य पृष्ठ में जोड़ सकते हैं।
[Tasks]
Name: associate; Description:"&Associate .ext files with this version of my program"; GroupDescription: "File association:"
[Code]
function NextButtonClick(CurPageID: Integer): Boolean;
begin
Result := True;
if CurPageID = wpSelectTasks then
begin
if WizardForm.TasksList.Checked[1] then
MsgBox('First task has been checked.', mbInformation, MB_OK);
else
MsgBox('First task has NOT been checked.', mbInformation, MB_OK);
end;
end;
क्रेडिट this post के लिए TLama को जाता है।