Go Back   FileForums > Game Backup > PC Games > PC Games - CD/DVD Conversions > Conversion Tutorials

Reply
 
Thread Tools Search this Thread Display Modes
  #1  
Old 24-04-2013, 01:48
Razor12911's Avatar
Razor12911 Razor12911 is offline
Noob
 
Join Date: Jul 2012
Location: South Africa
Posts: 3,753
Thanks: 2,189
Thanked 11,219 Times in 2,311 Posts
Razor12911 is on a distinguished road
you use this

function sndPlaySound(lpszSoundName: String; uFlags: cardinal):integer; external '[email protected] stdcall';

example

sndPlaySound(ExpandConstant('{tmp}\ButtonSoundSele cted.wav'),$0001);

use these on default buttons

OnClick:=;
OnDblClick:=;
OnMouseDown:=;

use these for custom buttons (botva2 buttons)

BtnSetEvent(,BtnClickEventID,WrapBtnCallback(sndPl aySound(ExpandConstant('{tmp}\ButtonSoundSelected. wav'),$0001);,1));
BtnSetEvent(,BtnMouseEnterEventID,WrapBtnCallback( sndPlaySound(ExpandConstant('{tmp}\ButtonSoundSele cted.wav'),$0001);,1));
Reply With Quote
Sponsored Links
  #2  
Old 24-04-2013, 12:18
Andre Jesus's Avatar
Andre Jesus Andre Jesus is offline
Registered User
 
Join Date: Jun 2012
Location: Brazil
Posts: 70
Thanks: 11
Thanked 0 Times in 0 Posts
Andre Jesus is on a distinguished road
Quote:
Originally Posted by Razor12911 View Post
you use this

function sndPlaySound(lpszSoundName: String; uFlags: cardinal):integer; external '[email protected] stdcall';

example

sndPlaySound(ExpandConstant('{tmp}\ButtonSoundSele cted.wav'),$0001);

use these on default buttons

OnClick:=;
OnDblClick:=;
OnMouseDown:=;

use these for custom buttons (botva2 buttons)

BtnSetEvent(,BtnClickEventID,WrapBtnCallback(sndPl aySound(ExpandConstant('{tmp}\ButtonSoundSelected. wav'),$0001);,1));
BtnSetEvent(,BtnMouseEnterEventID,WrapBtnCallback( sndPlaySound(ExpandConstant('{tmp}\ButtonSoundSele cted.wav'),$0001);,1));
Hi.
Can you please verify?

The error is:
Line 191:
Column 109:
comma (',') expected.

Code:
with WizardForm.NextButton do begin
hNextBtn:=BtnCreate(WizardForm.Handle,Left-8,Top-8,Width+10,Height+10,ExpandConstant('{tmp}\button.png'),18,False);
BtnSetEvent(hNextBtn,BtnClickEventID,WrapBtnCallback(@WizardFormBtnClick,1));
BtnSetFontColor(hNextBtn,$FFFFFF,$00FFFF,$0000FF,$000000);
BtnSetFont(hNextBtn,ButtonFont.Handle);
//The error is the line below.
BtnSetEvent(hNextBtn,BtnClickEventID,WrapBtnCallback(sndPlaySound(ExpandConstant('{tmp}\soundfx.wav'),$0001);,1));
BtnSetEvent(hNextBtn,BtnMouseEnterEventID,WrapBtnCallback(sndPlaySound(ExpandConstant('{tmp}\soundfx.wav'),$0001);,1));
Width:=0;
Height:=0;
end;
Reply With Quote
  #3  
Old 24-04-2013, 12:45
altef_4's Avatar
altef_4 altef_4 is offline
Registered User
 
Join Date: Mar 2012
Location: Ukraine
Posts: 361
Thanks: 248
Thanked 1,022 Times in 239 Posts
altef_4 is on a distinguished road
Quote:
Originally Posted by Andre Jesus View Post
Hi.
Can you please verify?

The error is:
Line 191:
Column 109:
comma (',') expected.

Code:
with WizardForm.NextButton do begin
hNextBtn:=BtnCreate(WizardForm.Handle,Left-8,Top-8,Width 10,Height 10,ExpandConstant('{tmp}\button.png'),18,False);
BtnSetEvent(hNextBtn,BtnClickEventID,WrapBtnCallback(@WizardFormBtnClick,1));
BtnSetFontColor(hNextBtn,$FFFFFF,$00FFFF,$0000FF,$000000);
BtnSetFont(hNextBtn,ButtonFont.Handle);
//The error is the line below.
BtnSetEvent(hNextBtn,BtnClickEventID,WrapBtnCallback(sndPlaySound(ExpandConstant('{tmp}\soundfx.wav'),$0001);,1));
BtnSetEvent(hNextBtn,BtnMouseEnterEventID,WrapBtnCallback(sndPlaySound(ExpandConstant('{tmp}\soundfx.wav'),$0001);,1));
Width:=0;
Height:=0;
end;
i know, this question not for me, but part of code with error is totally wrong,
wrapbtncallback(@function_which_will_be_executed_on_event,1),

BtnSetEvent(hNextBtn,BtnClickEventID,WrapBtnCallba ck(@WizardFormBtnClick,1));BtnSetEvent(hNextBtn,Bt nMouseEnterEventID,WrapBtnCallback(@WizardFormBtnO nMouseEnter,1));
Reply With Quote
  #4  
Old 25-04-2013, 10:59
Andre Jesus's Avatar
Andre Jesus Andre Jesus is offline
Registered User
 
Join Date: Jun 2012
Location: Brazil
Posts: 70
Thanks: 11
Thanked 0 Times in 0 Posts
Andre Jesus is on a distinguished road
Quote:
Originally Posted by altef_4 View Post
i know, this question not for me, but part of code with error is totally wrong,
wrapbtncallback(@function_which_will_be_executed_on_event,1),

BtnSetEvent(hNextBtn,BtnClickEventID,WrapBtnCallba ck(@WizardFormBtnClick,1));BtnSetEvent(hNextBtn,Bt nMouseEnterEventID,WrapBtnCallback(@WizardFormBtnO nMouseEnter,1));
Hello again.
Now appear other error: WizardFormBtnOnMouseEnter.

This my script.
setup.zip

Thanks in advance.
Reply With Quote
  #5  
Old 25-04-2013, 13:58
altef_4's Avatar
altef_4 altef_4 is offline
Registered User
 
Join Date: Mar 2012
Location: Ukraine
Posts: 361
Thanks: 248
Thanked 1,022 Times in 239 Posts
altef_4 is on a distinguished road
Quote:
Originally Posted by Andre Jesus View Post
Hello again.
Now appear other error: WizardFormBtnOnMouseEnter.

This my script.
Attachment 6130

Thanks in advance.
Code:
[Setup]
AppName=setup                  
AppVerName=setup
OutputDir=.
DefaultDirName={pf}\setup
 
[Files]
Source: Data\*; DestDir: "{tmp}"; Flags: dontcopy

[Code]
var
Btn:TButton;
Font:TFont;
hNextBtn:HWND;


const
FR_PRIVATE= $10;
BtnClickEventID= 1;
BtnMouseEnterEventID = 2;

type
Tfnlabel=procedure(h,msg,idevent,dwTime:longword);
HSTREAM = DWORD;
TBtnEventProc = procedure (h:HWND);

function MessageBox(hWnd: Integer; lpText, lpCaption: String; uType: Cardinal): Integer;external '[email protected] stdcall';
procedure SetupLoadSkin(lpszPath: string; lpszIniFileName: string); external 'LoadSkin@files:ISSkin.dll stdcall setuponly';
procedure SetupUnloadSkin; external 'UnloadSkin@files:ISSkin.dll stdcall setuponly';
procedure ShowSplashScreen(p1:HWND;p2:AnsiString;p3,p4,p5,p6,p7:integer;p8:boolean;p9:Cardinal;p10 :integer); external 'ShowSplashScreen@files:isgsg.dll stdcall delayload';
function ShowWindow(hWnd: HWND; nCmdShow: Integer): BOOL; external '[email protected] stdcall';
function SetTimer(hWnd: longword; nIDEvent, uElapse: longword; lpTimerFunc: longword): longword;external '[email protected] stdcall';
function KillTimer(hWnd, nIDEvent: LongWord): LongWord;external 'KillTimer@user32 stdcall delayload';
function fnlCallback(callback:Tfnlabel; paramcount:integer):longword;external 'wrapcallback@files:innocallback.dll stdcall';
function ImgLoad(Wnd :HWND; FileName :PAnsiChar; Left, Top, Width, Height :integer; Stretch, IsBkg :boolean) :Longint; external 'ImgLoad@{tmp}\botva2.dll stdcall delayload';
procedure ImgSetVisibility(img :Longint; Visible :boolean); external 'ImgSetVisibility@{tmp}\botva2.dll stdcall delayload';
procedure BtnGetPosition(h:HWND; var Left, Top, Width, Height: integer);  external 'BtnGetPosition@{tmp}\botva2.dll stdcall delayload';
procedure ImgApplyChanges(h:HWND); external 'ImgApplyChanges@{tmp}\botva2.dll stdcall delayload';
procedure gdipShutdown; external 'gdipShutdown@{tmp}\botva2.dll stdcall delayload';
procedure BtnSetFontColor(h :HWND; NormalFontColor, FocusedFontColor, PressedFontColor, DisabledFontColor :Cardinal); external 'BtnSetFontColor@{tmp}\botva2.dll stdcall delayload';
function WrapBtnCallback(Callback: TBtnEventProc; ParamCount: Integer): Longword; external 'wrapcallback@{tmp}\innocallback.dll stdcall delayload';
function BtnCreate(hParent:HWND; Left,Top,Width,Height:integer; FileName:PAnsiChar; ShadowWidth:integer; IsCheckBtn:boolean):HWND;  external 'BtnCreate@{tmp}\botva2.dll stdcall delayload';
procedure BtnSetEvent(h:HWND; EventID:integer; Event:Longword); external 'BtnSetEvent@{tmp}\botva2.dll stdcall delayload';
procedure BtnSetText(h :HWND; Text :PAnsiChar); external 'BtnSetText@{tmp}\botva2.dll stdcall delayload';
procedure BtnSetVisibility(h :HWND; Value :boolean); external 'BtnSetVisibility@{tmp}\botva2.dll stdcall delayload';
procedure BtnSetFont(h :HWND; Font :Cardinal); external 'BtnSetFont@{tmp}\botva2.dll stdcall delayload';

function sndPlaySound(lpszSoundName: String; uFlags: cardinal):integer; external '[email protected] stdcall';

procedure WizardFormBtnClick(hBtn:HWND); begin
sndPlaysound(ExpandConstant('{tmp}\soundfx.wav'),$0001);
case hBtn of
hNextBtn: Btn:=WizardForm.NextButton;
end;
Btn.OnClick(Btn);
end;

procedure WizardFormBtnOnMouseEnter(hBtn:HWND); begin
sndPlaysound(ExpandConstant('{tmp}\soundfx.wav'),$0001);
end;

function InitializeSetup(): Boolean; begin
ExtractTemporaryFile('botva2.dll');
ExtractTemporaryFile('button.png');
ExtractTemporaryFile('BASS.dll');
ExtractTemporaryFile('CallbackCtrl.dll');
ExtractTemporaryFile('soundfx.wav');
Result := True;
end;

procedure InitializeWizard(); begin
with WizardForm do begin
Position:=poScreenCenter; 
InnerNotebook.Hide;
OuterNotebook.Hide;
Bevel.Hide;
BorderStyle:= bsDialog;
ClientWidth:=600 
ClientHeight:=400
CancelButton.SetBounds(510,365,70,20);
BackButton.SetBounds(350,365,70,20);
NextButton.SetBounds(430,365,70,20);
end

with WizardForm.NextButton do begin
hNextBtn:=BtnCreate(WizardForm.Handle,Left-8,Top-8,Width+10,Height+10,ExpandConstant('{tmp}\button.png'),18,False);
BtnSetEvent(hNextBtn,BtnClickEventID,WrapBtnCallback(@WizardFormBtnClick,1));
BtnSetFontColor(hNextBtn,$ffcc33,$0000FF,$000000,$000000);
BtnSetEvent(hNextBtn,BtnClickEventID,WrapBtnCallback(@WizardFormBtnClick,1));
BtnSetEvent(hNextBtn,BtnMouseEnterEventID,WrapBtnCallback(@WizardFormBtnOnMouseEnter,1));
Width:=0;
Height:=0;
end;


//h:=WizardForm.Handle;
ImgApplyChanges(WizardForm.Handle);
end;


procedure DeinitializeSetup(); begin
BASS_Free;
ShowWindow(StrToInt(ExpandConstant('{wizardhwnd}')), SW_HIDE);
SetupUnloadSkin;
gdipShutdown;
end;

procedure CurPageChanged(CurPageID: Integer); begin
ImgApplyChanges(WizardForm.Handle);
BtnSetText(hNextBtn,WizardForm.NextButton.Caption);



if (CurPageID = wpFinished) then begin 
BtnSetVisibility(hNextBtn,True);
end;

if (CurPageID = wpInstalling) then begin 
BtnSetVisibility(hNextBtn,False);
end;
end;
Reply With Quote
  #6  
Old 25-04-2013, 18:13
Andre Jesus's Avatar
Andre Jesus Andre Jesus is offline
Registered User
 
Join Date: Jun 2012
Location: Brazil
Posts: 70
Thanks: 11
Thanked 0 Times in 0 Posts
Andre Jesus is on a distinguished road
Quote:
Originally Posted by altef_4 View Post
Code:
[Setup]
AppName=setup                  
AppVerName=setup
OutputDir=.
DefaultDirName={pf}\setup
 
[Files]
Source: Data\*; DestDir: "{tmp}"; Flags: dontcopy

[Code]
var
Btn:TButton;
Font:TFont;
hNextBtn:HWND;


const
FR_PRIVATE= $10;
BtnClickEventID= 1;
BtnMouseEnterEventID = 2;

type
Tfnlabel=procedure(h,msg,idevent,dwTime:longword);
HSTREAM = DWORD;
TBtnEventProc = procedure (h:HWND);

function MessageBox(hWnd: Integer; lpText, lpCaption: String; uType: Cardinal): Integer;external '[email protected] stdcall';
procedure SetupLoadSkin(lpszPath: string; lpszIniFileName: string); external 'LoadSkin@files:ISSkin.dll stdcall setuponly';
procedure SetupUnloadSkin; external 'UnloadSkin@files:ISSkin.dll stdcall setuponly';
procedure ShowSplashScreen(p1:HWND;p2:AnsiString;p3,p4,p5,p6,p7:integer;p8:boolean;p9:Cardinal;p10 :integer); external 'ShowSplashScreen@files:isgsg.dll stdcall delayload';
function ShowWindow(hWnd: HWND; nCmdShow: Integer): BOOL; external '[email protected] stdcall';
function SetTimer(hWnd: longword; nIDEvent, uElapse: longword; lpTimerFunc: longword): longword;external '[email protected] stdcall';
function KillTimer(hWnd, nIDEvent: LongWord): LongWord;external 'KillTimer@user32 stdcall delayload';
function fnlCallback(callback:Tfnlabel; paramcount:integer):longword;external 'wrapcallback@files:innocallback.dll stdcall';
function ImgLoad(Wnd :HWND; FileName :PAnsiChar; Left, Top, Width, Height :integer; Stretch, IsBkg :boolean) :Longint; external 'ImgLoad@{tmp}\botva2.dll stdcall delayload';
procedure ImgSetVisibility(img :Longint; Visible :boolean); external 'ImgSetVisibility@{tmp}\botva2.dll stdcall delayload';
procedure BtnGetPosition(h:HWND; var Left, Top, Width, Height: integer);  external 'BtnGetPosition@{tmp}\botva2.dll stdcall delayload';
procedure ImgApplyChanges(h:HWND); external 'ImgApplyChanges@{tmp}\botva2.dll stdcall delayload';
procedure gdipShutdown; external 'gdipShutdown@{tmp}\botva2.dll stdcall delayload';
procedure BtnSetFontColor(h :HWND; NormalFontColor, FocusedFontColor, PressedFontColor, DisabledFontColor :Cardinal); external 'BtnSetFontColor@{tmp}\botva2.dll stdcall delayload';
function WrapBtnCallback(Callback: TBtnEventProc; ParamCount: Integer): Longword; external 'wrapcallback@{tmp}\innocallback.dll stdcall delayload';
function BtnCreate(hParent:HWND; Left,Top,Width,Height:integer; FileName:PAnsiChar; ShadowWidth:integer; IsCheckBtn:boolean):HWND;  external 'BtnCreate@{tmp}\botva2.dll stdcall delayload';
procedure BtnSetEvent(h:HWND; EventID:integer; Event:Longword); external 'BtnSetEvent@{tmp}\botva2.dll stdcall delayload';
procedure BtnSetText(h :HWND; Text :PAnsiChar); external 'BtnSetText@{tmp}\botva2.dll stdcall delayload';
procedure BtnSetVisibility(h :HWND; Value :boolean); external 'BtnSetVisibility@{tmp}\botva2.dll stdcall delayload';
procedure BtnSetFont(h :HWND; Font :Cardinal); external 'BtnSetFont@{tmp}\botva2.dll stdcall delayload';

function sndPlaySound(lpszSoundName: String; uFlags: cardinal):integer; external '[email protected] stdcall';

procedure WizardFormBtnClick(hBtn:HWND); begin
sndPlaysound(ExpandConstant('{tmp}\soundfx.wav'),$0001);
case hBtn of
hNextBtn: Btn:=WizardForm.NextButton;
end;
Btn.OnClick(Btn);
end;

procedure WizardFormBtnOnMouseEnter(hBtn:HWND); begin
sndPlaysound(ExpandConstant('{tmp}\soundfx.wav'),$0001);
end;

function InitializeSetup(): Boolean; begin
ExtractTemporaryFile('botva2.dll');
ExtractTemporaryFile('button.png');
ExtractTemporaryFile('BASS.dll');
ExtractTemporaryFile('CallbackCtrl.dll');
ExtractTemporaryFile('soundfx.wav');
Result := True;
end;

procedure InitializeWizard(); begin
with WizardForm do begin
Position:=poScreenCenter; 
InnerNotebook.Hide;
OuterNotebook.Hide;
Bevel.Hide;
BorderStyle:= bsDialog;
ClientWidth:=600 
ClientHeight:=400
CancelButton.SetBounds(510,365,70,20);
BackButton.SetBounds(350,365,70,20);
NextButton.SetBounds(430,365,70,20);
end

with WizardForm.NextButton do begin
hNextBtn:=BtnCreate(WizardForm.Handle,Left-8,Top-8,Width+10,Height+10,ExpandConstant('{tmp}\button.png'),18,False);
BtnSetEvent(hNextBtn,BtnClickEventID,WrapBtnCallback(@WizardFormBtnClick,1));
BtnSetFontColor(hNextBtn,$ffcc33,$0000FF,$000000,$000000);
BtnSetEvent(hNextBtn,BtnClickEventID,WrapBtnCallback(@WizardFormBtnClick,1));
BtnSetEvent(hNextBtn,BtnMouseEnterEventID,WrapBtnCallback(@WizardFormBtnOnMouseEnter,1));
Width:=0;
Height:=0;
end;


//h:=WizardForm.Handle;
ImgApplyChanges(WizardForm.Handle);
end;


procedure DeinitializeSetup(); begin
BASS_Free;
ShowWindow(StrToInt(ExpandConstant('{wizardhwnd}')), SW_HIDE);
SetupUnloadSkin;
gdipShutdown;
end;

procedure CurPageChanged(CurPageID: Integer); begin
ImgApplyChanges(WizardForm.Handle);
BtnSetText(hNextBtn,WizardForm.NextButton.Caption);



if (CurPageID = wpFinished) then begin 
BtnSetVisibility(hNextBtn,True);
end;

if (CurPageID = wpInstalling) then begin 
BtnSetVisibility(hNextBtn,False);
end;
end;
altef_4.

Now the sond of the button is ok, but the filme .wav don磘 work.

setup.7z

If you can help me, i will be thankful.
Reply With Quote
  #7  
Old 25-04-2013, 22:50
altef_4's Avatar
altef_4 altef_4 is offline
Registered User
 
Join Date: Mar 2012
Location: Ukraine
Posts: 361
Thanks: 248
Thanked 1,022 Times in 239 Posts
altef_4 is on a distinguished road
Quote:
Originally Posted by Andre Jesus View Post
altef_4.

Now the sond of the button is ok, but the filme .wav don´t work.

Attachment 6135

If you can help me, i will be thankful.
what filme.wav, i can't find it in your script, or you say about incorrect sound when you click on nextbtn, if yes and you use ansi inno then find this
sndPlaySoundW
and change to this
sndPlaySoundA
if i'm understand you wrong, then explain whats wrong
Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
INNO TROUBLESHOOT - Tutorials and Answers about INNO Setup REV0 Conversion Tutorials 129 21-05-2021 05:51
INNO TUTORIAL - Using Unicode and ANSI Versions of INNO Setup REV0 Conversion Tutorials 51 26-03-2015 06:57
Frequently Asked Questions Joe Forster/STA PC Games - Frequently Asked Questions 0 29-11-2005 09:48



All times are GMT -7. The time now is 05:07.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2026, vBulletin Solutions Inc.
FileForums @ https://fileforums.com