PDA

Показать полную графическую версию : Скрипты Inno Setup. Помощь и советы [часть 6]


Страниц : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 [105] 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125

saurn
02-02-2014, 11:32
diman_21Ru, чем не устраивает такой вариант (http://forum.oszone.net/post-2300308-2064.html)?

diman_21Ru
02-02-2014, 16:38
А как исправить лишние разы Путь установки будет сброшен на значение по умолчанию , допустим диск раздел выбераешь уже Путь установки будет сброшен на значение по умолчанию потом папку с игрой уже Путь установки будет сброшен на значение по умолчанию тока лишь на саму игры уже нету ошибки

dr.alexa2000@vk
02-02-2014, 16:44
saurn »
Инсталляция проходит нормально, при деинсталляции ошибка:
Runtime Error (at 284:38)
Внутренняя ошибка: An attempt was made to access
UninstallProgressForm before it has been created.

Nightwishh
02-02-2014, 18:02
Парни ну помогите мне с моими вопросами, надо очень :)

saurn
02-02-2014, 19:21
А как исправить лишние разы Путь установки будет сброшен на значение по умолчанию , допустим диск раздел выбераешь уже Путь установки будет сброшен на значение по умолчанию потом папку с игрой уже Путь установки будет сброшен на значение по умолчанию тока лишь на саму игры уже нету ошибки »
В этом и суть: если в выбранной папке нет нужного файла путь сбрасывается. Держите, без сообщения:
[Code]
function SearchFile(const Path: String; const Name: String): Boolean;
begin
case FileExists(AddBackslash(Path) + Name) of
True: WizardForm.DirEdit.Text := Path;
False: WizardForm.DirEdit.Text := ExpandConstant('{#SetupSetting("DefaultDirName")}');
end;
end;


procedure DirEditOnChange(Sender: TObject);
begin
SearchFile(WizardDirValue(), 'MyProg.exe');
end;


procedure InitializeWizard();
begin
WizardForm.DirEdit.OnChange := @DirEditOnChange;
end;

Инсталляция проходит нормально, при деинсталляции ошибка:
Runtime Error (at 284:38)
Внутренняя ошибка: An attempt was made to access
UninstallProgressForm before it has been created. »
Попытка обращения к форме деинсталятора до того, как она была создана, или после того. Нужен скрипт с минимальным набором файлов.

diman_21Ru
02-02-2014, 21:50
saurn,спасибо :)

Ivan_009
02-02-2014, 21:54
Как через код включить сглаживание шрифта в Windows XP...

Nordek
02-02-2014, 22:23
saurn,спасибо »Как я могу отметить сообщение полезным? (http://forum.oszone.net/faq.php?faq=vb_board_usage#faq_thanks)

diman_21Ru
02-02-2014, 23:04
отметил уже

habib2302
03-02-2014, 00:04
доброе время суток. помогите решить проблему
http://i.imgur.com/39ATPb1.jpg (http://i.imgur.com/CIPnfbr.png)

saurn
03-02-2014, 00:42
habib2302, дословно: "Неизвестный идентификатор ImgLoad". Копайте в сторону ботвы.
function ImgLoad(Wnd :HWND; FileName :PAnsiChar; Left, Top, Width, Height :integer; Stretch, IsBkg :boolean) :Longint; external 'ImgLoad@{tmp}\botva2.dll stdcall delayload';
//загружает изображение в память, сохраняет переданные параметры
//Wnd - хэндл окна, в котором будет выведено изображение
//FileName - файл изображения
//Left,Top - координаты верхнего левого угла вывода изображения (в координатах клиентской области Wnd)
//Width,Height - ширина, высота изображения
// если Stretch=True, то изображение будет растянуто/сжато в прямоугольной области
// Rect.Left:=Left;
// Rect.Top:=Top;
// Rect.Right:=Left+Width;
// Rect.Bottom:=Top+Height;
// если Stretch=False, то параметры Width,Height игнорируются и вычисляются самой ImgLoad, т.е. можно передать 0
//Stretch - масштабировать изображение или нет
//IsBkg - если IsBkg=True, изображение будет выведено на фоне формы,
// поверх него будут отрисованы графические объекты (TLabel, TBitmapImage и т.д.),
// затем поверх всего будут выведены изображения с флагом IsBkg=False
//возвращаемое значение - указатель на структуру, хранящей изображение и его парметры, приведенный к типу Longint
//изображения будут выведены в той последовательности, в которой вызывается ImgLoad

innot20
03-02-2014, 06:57
Здравствуйте, подскажите пожалуйста как сделать backup папки res-mods

saurn
03-02-2014, 18:22
innot20
[Setup]
AppName=My Program
AppVersion=1.5
DefaultDirName={pf}\My Program
OutputDir=.


[Files]
Source: C:\Windows\Fonts\*; DestDir: {app}\res-mods; Flags: external overwritereadonly ignoreversion;


[Code]
#define A = (Defined UNICODE) ? "W" : "A"


function MoveFile(const srcFile, destFile: PAnsiChar): Integer; external 'MoveFile{#A}@kernel32.dll stdcall';


procedure IsBackup(const FromDir: String; const ToDir: String);
var
fileArray: array of String;
FindFiles: TFindRec;
i, Len: Integer;
begin
if not DirExists(FromDir) then Exit;
fileArray := ['*'];
Len := GetArrayLength(fileArray) - 1;
for i := 0 to Len do
begin
if FindFirst(FromDir + fileArray[i], FindFiles) then
try
repeat
if not DirExists(ToDir) then CreateDir(ToDir);
MoveFile(FromDir + FindFiles.Name, ToDir + FindFiles.Name);
until not FindNext(FindFiles);
finally

FindClose(FindFiles);
end;
end;
end;


procedure CurStepChanged(CurStep: TSetupStep);
begin
case CurStep of
ssInstall: IsBackup(ExpandConstant('{app}\res-mods\'), ExpandConstant('{app}\Backup\'));
end;
end;

Ivan_009
03-02-2014, 18:40
Как удалить иконку в левом верхнем углу...

saurn
03-02-2014, 18:44
Ivan_009
WizardForm.BorderStyle := bsDialog; //или BorderIcons := [];

Ivan_009
03-02-2014, 18:58
saurn, А чтобы кнопка свернуть и закрыть только осталась...

Nordek
03-02-2014, 19:30
Ivan_009, Когда же ты перейдёшь на расширенную версию и воспользуешься Дизайнером диалогов:
http://imagizer.imageshack.us/v2/150x100q90/401/v52e.png (http://imageshack.com/a/img401/5167/v52e.png)

Ivan_009
03-02-2014, 20:03
Как зделать вот так без использования различных библиотек включая IsPicture2...

saurn
03-02-2014, 20:25
Ivan_009, http://forum.oszone.net/post-2074787-1586.html

diman_21Ru
03-02-2014, 21:30
innot20 ,Здравствуйте, подскажите пожалуйста как сделать backup папки res-mods , А можно ли кнопку добавить к сохранением папки модов ?




© OSzone.net 2001-2012