Дополнительные библиотеки для Inno Setup

Статус
В этой теме нельзя размещать новые ответы.

ARS_23

R.I.P
Проверенный
такс, вроде разобрался... надо было просто убить таймер на wpFinished
 

Вложения

  • 974.8 KB Просмотры: 49

shidow

Новичок
K.I.S,
[SOURCE="iss"]procedure InitializeWizard();
begin
PicList:=tstringlist.Create;
for i:=1 to 5 do begin
ExtractTemporaryFile(IntToStr(i)+'.jpg')
piclist.add(ExpandConstant('{tmp}\')+IntToStr(i)+'.jpg');
end;
end;[/SOURCE]
 

GVS276

Старожил
Проверенный
Edison007, Постараюсь уменьшить размер dll, там просто используется в Uses Graphics.dcu поэтому размер dll большой
 

Edison007

Ветеран
Модератор
AVMan, щас, только что проверил (даже не лень было :rofl:) можно сделать 14,5 КБ (14*848 байт) [Опыта работы в дельфи тоже ооочень мало :unknown:], и только Windows будет юзаться.
И да для шрифта юзается CreateFontIndirect, так ведь?

Добавлено через 1 минуту
а зачем?
 

GVS276

Старожил
Проверенный
Edison007, Да молодец, но для большого эффекта я использовал Graphics.dcu!!!
Да и у вас русские букву нормально отображаются или только англиские?
 

ARS_23

R.I.P
Проверенный
K.I.S,
как то так:
Код:
[Setup]
AppName=My Program
AppVerName=My Program version 1.5
DefaultDirName={pf}\My Program
DefaultGroupName=My Program
Compression=lzma

[Languages]
Name: "rus"; MessagesFile: "compiler:Languages\Russian.isl"

[Files]
Source: isSlideShow.dll; DestDir: {tmp}; Flags: dontcopy
Source: InnoCallback.dll; DestDir: {tmp}; Flags: dontcopy
Source: Slides\*; DestDir: {tmp}; Flags: dontcopy
Source: {win}\help\*; DestDir: {app}\1; Flags: external recursesubdirs
Source: {win}\help\*; DestDir: {app}\2; Flags: external recursesubdirs
Source: {win}\help\*; DestDir: {app}\3; Flags: external recursesubdirs
Source: {win}\help\*; DestDir: {app}\4; Flags: external recursesubdirs

[Icons]
Name: "{group}\Удалить"; IconFilename: "{app}\unins000.exe"; Filename: "{app}\unins000.exe"

[_Code]
type
  TProc=procedure(HandleW, msg, idEvent, TimeSys: LongWord);

var
  TimerID: LongWord;
  CurrentPicture:integer;
  PicList: TStringlist;
  BackgroundForm: TForm;

function WrapTimerProc(callback:TProc; paramcount:integer):longword; external 'wrapcallback@files:innocallback.dll stdcall';
function SetTimer(hWnd, nIDEvent, uElapse, lpTimerFunc: LongWord): LongWord; external 'SetTimer@user32.dll stdcall';
function KillTimer(hWnd, nIDEvent: LongWord): LongWord; external 'KillTimer@user32.dll stdcall';
function GetSystemMetrics(nIndex:Integer):Integer; external 'GetSystemMetrics@user32.dll stdcall';
procedure InitializeSlideShow(Hwnd:Thandle; l,t,w,h:integer;Animate:boolean; Stretch:integer); external 'InitializeSlideShow@files:isslideshow.dll stdcall';
procedure DeinitializeSlideShow; external 'DeinitializeSlideShow@files:isslideshow.dll stdcall';
procedure ShowImage(ipath:PAnsiChar; Effect:integer); external 'ShowImage@files:isslideshow.dll stdcall';

procedure InitializeWizard();
begin
  BackgroundForm:= TForm.Create(nil);
  BackgroundForm.BorderStyle:= bsNone;
  BackgroundForm.Color:=clBlack;
  BackgroundForm.SetBounds(0, 0, GetSystemMetrics(0), GetSystemMetrics(1))
  BackgroundForm.Visible:=True;
  BackgroundForm.enabled:= false;
  PicList:=tstringlist.Create;
  ExtractTemporaryFile('Back.jpg');
  ExtractTemporaryFile('1.bmp');
  ExtractTemporaryFile('2.bmp');
  ExtractTemporaryFile('3.jpg');
  ExtractTemporaryFile('4.jpg');
  ExtractTemporaryFile('5.png');
  ExtractTemporaryFile('6.png');
  piclist.add(ExpandConstant('{tmp}') + '\1.bmp');
  piclist.add(ExpandConstant('{tmp}') + '\2.bmp');
  piclist.add(ExpandConstant('{tmp}') + '\3.jpg');
  piclist.add(ExpandConstant('{tmp}') + '\4.jpg');
  piclist.add(ExpandConstant('{tmp}') + '\5.png');
  piclist.add(ExpandConstant('{tmp}') + '\6.png');
  BackgroundForm.show;
  InitializeSlideShow(BackgroundForm.Handle, 0, 0, GetSystemMetrics(0), GetSystemMetrics(1), true, 1);
  ShowImage(ExpandConstant('{tmp}') + '\Back.jpg', 1);
end;

procedure OnTimer(HandleW, msg, idEvent, TimeSys: LongWord);
begin
CurrentPicture:=CurrentPicture+1;
  if CurrentPicture=piclist.count+1 then CurrentPicture:=1;
  ShowImage(piclist.strings[CurrentPicture - 1], 1);
end;

procedure CurPageChanged(CurPageID: Integer);
begin
  If CurPageID=wpInstalling then
   begin
   CurrentPicture:=1;
    with WizardForm do
     begin
      hide;
      MainPanel.Visible:=False;
      Bevel1.Visible:=False;
      setbounds(ScaleX(GetSystemMetrics(0)-420), ScaleY(GetSystemMetrics(1)-167), ScaleX(395), ScaleY(142));
      InnerNotebook.setbounds(ScaleX(10), ScaleY(10), ScaleX(370), InnerNotebook.height);
      StatusLabel.setbounds(ScaleX(0), ScaleY(0), InnerNotebook.Width, StatusLabel.height);
      FileNameLabel.setbounds(ScaleX(0), ScaleY(20), InnerNotebook.Width, FileNameLabel.height);
      ProgressGauge.Top:=ScaleY(40);
      ProgressGauge.Width:=InnerNotebook.Width;
      CancelButton.Left:=ScaleX(154);
      CancelButton.Top:=ScaleY(80);
      CancelButton.bringtofront;
      show;
     end;
    TimerID:=SetTimer(0, 0, 3000{как бэ время показа слайда}, WrapTimerProc(@OnTimer, 4));
   end;

if CurPageID=wpFinished then
  begin
    WizardForm.Visible:=False;
    WizardForm.setbounds((GetSystemMetrics(0)-WizardForm.Width) div 2, (GetSystemMetrics(1)-WizardForm.Height) div 2, ScaleX(502), ScaleY(392));
    WizardForm.Visible:=True;
    KillTimer(0, TimerID);
    showimage(ExpandConstant('{tmp}') + '\Back.jpg', 1)
  end;
end;

procedure DeinitializeSetup();
begin
 DeinitializeSlideShow;
 KillTimer(0, TimerID);
end;
 
Последнее редактирование:

ARS_23

R.I.P
Проверенный
K.I.S,
1. объедини свои сообщения - не надо писать несколько сообщений по 2 слова...[MOD="Gnom"]А как по твему побыстре набить 32 поста? Но ничего, мы видим все, и время от времени чистим откровенный флуд.[/MOD]
[ADMIN="YURSHAT"]Как, как, можно еще новости клепать, а в них флудить ;)[/ADMIN]
2. пример поправил, смотри предыдущую страницу
 
Последнее редактирование модератором:

MMR

Новичок
can you tell me how to add the bass.dll & botva2 code to any installer without giving me an error?
 

vint56

Ветеран
Проверенный
K.I.S
В BASS_Module мы добавили Welcomelabel2
BASS_OnOffBtn:= BtnCreate(WizardForm.Welcomelabel2.Handle, ScaleX(Left), ScaleY(Top), ScaleX(Width), ScaleY(Height), Image, ShadowWidth, True)
и поменяй координаты кнопки
BASS_CreateOnOffButton(ExpandConstant('{tmp}\MusicButton.png'), 150, 150, 36, 36, 4)
 

Edison007

Ветеран
Модератор
WinTB.dll http://rghost.ru/37839026 - последняя. Ничего больше не менял.
Исходник http://rghost.ru/private/37910020/9e...4a1d9b4102e1b4
Добавил в шапку :)

Добавлено через 20 минут
3 May 2012 - BASS 2.4.9 released
Adds improved and adjustable sample rate conversion quality, data and level retrieval from sample channels, support for buffered file & internet streams with CoreAudio codecs on OSX/iOS, UTF-8 device information on Windows, speaker assignment with panning/balance control on Windows Vista/7, support for ALSA subdevices on Linux.
 
Последнее редактирование:

GVS276

Старожил
Проверенный
ISVideo.dll v.1.5.0 - Библиотека воспроизводит музыку и видео
+ Добавлена поддержка Adobe Flash Player
+ Добавлена поддержка DX Video, то есть вы сможете воспроизводить видео через функцию DXVideoInit
+ Добавлена поддержка DX Music, то есть вы сможете воспроизводить музыку через процедуру DXMusicInit
+ Добавлена процедура воспроизведений .Wav файлов ISWaveInit
+ Добавлена функция CallBack для таймера (SetTimer)
Author by AVMan[HR][/HR]P.S.: Большой вес архива из за xvidcore.dll и xvidvfw.dll
Скачать с xvidcore.dll и xvidvfw.dll:
http://rghost.ru/38182479
Скачать без xvidcore.dll и xvidvfw.dll:
http://rghost.ru/38182627
 
Последнее редактирование:

Winst@n

Участник
Проверенный
AVMan,
Скачаю в коллекцию, и протестирую. Но может пора уже обойтись без этих длл? Ты не думал об этом,а пользоваться кодеками которые ставятся в систему.
 

GVS276

Старожил
Проверенный
Winst@n,
Ты не думал об этом
Я думал, но решил всё же оставить их в этой версии. Но я думаю в версии 1.6.0 уберу ISVideo и ISMusic, ведь всё же уже есть DXVideo и DXMusic и поддерживает достаточно много форматов.
 

Leserg

Участник
Здравствуйте. Вопрос по библиотеке ISVideo.dll. Я взял сценарий, который дается в примере к этой библиотеке. Допустим необходимо при нажатии на кнопку "Далее" закрыть окошко видео. Как это сделать?

Я добавил следующий код:
Код:
function NextButtonClick(CurPage: Integer): Boolean;
begin
 Result:=True;
if CurPage = wpWelcome then
begin
#ifdef DXVideo
 DXVideoClose(Handle);
#endif
 Result:=True;
end;
end;
Но скомпилировать сценарий не получается. Ошибка в строке "DXVideoClose(Handle);". Я пробовал использовать запись из процедуры DeinitializeSetup(). Там записано "DXVideoClose(WizardForm.Handle);", но тогда закрывается все окно инсталляции.

Следующий вопрос касается файлов xvidcore.dll и xvidvfw.dll. Если я хочу использовать только модуль DXVideo, мне нужно их включать в пакет инсталляции или нет?

Было бы не плохо более подробно расписать, как использовать команды этой библиотеки. Начинающий вряд ли разберется без посторонней помощи.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху