mIRC Home    About    Download    Register    News    Help

Print Thread
Exit mIRC ~ DCX.DLL not work #237336 26/04/12 07:35 PM
Joined: Apr 2012
Posts: 48
D
DEATHJ0KER Offline OP
Ameglian cow
OP Offline
Ameglian cow
D
Joined: Apr 2012
Posts: 48
A problem arises when confirmation is enabled to quit mirc...
If the question "are you sure you want to quit mirc?" this happens:

If you choose the option "Yes" (everything works fine why close mirc)

If you choose the "NO" option (the error) The DCX.DLL is is broken and no trace remains in memory as it is active but lacks features that were previously active.
Coming back to mirc becomes necessary to reactivate the dcx with a command :

menu menubar {
wake dcx.dll: { .timer 1 0 /dll -u dcx.dll | .timer 2 0 xpopup_menu }
}

You can create an event close mirc, which allows you to operate the alias after deciding not to quit mirc?





Re: Exit mIRC ~ DCX.DLL not work [Re: DEATHJ0KER] #237340 26/04/12 11:21 PM
Joined: Oct 2003
Posts: 3,918
A
argv0 Offline
Hoopy frood
Offline
Hoopy frood
A
Joined: Oct 2003
Posts: 3,918
Looks like a bug in dcx. It's allowing itself to be unloaded, which means you have to re-initialize it.

I have dlls that stay persistent in memory when hitting "No" to the exit confirmation dialog, so this isn't a bug in mIRC.

As a sidenote, you should always be testing if dcx is active and loading it if it is not. This should be at the top of all of your dcx related commands. DCX can be unloaded for a number of reasons, and your script should be able to handle that and recover. You shouldn't have some hacky popup that reinitializes it manually. Instead, add something like the following to your script:

Code:
alias load_dcx {
  if ($dll(dcx.dll)) return
  dll dcx.dll LoadDCX | ; replace this with the line to initialize dcx
}


And use /load_dcx prior to any popup/dialog creation commands.


- argv[0] on EFnet #mIRC
- "Life is a pointer to an integer without a cast"
Re: Exit mIRC ~ DCX.DLL not work [Re: argv0] #237352 27/04/12 11:26 PM
Joined: Apr 2012
Posts: 48
D
DEATHJ0KER Offline OP
Ameglian cow
OP Offline
Ameglian cow
D
Joined: Apr 2012
Posts: 48
The fault only occurs using popups, but the error does not occur with respect to other functions of the dcx.dll
is a problem which affects content in dcx_tool.mrc aliases provided in support...type xpopup alias or not this I do not know...
in any case the alias you 've suggested returns me this error

;==============================================================;
alias load_dcx {
if ($dll(dlls\dcx.dll)) return
dll dlls\dcx.dll LoadDCX
}
-
* /dll: no such routine 'LoadDCX' (line 31, menu.vxd)
-


for eventual verification of placed the problem of link plugin

Thanks argv0

DCX xPopups

Re: Exit mIRC ~ DCX.DLL not work [Re: DEATHJ0KER] #237367 28/04/12 11:00 AM
Joined: Apr 2012
Posts: 48
D
DEATHJ0KER Offline OP
Ameglian cow
OP Offline
Ameglian cow
D
Joined: Apr 2012
Posts: 48
Clicking Exit, the client should just propose the dialog without taking action towards any function, but this is not the case

to evade the dcx dll, you can create an event on "exit" that uses the alias?
or you can force the close behavior so that it does not propose the choice though in mirc options is enabled this function?

alias load_dcx {
if ($dll(dcx.dll)) return
dll dcx.dll LoadDCX | ; replace this with the line to initialize dcx
}



Thanks argv0


Unloading a DLL

You can unload a loaded DLL by using the -u switch:



/dll -u <filename>



You can browse the list of loaded DLLs by using:



$dll(N/filename) returns the Nth loaded DLL



mIRC will automatically unload a DLL if it is not used for ten minutes, or when mIRC exits.



You can also define an UnloadDll() routine in your DLL which mIRC will call when unloading a DLL to allow it to clean up.



int __stdcall UnloadDll(int mTimeout);



The mTimeout value can be:



0 UnloadDll() is being called due to a DLL being unloaded with /dll -u.



1 UnloadDll() is being called due to a DLL not being used for ten minutes. The UnloadDll() routine can return 0 to keep the DLL loaded, or 1 to allow it to be unloaded.



2 UnloadDll() is being called due to a DLL being unloaded when mIRC exits.

Last edited by DEATHJ0KER; 28/04/12 12:01 PM.
Re: Exit mIRC ~ DCX.DLL not work [Re: DEATHJ0KER] #237409 02/05/12 11:46 AM
Joined: Apr 2012
Posts: 48
D
DEATHJ0KER Offline OP
Ameglian cow
OP Offline
Ameglian cow
D
Joined: Apr 2012
Posts: 48
Originally Posted By: DEATHJ0KER
Clicking Exit, the client should just propose the dialog without taking action towards any function, but this is not the case

to evade the dcx dll, you can create an event on "exit" that uses the alias?
or you can force the close behavior so that it does not propose the choice though in mirc options is enabled this function?

alias load_dcx {
if ($dll(dcx.dll)) return
dll dcx.dll LoadDCX | ; replace this with the line to initialize dcx
}



Thanks argv0


Unloading a DLL

You can unload a loaded DLL by using the -u switch:
/dll -u <filename>
You can browse the list of loaded DLLs by using:

$dll(N/filename) returns the Nth loaded DLL

mIRC will automatically unload a DLL if it is not used for ten minutes, or when mIRC exits.

You can also define an UnloadDll() routine in your DLL which mIRC will call when unloading a DLL to allow it to clean up.

int __stdcall UnloadDll(int mTimeout);

The mTimeout value can be:

0 UnloadDll() is being called due to a DLL being unloaded with /dll -u.

1 UnloadDll() is being called due to a DLL not being used for ten minutes. The UnloadDll() routine can return 0 to keep the DLL loaded, or 1 to allow it to be unloaded.

2 UnloadDll() is being called due to a DLL being unloaded when mIRC exits.



Code:
/*!
 * \brief mIRC DLL Load Function
 *
 * This function is called when the DLL is loaded.
 *
 * It initializes all what the DLL needs and links mIRC received information to the mIRCDLL \b mIRCLink
 * data structure to be used later in various functions in the DLL.
 *
 * \param load mIRC Load Structure Pointer
 */

void WINAPI LoadDll( LOADINFO * load ) {

  mIRCLink.m_hFileMap = CreateFileMapping( INVALID_HANDLE_VALUE, 0, PAGE_READWRITE, 0, 4096, "mIRC" );     
  mIRCLink.m_pData = (LPSTR) MapViewOfFile( mIRCLink.m_hFileMap, FILE_MAP_ALL_ACCESS, 0, 0, 0 );
  mIRCLink.m_mIRCHWND = load->mHwnd;

  g_OldmIRCWindowProc = (WNDPROC) SetWindowLong( mIRCLink.m_mIRCHWND, GWL_WNDPROC, (LONG) mIRCSubClassWinProc );

  WNDCLASS wc;
  ZeroMemory( &wc, sizeof( WNDCLASS ) );
	wc.hInstance = GetModuleHandle( NULL );
  wc.lpszClassName = XPOPUPMENUCLASS;
  wc.lpfnWndProc = XPopupMenu::XPopupWinProc;
	RegisterClass( &wc );

	mhMenuOwner = CreateWindow( XPOPUPMENUCLASS, NULL, 0, 0, 0, 0, 0, 0, 0, GetModuleHandle(NULL), 0 );

  g_mIRCPopupMenu = new XPopupMenu( NULL );
  g_mIRCMenuBar = new XPopupMenu( GetMenu( mIRCLink.m_mIRCHWND ) );
}

/*!
 * \brief mIRC DLL UnLoad Function
 *
 * This function is called when the DLL is unloaded.
 *
 * It initializes all what the DLL needs and links mIRC received information to the mIRCDLL \b mIRCLink
 * data structure to be used later in various functions in the DLL.
 *
 * \param timeout Unload trigger indicator (0 = timeout unload after 10 min - 1 = exit or /dll -u)
 */

int WINAPI UnloadDll( int timeout ) {

  // DLL unloaded because mIRC exits or /dll -u used
  if ( timeout == 0 ) {

    SetWindowLong( mIRCLink.m_mIRCHWND, GWL_WNDPROC, (LONG) g_OldmIRCWindowProc );

    g_XPopupMenuManager.clearMenus( );

    delete g_mIRCPopupMenu;
    g_mIRCMenuBar->cleanMenu( GetMenu( mIRCLink.m_mIRCHWND ) );
    delete g_mIRCMenuBar;

    if ( mhMenuOwner != NULL )
      DestroyWindow( mhMenuOwner );

    UnregisterClass( XPOPUPMENUCLASS, GetModuleHandle( NULL ) );

    UnmapViewOfFile( mIRCLink.m_pData );
    CloseHandle( mIRCLink.m_hFileMap );

    return 1;
  }
  // keep DLL in memory
  else 
    return 0;
}

/*!
 * \brief blah
 *
 * blah
 */

Re: Exit mIRC ~ DCX.DLL not work [Re: DEATHJ0KER] #237410 02/05/12 11:49 AM
Joined: Apr 2012
Posts: 48
D
DEATHJ0KER Offline OP
Ameglian cow
OP Offline
Ameglian cow
D
Joined: Apr 2012
Posts: 48
Originally Posted By: DEATHJ0KER
Originally Posted By: DEATHJ0KER
Clicking Exit, the client should just propose the dialog without taking action towards any function, but this is not the case of xpopup

Unloading a DLL

You can unload a loaded DLL by using the -u switch:
/dll -u <filename>
You can browse the list of loaded DLLs by using:

$dll(N/filename) returns the Nth loaded DLL

mIRC will automatically unload a DLL if it is not used for ten minutes, or when mIRC exits.

You can also define an UnloadDll() routine in your DLL which mIRC will call when unloading a DLL to allow it to clean up.

int __stdcall UnloadDll(int mTimeout);

The mTimeout value can be:

0 UnloadDll() is being called due to a DLL being unloaded with /dll -u.

1 UnloadDll() is being called due to a DLL not being used for ten minutes. The UnloadDll() routine can return 0 to keep the DLL loaded, or 1 to allow it to be unloaded.

2 UnloadDll() is being called due to a DLL being unloaded when mIRC exits.



Code:
/*!
 * \brief mIRC DLL Load Function
 *
 * This function is called when the DLL is loaded.
 *
 * It initializes all what the DLL needs and links mIRC received information to the mIRCDLL \b mIRCLink
 * data structure to be used later in various functions in the DLL.
 *
 * \param load mIRC Load Structure Pointer
 */

void WINAPI LoadDll( LOADINFO * load ) {

  mIRCLink.m_hFileMap = CreateFileMapping( INVALID_HANDLE_VALUE, 0, PAGE_READWRITE, 0, 4096, "mIRC" );     
  mIRCLink.m_pData = (LPSTR) MapViewOfFile( mIRCLink.m_hFileMap, FILE_MAP_ALL_ACCESS, 0, 0, 0 );
  mIRCLink.m_mIRCHWND = load->mHwnd;

  g_OldmIRCWindowProc = (WNDPROC) SetWindowLong( mIRCLink.m_mIRCHWND, GWL_WNDPROC, (LONG) mIRCSubClassWinProc );

  WNDCLASS wc;
  ZeroMemory( &wc, sizeof( WNDCLASS ) );
	wc.hInstance = GetModuleHandle( NULL );
  wc.lpszClassName = XPOPUPMENUCLASS;
  wc.lpfnWndProc = XPopupMenu::XPopupWinProc;
	RegisterClass( &wc );

	mhMenuOwner = CreateWindow( XPOPUPMENUCLASS, NULL, 0, 0, 0, 0, 0, 0, 0, GetModuleHandle(NULL), 0 );

  g_mIRCPopupMenu = new XPopupMenu( NULL );
  g_mIRCMenuBar = new XPopupMenu( GetMenu( mIRCLink.m_mIRCHWND ) );
}

/*!
 * \brief mIRC DLL UnLoad Function
 *
 * This function is called when the DLL is unloaded.
 *
 * It initializes all what the DLL needs and links mIRC received information to the mIRCDLL \b mIRCLink
 * data structure to be used later in various functions in the DLL.
 *
 * \param timeout Unload trigger indicator (0 = timeout unload after 10 min - 1 = exit or /dll -u)
 */

int WINAPI UnloadDll( int timeout ) {

  // DLL unloaded because mIRC exits or /dll -u used
  if ( timeout == 0 ) {

    SetWindowLong( mIRCLink.m_mIRCHWND, GWL_WNDPROC, (LONG) g_OldmIRCWindowProc );

    g_XPopupMenuManager.clearMenus( );

    delete g_mIRCPopupMenu;
    g_mIRCMenuBar->cleanMenu( GetMenu( mIRCLink.m_mIRCHWND ) );
    delete g_mIRCMenuBar;

    if ( mhMenuOwner != NULL )
      DestroyWindow( mhMenuOwner );

    UnregisterClass( XPOPUPMENUCLASS, GetModuleHandle( NULL ) );

    UnmapViewOfFile( mIRCLink.m_pData );
    CloseHandle( mIRCLink.m_hFileMap );

    return 1;
  }
  // keep DLL in memory
  else 
    return 0;
}

/*!
 * \brief blah
 *
 * blah
 */

Re: Exit mIRC ~ DCX.DLL not work [Re: DEATHJ0KER] #237411 02/05/12 11:52 AM
Joined: Apr 2012
Posts: 48
D
DEATHJ0KER Offline OP
Ameglian cow
OP Offline
Ameglian cow
D
Joined: Apr 2012
Posts: 48
Originally Posted By: DEATHJ0KER
The fault only occurs using popups, but the error does not occur with respect to other functions of the dcx.dll
is a problem which affects content in dcx_tool.mrc aliases provided in support...type xpopup alias or not this I do not know...

;==============================================================;


for eventual verification of placed the problem of link plugin

Thanks argv0

DCX xPopups

Re: Exit mIRC ~ DCX.DLL not work [Re: DEATHJ0KER] #237752 31/05/12 07:28 PM
Joined: Apr 2012
Posts: 48
D
DEATHJ0KER Offline OP
Ameglian cow
OP Offline
Ameglian cow
D
Joined: Apr 2012
Posts: 48
of course the dcx dll presents this bug, but adopting a dll to gestiure closing party which mirc wnd.dll, this problem does not occur

Code:
[script]
on 1:START:{
  wndll hook $window(-2).hwnd
  unset %vxd.close*
}
alias wndll { return $dll(dll\wnd.dll,$1,$2-) }


but according to another location that does not imply the use of dlls to handle closing mirc, you can re-enable pop-up colors with the following commands

Code:
mpopup mirc 1
      mpopup mircbar 1

my question is by itself ...
by clicking on the close button and mirc, if the exit confirmation option is enabled, there is a method to tell mirc to close and reactivate the menubar if you choose to cancel the closing of mirc?
can I help the event on *:exit:{ ??? confused


Re: Exit mIRC ~ DCX.DLL not work [Re: DEATHJ0KER] #237753 31/05/12 09:14 PM
Joined: Oct 2003
Posts: 3,918
A
argv0 Offline
Hoopy frood
Offline
Hoopy frood
A
Joined: Oct 2003
Posts: 3,918
There is no event for a cancelled exit confirmation.


- argv[0] on EFnet #mIRC
- "Life is a pointer to an integer without a cast"
Re: Exit mIRC ~ DCX.DLL not work [Re: argv0] #237761 01/06/12 06:54 PM
Joined: Apr 2012
Posts: 48
D
DEATHJ0KER Offline OP
Ameglian cow
OP Offline
Ameglian cow
D
Joined: Apr 2012
Posts: 48
Thanks argv0, I will opt for the utilities solution using wnd.dll to fix the bug of dcx.dll.

my script is a puzzle of dll LoL

Re: Exit mIRC ~ DCX.DLL not work [Re: DEATHJ0KER] #237856 08/06/12 10:11 PM
Joined: Apr 2012
Posts: 48
D
DEATHJ0KER Offline OP
Ameglian cow
OP Offline
Ameglian cow
D
Joined: Apr 2012
Posts: 48
with wnd, DLLs, i must disable the option closing, and that is what I want to avoid...because the problem reoccurs again
Sorry if I insist on this, but when I want to get a function I until not working crazy

can I simulate a click event in the command status popups, channel, query windows, to activate the alias when the menu pops up?

---> event on 1:rclick:*:#:{

can not find the correct syntax to activate it in the various menus
but above all it is possible?

Last edited by DEATHJ0KER; 08/06/12 10:58 PM.
Re: Exit mIRC ~ DCX.DLL not work [Re: DEATHJ0KER] #237857 08/06/12 11:04 PM
Joined: Oct 2003
Posts: 3,918
A
argv0 Offline
Hoopy frood
Offline
Hoopy frood
A
Joined: Oct 2003
Posts: 3,918
If you want code to execute when a popup is loaded you can add an identifier to a menu item like:

Code:
menu menubar {
  $didrun:noop
}


The above will execute $didrun everytime the menubar menu is rendered on screen.

As for simulating the event, you can perhaps simulate the menubar menu with COM, but you would need a DLL for the others, ironically. You can't do it with mIRC alone.


- argv[0] on EFnet #mIRC
- "Life is a pointer to an integer without a cast"
Re: Exit mIRC ~ DCX.DLL not work [Re: argv0] #237859 08/06/12 11:44 PM
Joined: Apr 2012
Posts: 48
D
DEATHJ0KER Offline OP
Ameglian cow
OP Offline
Ameglian cow
D
Joined: Apr 2012
Posts: 48
tnx argv0 I was reading through the help of mirc and actually I can't find a solution even though there are many identifiers
the problem only occurs with the syntax of my code as it activates the menubar by dcx dll using xpopups.dll in dcx
do a practical example invoke the popup using script alias (This problem does not occur) xpopups converter...alias menupath by flobse quakenet


Code:

menu Status {
  $status-menu($1-)
} 

alias status-menu {
  if ($active != Status Window) { return } 
  var %MenuName status-menu
  if ($xpopup(%MenuName).ismenu) { xpopup -d %MenuName }
  xpopup -c %MenuName %stile
  if (%stile == custom) { xpopup -b %menuName %cust }
  xpopup -p %MenuName %background %iconbox %checkbox %disablecheckbox %disabledselected %disabledtext %selecttext %selectbox %separator %menustext %selectedtext
  xpopup -x %MenuName +dp
  xpopup -R %MenuName +a %chiaro
  xpopup -i %MenuName +a 184 $mircdirgfx\icons\VxD.icl
  xpopup -i %MenuName +a 280 $mircdirgfx\icons\VxD.icl
  xpopup -i %MenuName +a 247 $mircdirgfx\icons\VxD.icl
  xpopup -i %MenuName +a 183 $mircdirgfx\icons\VxD.icl
  xpopup -i %MenuName +a 251 $mircdirgfx\icons\VxD.icl
  xpopup -i %MenuName +a 102 $mircdirgfx\icons\VxD.icl
  xpopup -i %MenuName +a 82 $mircdirgfx\icons\VxD.icl
  xpopup -i %MenuName +a 119 $mircdirgfx\icons\VxD.icl
  xpopup -i %MenuName +a 146 $mircdirgfx\icons\VxD.icl
  xpopup -i %MenuName +a 18 $mircdirgfx\icons\VxD.icl
  xpopup -i %MenuName +a 194 $mircdirgfx\icons\VxD.icl
  xpopup -i %MenuName +a 157 $mircdirgfx\icons\VxD.icl
  xpopup -i %MenuName +a 158 $mircdirgfx\icons\VxD.icl
  xpopup -i %MenuName +a 121 $mircdirgfx\icons\VxD.icl
  xpopup -i %MenuName +a 190 $mircdirgfx\icons\VxD.icl
  xpopup -i %MenuName +a 187 $mircdirgfx\icons\VxD.icl
  xpopup -i %MenuName +a 134 $mircdirgfx\icons\VxD.icl
  xpopup -i %MenuName +a 86 $mircdirgfx\icons\VxD.icl
  xpopup -i %MenuName +a 87 $mircdirgfx\icons\VxD.icl
  xpopup -i %MenuName +a 44 $mircdirgfx\icons\VxD.icl
  xpopup -i %MenuName +a 225 $mircdirgfx\icons\VxD.icl
  xpopup -i %MenuName +a 270 $mircdirgfx\icons\VxD.icl
  xpopup -i %MenuName +a 147 $mircdirgfx\icons\VxD.icl
  xpopup -i %MenuName +a 0 $mircdirgfx\icons\x1.ico
  xpopup -i %MenuName +a 116 $mircdirgfx\icons\VxD.icl
  xpopup -i %MenuName +a 209 $mircdirgfx\icons\VxD.icl
  xpopup -i %MenuName +a 269 $mircdirgfx\icons\VxD.icl
  xpopup -i %MenuName +a 299 $mircdirgfx\icons\VxD.icl
  xpopup -i %MenuName +a 27 $mircdirgfx\icons\VxD.icl
  xpopup -i %MenuName +a 197 $mircdirgfx\icons\VxD.icl
  xpopup -i %MenuName +a 117 $mircdirgfx\icons\VxD.icl
  xpopup -i %MenuName +a 21 $mircdirgfx\icons\VxD.icl
  menupath reset
  xpop -a %MenuName $menupath(.) $chr(9) + 1 31 Server
  xpop -a %MenuName $menupath(.) $chr(9) +s 0 0 -
  xpop -a %MenuName $menupath(.) $chr(9) + 2 10 Lista Dei Canali
  xpop -a %MenuName $menupath(.) $chr(9) +s 0 0 -
  xpop -a %MenuName $menupath(.) $chr(9) + 3 9 Entra in ???
  xpop -a %MenuName $menupath(.) $chr(9) +s 0 0 -
  xpop -a %MenuName $menupath(.) $chr(9) + 4 6 Bussa ad un canale
  xpop -a %MenuName $menupath(.) $chr(9) +s 0 0 -
  xpop -a %MenuName $menupath(.) $chr(9) +s 0 14 InfoServ
  xpop -a %MenuName $menupath(..) $chr(9) + 5 15 Amministratori
  xpop -a %MenuName $menupath(..) $chr(9) +s 0 0 -
  xpop -a %MenuName $menupath(..) $chr(9) + 6 1 Away $iif($away,On ( $+ $duration($awaytime) $+ ),Off)
  xpop -a %MenuName $menupath(..) $chr(9) +s 0 0 -
  xpop -a %MenuName $menupath(..) $chr(9) + 7 17 IP Address $ip
  xpop -a %MenuName $menupath(..) $chr(9) +s 0 0 -
  xpop -a %MenuName $menupath(..) $chr(9) + 8 18 Idle Time $idle
  xpop -a %MenuName $menupath(..) $chr(9) +s 0 0 -
  xpop -a %MenuName $menupath(..) $chr(9) + 9 20 Linkaggio
  xpop -a %MenuName $menupath(..) $chr(9) +s 0 0 -
  xpop -a %MenuName $menupath(..) $chr(9) + 10 15 Lusers
  xpop -a %MenuName $menupath(..) $chr(9) +s 0 0 -
  xpop -a %MenuName $menupath(..) $chr(9) + 11 15 Motd
  xpop -a %MenuName $menupath(..) $chr(9) +s 0 0 -
  xpop -a %MenuName $menupath(..) $chr(9) + 12 15 Mappa
  xpop -a %MenuName $menupath(..) $chr(9) +s 0 0 -
  xpop -a %MenuName $menupath(..) $chr(9) + 13 22 mIRC $uptime(mirc,1)
  xpop -a %MenuName $menupath(..) $chr(9) +s 0 0 -
  xpop -a %MenuName $menupath(..) $chr(9) + 14 23 Network $network
  xpop -a %MenuName $menupath(..) $chr(9) +s 0 0 -
  xpop -a %MenuName $menupath(..) $chr(9) + 15 24 Nick $me
  xpop -a %MenuName $menupath(..) $chr(9) +s 0 0 -
  xpop -a %MenuName $menupath(..) $chr(9) + 16 26 Prefissi  $iif($server != $null,$prefix,n/a) $+
  xpop -a %MenuName $menupath(..) $chr(9) +s 0 0 -
  xpop -a %MenuName $menupath(..) $chr(9) + 17 25 Server $server
  xpop -a %MenuName $menupath(..) $chr(9) +s 0 0 -
  xpop -a %MenuName $menupath(..) $chr(9) + 18 28 Server IP $serverip
  xpop -a %MenuName $menupath(..) $chr(9) +s 0 0 -
  xpop -a %MenuName $menupath(..) $chr(9) + 19 29 Server Port $port
  xpop -a %MenuName $menupath(..) $chr(9) +s 0 0 -
  xpop -a %MenuName $menupath(..) $chr(9) + 20 18 Server $uptime(server,1)
  xpop -a %MenuName $menupath(..) $chr(9) +s 0 0 -
  xpop -a %MenuName $menupath(..) $chr(9) + 21 15 Statistiche
  xpop -a %MenuName $menupath(..) $chr(9) +s 0 0 -
  xpop -a %MenuName $menupath(..) $chr(9) + 22 18 System $uptime(system,1)
  xpop -a %MenuName $menupath(..) $chr(9) +s 0 0 -
  xpop -a %MenuName $menupath(..) $chr(9) + 23 19 Time
  xpop -a %MenuName $menupath(..) $chr(9) +s 0 0 -
  xpop -a %MenuName $menupath(..) $chr(9) + 24 30 User Mode $usermode
  xpop -a %MenuName $menupath(.) $chr(9) +s 0 0 -
  xpop -a %MenuName $menupath(.) $chr(9) + 25 11 Lingua Italiana
  xpop -a %MenuName $menupath(.) $chr(9) +s 0 0 -
  xpop -a %MenuName $menupath(.) $chr(9) +s 0 1 AWAY
  if (%sonoaway == OFF) xpop -a %MenuName $menupath(..) $chr(9) + 26 2 Vai in Away0,12 %awaynick 
  if (%sonoaway == ON) xpop -a %MenuName $menupath(..) $chr(9) + 27 3 Ritorna 0,12 %mainnick
  xpop -a %MenuName $menupath(..) $chr(9) +s 0 0 -
  xpop -a %MenuName $menupath(..) $chr(9) + 28 4 Imposta il Nick in Away 0,12 %awaynick
  xpop -a %MenuName $menupath(..) $chr(9) + 29 5 Imposta motivo AWAY:0,12 %away.reason
  xpop -a %MenuName $menupath(.) $chr(9) +s 0 0 -
  xpop -a %MenuName $menupath(.) $chr(9) +s 0 7 Copia negli appunti
  xpop -a %MenuName $menupath(..) $chr(9) + 30 8 Nome del Server
  xpop -a %MenuName $menupath(..) $chr(9) + 31 8 Network
  xpop -a %MenuName $menupath(..) $chr(9) + 32 8 Ip del Server
  xpop -a %MenuName $menupath(.) $chr(9) +s 0 0 -
  xpop -a %MenuName $menupath(.) $chr(9) + 33 12 Pulisci finestra
  xpop -a %MenuName $menupath(.) $chr(9) + 34 13 Pulisci tutte le finestre
  xpop -a %MenuName $menupath(.) $chr(9) +s 0 0 -
  xpop -a %MenuName $menupath(.) $chr(9) +s 0 0 -
  xpop -a %MenuName $menupath(.) $chr(9) +s 0 0 -
  xpop -a %MenuName $menupath(.) $chr(9) +s 0 0 -
  xpop -a %MenuName $menupath(.) $chr(9) +s 0 0 -
  xpop -a %MenuName $menupath(.) $chr(9) + 35 32 -------->PoPuP 0,4 NORMALI
  hadd -m System MenuToXpopup $1-
  xpopup -s %MenuName + $mouse.dx $mouse.dy
} 

on *:signal:XPopup-status-menu: {
  var %id $1
  tokenize 32 $hget(System,MenuToXpopup)
  if (%id == 1) { server -m $$?="Inserisci il server a cui vuoi connetterti" }
  elseif (%id == 2) { list }
  elseif (%id == 3) { join $$?="Scrivi il canale in cui entrare:" }
  elseif (%id == 4) { KNOCK $$?="Scrivi il canale a cui bussare:" $$?="Cosa vuoi dire...?" }
  elseif (%id == 5) { admin }
  elseif (%id == 6) { halt }
  elseif (%id == 7) { halt }
  elseif (%id == 8) { halt }
  elseif (%id == 9) { Links }
  elseif (%id == 10) { lusers }
  elseif (%id == 11) { motd }
  elseif (%id == 12) { map }
  elseif (%id == 13) { halt }
  elseif (%id == 14) { halt }
  elseif (%id == 15) { halt }
  elseif (%id == 16) { { return } }
  elseif (%id == 17) { halt }
  elseif (%id == 18) { halt }
  elseif (%id == 19) { halt }
  elseif (%id == 20) { halt }
  elseif (%id == 21) { stats }
  elseif (%id == 22) { halt }
  elseif (%id == 23) { time }
  elseif (%id == 24) { halt }
  elseif (%id == 25) { nickserv set language 4 }
  elseif (%id == 26) { vxaway | set %sonoaway ON }
  elseif (%id == 27) { ritornaway | set %sonoaway OFF }
  elseif (%id == 28) { set %awaynick $?="imposta il nick in Away" | set %passaway $$?*="Imposta la password Password" }
  elseif (%id == 29) { set %away.reason $?="Imposta motivo dell' AWAY:" }
  elseif (%id == 30) { clipboard $server }
  elseif (%id == 31) { clipboard $network }
  elseif (%id == 32) { clipboard $serverip }
  elseif (%id == 33) { clear $active }
  elseif (%id == 34) { clearall }
  elseif (%id == 35) { { /load -rs scripts\popups\status.txt | /unload -rs scripts\xmenu\status.vxd } }
} 

alias -l menupath {
  if ($1- == reset) { hadd -m System Menu 0 }
  elseif ($hget(System,Menu) != $null) {
    hadd System Menu $iif($len($1) > 1,$gettok($hget(System,Menu),$($+(1-,$calc($len($1) -1)),2),32)) $calc($gettok($hget(System,Menu),$len($1),32) +1) 0
    return $gettok($hget(System,Menu),1- $len($1),32)
  }
  return $false
} 


my code uses xpopup which owns the bug

Code:

on 1:LOAD: {
  set %stile officexp
  set %chiarox 250
  set %bg 0
  set %background 16777215
  set %iconbox 14211288
  set %checkbox 367615
  set %disablecheckbox 255
  set %disabledselected 255
  set %disabledtext 255
  set %selecttext 16777215
  set %separator 255
  set %menustext 0
  set %selectbox 0
  set %selectedtext 255
  set %bk 255
  set %linex +p
  set %round 0
  /load -rs dlls\dcx_tools.mrc
  /echo -ast xPoPuPs uploaded successfully!... go to the Menu Menubar ---> click on xPoPuPs 8,15&#9786; 4&#8730;&#7565; 0,1&#9760; 7,1 http://vxd.altervista.org/VxD.htm 4,1&#10015; 0,1&#8358;15,1&#1214;4,1&#8354;8&#8413;4,1&#8470;5,1&#1097;0,1&#912;4,1&#8373;0,1&#7441;15,1&#7438;4,1 0,1 &#10014; 0,1 &#9760; 4$8144i54
} 


alias -l shell alias shell returnex shell32.dll
alias xpopup_menu {
  var %menu xpopup_menu 
  if ($xpopup(%menu).ismenu) { xpopup -d %menu } 
  if ( $xpopup(%menu).ismenu == $false ) {
    if (%stile == custom) {
      mpopup mirc 1
      mpopup mircbar 1
      xpopup -c %menu %stile
      xpopup -t mirc %stile
      xpopup -t mircbar %stile
      xpopup -x %menu %linex
      xpopup -R %menu +r %round
      xpopup -R mircbar +a %chiarox
      xpopup -R mirc +a %chiarox
      xpopup -i mirc 0 $shell
      xpopup -i mircbar 0 $shell
      xpopupstyle mirc
      xpopupstyle mircbar
      xpopupstyle2 mirc
      xpopupstyle2 mircbar
      xpopupstyle3 mirc
      xpopupstyle3 mircbar
      xpopup -sm %menu + $mouse.dx $mouse.dy
      mtest 
      mtest2 
    }
    if (%stile != custom) {
      mpopup mirc 1
      mpopup mircbar 1
      xpopup -c %menu %stile
      xpopup -t mirc %stile
      xpopup -t mircbar %stile
      xpopup -x %menu %linex
      xpopup -R %menu +r %round
      xpopup -R mircbar +a %chiarox
      xpopup -R mirc +a %chiarox
      if ($isalias(shell)) xpopup -i mirc 0 $shell
      if ($isalias(shell)) xpopup -i mircbar 0 $shell
      xpopupstyle mirc
      xpopupstyle mircbar
      xpopupstyle2 mirc
      xpopupstyle2 mircbar
      xpopupstyle3 mirc
      xpopupstyle3 mircbar
      xpopup -sm %menu + $mouse.dx $mouse.dy
    }
  }
}

alias xpopupstyle { 
  var %popups = $1
  if (%popups ) { 
    xpopup -l %popups 1 %background
    xpopup -l %popups 2 %iconbox
    xpopup -l %popups 3 %checkbox
    xpopup -l %popups 4 %disablecheckbox
    xpopup -l %popups 5 %disabledselected
    xpopup -l %popups 6 %disabledtext
    xpopup -l %popups 7 %selecttext
    xpopup -l %popups 8 %selectbox
    xpopup -l %popups 9 %separator
    xpopup -l %popups 10 %menustext
    xpopup -l %popups 11 %selectedtext 
    xpopup -R %popups +r %round
    xpopup -x %popups %linex
  }
  else return
}

alias xpopupstyle2 { 
  var %popups = $1
  if (%popups ) { 
    xpopup -i %popups + 0 $mircdirthemes\ico\1.ico
    xpopup -i %popups + 0 $mircdirthemes\ico\2.ico
    xpopup -i %popups + 0 $mircdirthemes\ico\3.ico
    xpopup -i %popups + 0 $mircdirthemes\ico\4.ico
    xpopup -i %popups + 0 $mircdirthemes\ico\5.ico
    xpopup -i %popups + 0 $mircdirthemes\ico\6.ico
    xpopup -i %popups + 0 $mircdirthemes\ico\7.ico
    xpopup -i %popups + 0 $mircdirthemes\ico\8.ico
    xpopup -i %popups + 0 $mircdirthemes\ico\9.ico
    xpopup -i %popups + 0 $mircdirthemes\ico\10.ico
    xpopup -i %popups + 0 $mircdirthemes\ico\11.ico
    xpopup -i %popups + 0 $mircdirthemes\ico\12.ico
    xpopup -i %popups + 0 $mircdirthemes\ico\13.ico
    xpopup -i %popups + 0 $mircdirthemes\ico\14.ico
    xpopup -i %popups + 0 $mircdirthemes\ico\15.ico
    xpopup -i %popups + 0 $mircdirthemes\ico\16.ico
    xpopup -i %popups + 0 $mircdirthemes\ico\17.ico
    xpopup -i %popups + 0 $mircdirthemes\ico\18.ico
    xpopup -i %popups + 0 $mircdirthemes\ico\19.ico
    xpopup -i %popups + 0 $mircdirthemes\ico\20.ico
    xpopup -i %popups + 0 $mircdirthemes\ico\21.ico
    xpopup -i %popups + 0 $mircdirthemes\ico\22.ico
    xpopup -i %popups + 0 $mircdirthemes\ico\23.ico
    xpopup -i %popups + 0 $mircdirthemes\ico\24.ico
    xpopup -i %popups + 0 $mircdirthemes\ico\25.ico
    xpopup -i %popups + 0 $mircdirthemes\ico\26.ico
    xpopup -i %popups + 0 $mircdirthemes\ico\27.ico
    xpopup -i %popups + 0 $mircdirthemes\ico\28.ico
    xpopup -i %popups + 0 $mircdirthemes\ico\29.ico
    xpopup -i %popups + 0 $mircdirthemes\ico\30.ico
    xpopup -i %popups + 0 $mircdirthemes\ico\31.ico
    xpopup -i %popups + 0 $mircdirthemes\ico\32.ico
    xpopup -i %popups + 0 $mircdirthemes\ico\33.ico
    xpopup -i %popups + 0 $mircdirthemes\ico\34.ico
    xpopup -i %popups + 0 $mircdirthemes\ico\35.ico
    xpopup -i %popups + 0 $mircdirthemes\ico\36.ico
  }
  else return
}


alias mtest {
  if (%stile == custom) {
    if ($isalias(shell)) xpopup -i mirc 0 $shell
    mpopup mirc 1
    xpopup -t mirc custom
    xpopup -b mirc $shortfn(%cust)
    xpopupstyle mirc
    xpopupstyle2 mirc
    xpopupstyle3 mircbar 
  }
}

alias mtest2 {
  if (%stile == custom) {
    if ($isalias(shell)) xpopup -i mircbar 0 $shell
    mpopup mircbar 1
    xpopup -t mircbar custom
    xpopup -b mircbar $shortfn(%cust)
    xpopupstyle mircbar 
    xpopupstyle2 mircbar 
    xpopupstyle3 mircbar 
  }
}

on *:load:{
  if (%stile == custom) { 
    /mtest
    /mtest2
  }
  if (%stile != custom) {
    xpopup -d xpopup_menu
    if ($isalias(shell)) xpopup -i mirc 0 $shell
    if ($isalias(shell)) xpopup -i mircbar 0 $shell
    xpopup -t mirc %stile
    xpopup -t mircbar %stile
    xpopupstyle mirc
    xpopupstyle mircbar
    xpopupstyle2 mirc
    xpopupstyle2 mircbar
    xpopupstyle3 mirc
    xpopupstyle3 mircbar
  }
}

on *:start:{ 
  if (%stile == custom) { 
    /mtest
    /mtest2
  }
  if (%stile != custom) {
    xpopup_menu
    if ($isalias(shell)) xpopup -i mirc 0 $shell
    if ($isalias(shell)) xpopup -i mircbar 0 $shell
    xpopup -t mirc %stile
    xpopup -t mircbar %stile
    xpopupstyle mirc
    xpopupstyle mircbar
    xpopupstyle2 mirc
    xpopupstyle2 mircbar
    xpopupstyle3 mirc
    xpopupstyle3 mircbar
  }
}


;=======================================================================================================================================================================;
; xMenu - alias to apply icon on popup menu command | Vx ~ http://vxd.altervista.org/VxD.htm | &#10015;NeCRoNoMiCoN&#10014; &#9760;  $i | caronte.ade@gmail.com                        ;
;=======================================================================================================================================================================;

alias xpopupstyle3 { 
  var %popups = $1
  if (%popups ) {

    ; example ;  use this string ->    xpopup -i %popups + 0 $mircdirthemes\ico\38.ico     ; -----> icon location returns the suffix of command popup marked with --> 38 $chr(11) ;
    ;==============================================================> Enter here the list of icons (.ico) START LIST ICON POSITION N 38 <=================================================================; 

    xpopup -i %popups + 0 $mircdirthemes\ico\37.ico






    ;===============================================================-> END LIST ICON POSITION <-======================================================================================================;


  }
  else return
}


menu menubar,status,channel,query {
  1 $chr(11) x0,4PoPuPs
  .2 $chr(11) $+ Men Style 
  ..3 $chr(11) $+ Office2003: { set %stile office2003 | .timer 2 0 xpopup_menu }
  ..4 $chr(11) $+ Office2003rev: { set %stile office2003rev | .timer 2 0 xpopup_menu }
  ..5 $chr(11) $+ Office xP: { set %stile officexp | .timer 2 0 xpopup_menu }
  ..6 $chr(11) $+ ICY: { set %stile icy | .timer 2 0 xpopup_menu }
  ..7 $chr(11) $+ ICYrev: { set %stile icyrev | .timer 2 0 xpopup_menu }
  ..8 $chr(11) $+ Grade: { set %stile grade | .timer 2 0 xpopup_menu }
  ..9 $chr(11) $+ Graderev: { set %stile graderev | .timer 2 0 xpopup_menu }
  ..10 $chr(11) $+ Normal: { set %stile normal | .timer 2 0 xpopup_menu }
  ..11 $chr(11) $+ Vertical: { set %stile vertical | .timer 2 0 xpopup_menu }
  ..12 $chr(11) $+ Verticalrev: { set %stile verticalrev | .timer 2 0 xpopup_menu }
  ..-
  ..13 $chr(11) $+ Custom image background: { set %stile custom | set %cust $sfile(*.bmp,Choose an image format .bmp,Ok) | xpopup -b xpopup_menu %cust | .timer 2 0 xpopup_menu }
  ..-
  ..14 $chr(11) $+ Frame border style - Effect Icons
  ...15 $chr(11) $+ Icon 3D: { set %linex +p | .timer 2 0 xpopup_menu }
  ...16 $chr(11) $+ Icon Shadow:  { set %linex +i | .timer 2 0 xpopup_menu }
  ...-
  ...17 $chr(11) $+ Enable Round Border: { set %round 1 | .timer 2 0 xpopup_menu }
  ...18 $chr(11) $+ Linear Frame Border: { set %round 0 | .timer 2 0 xpopup_menu }
  .-
  .19 $chr(11) $+ Background Color: { set %background $dll(dlls\color.dll,Color,.) | .timer 2 0 xpopup_menu }
  .-
  .20 $chr(11) $+ Icon Box: { set %iconbox $dll(dlls\color.dll,Color,.) | .timer 2 0 xpopup_menu }
  .-
  .21 $chr(11) $+ Check Box: { set %checkbox $dll(dlls\color.dll,Color,.) | .timer 2 0 xpopup_menu }
  .-
  .22 $chr(11) $+ Disable check Box: { set %disablecheckbox $dll(dlls\color.dll,Color,.) | .timer 2 0 xpopup_menu }
  .-
  .23 $chr(11) $+ Disabled Selected: { set %disabledselected $dll(dlls\color.dll,Color,.) | .timer 2 0 xpopup_menu }
  .-
  .24 $chr(11) $+ Disabled Text: { set %disabledtext $dll(dlls\color.dll,Color,.) | .timer 2 0 xpopup_menu }
  .-
  .25 $chr(11) $+ Highlighted Text: { set %selecttext $dll(dlls\color.dll,Color,.) | .timer 2 0 xpopup_menu }
  .-
  .26 $chr(11) $+ Selected Box: { set %selectbox $dll(dlls\color.dll,Color,.) | .timer 2 0 xpopup_menu }
  .-
  .27 $chr(11) $+ ----Separator----:{ set %separator $dll(dlls\color.dll,Color,.) | .timer 2 0 xpopup_menu }
  .-
  .28 $chr(11) $+  Menu Text: { set %menustext $dll(dlls\color.dll,Color,.) | .timer 2 0 xpopup_menu }
  .-
  .29 $chr(11) $+ Selected Text: { set %selectedtext $dll(dlls\color.dll,Color,.) | .timer 2 0 xpopup_menu }
  .-
  .30 $chr(11) $+ Transparency
  ..31 $chr(11) $+ 0% : { set %chiarox 250 | .timer 2 0 xpopup_menu }
  ..-
  ..32 $chr(11) $+ 25% : { set %chiarox 230 | .timer 2 0 xpopup_menu }
  ..-
  ..33 $chr(11) $+ 50% : { set %chiarox 200 | .timer 2 0 xpopup_menu }
  ..-
  ..34 $chr(11) $+ 75%  : { set %chiarox 150 | .timer 2 0 xpopup_menu }
  ..-
  ..35 $chr(11) $+ 100% : { set %chiarox 100 | .timer 2 0 xpopup_menu }
  .-
  .37 $chr(11) 0,3 APPLY ICON After EDIT a ICON: { .timer 1 0 /dll -u dcx.dll | .timer 2 0 load_dcx | .timer 3 0 xpopup_menu | if (%treex == ON ) /dcxtreebar }
  -
  &#9825;&#9825;&#9825;&#9825;&#9825;&#9825;&#9825;&#9825;&#9825;&#9825;&#9825;&#9825;&#9825;&#9825;&#9825;&#9825;
  -
  36 $chr(11) 0,4 Nick List: { #nicklust on | colorilista }
  -
  &#9825;&#9825;&#9825;&#9825;&#9825;&#9825;&#9825;&#9825;&#9825;&#9825;&#9825;&#9825;&#9825;&#9825;&#9825;&#9825;
  -
 

Last edited by DEATHJ0KER; 09/06/12 12:15 AM.
Re: Exit mIRC ~ DCX.DLL not work [Re: DEATHJ0KER] #237863 09/06/12 02:14 AM
Joined: Oct 2003
Posts: 3,918
A
argv0 Offline
Hoopy frood
Offline
Hoopy frood
A
Joined: Oct 2003
Posts: 3,918
Honestly, it sounds like you're expending too much effort in working around a bug that should be fixed in the dll. All I see is you adding more and more dlls / complexity on top of your code in order to work around the original broken code. Email the author and have them fix the bug-- problem solved.


- argv[0] on EFnet #mIRC
- "Life is a pointer to an integer without a cast"
Re: Exit mIRC ~ DCX.DLL not work [Re: argv0] #237896 12/06/12 07:01 PM
Joined: Apr 2012
Posts: 48
D
DEATHJ0KER Offline OP
Ameglian cow
OP Offline
Ameglian cow
D
Joined: Apr 2012
Posts: 48
I already asked you very much to @flobse and are often in its channel, my code does not fit into their lifestyle... What I don't understand is why something happens to closing mirc to the menubar, I try to explain better ...
argv0 ---> has been resolved with your solution creating a popup menu identifier that invokes the alias in all Windows channel,status,menubar... Click to get the loading of my alias xpopup_menu.
in the first method code "menupath" by flobse which essentially invokes a dialog window
in my case it acts directly on the popups, where there is the fault
Okay your solution, as it is more suitable to my code...

alias
Code:
/vxdscript  .timer 1 0 /dll -u dcx.dll | .timer 2 0 xpopup_menu


identifier in the mirc editor section popups (in my popups script are handled by a third party file) then I can afford a menu that is called $vxdscript lol
Code:
menu Channel,Query,Status, menubar {
$vxdscript
}


Code:
 ;===========================================================================================================================;
; xMenu | Vx ~ http://vxd.altervista.org/VxD.htm | &#10015;NeCRoNoMiCoN&#10014; &#9760;  $i | caronte.ade@gmail.com                       ;
;===========================================================================================================================;

on 1:LOAD: {
  set %stile officexp
  set %chiaro 223
  set %bg 0
  set %background 0
  set %iconbox 0
  set %checkbox 367615
  set %disablecheckbox 255
  set %disabledselected 255
  set %disabledtext 255
  set %selecttext 16777215
  set %separator 255
  set %menustext 16777215
  set %selectbox 0
  set %selectedtext 255
  set %bk 255
} 

alias xpopup_menu {
  var %menu xpopup_menu 
  if ($xpopup(%menu).ismenu) { xpopup -d %menu } 
  if ( $xpopup(%menu).ismenu == $false ) {
    if (%stile == custom) {
      mpopup mirc 1
      mpopup mircbar 1
      xpopup -c %menu %stile
      xpopup -t mirc %stile
      xpopup -t mircbar %stile
      xpopup -x %menu +dpi
      xpopup -R %menu +r 1
      xpopup -R mircbar +a %chiaro
      xpopup -R mirc +a %chiaro
      xpopup -i mirc 0 $shell
      xpopup -i mircbar 0 $shell
      xpopupstyle mirc
      xpopupstyle mircbar
      xpopup -sm %menu + $mouse.dx $mouse.dy
      mtest 
      mtest2 
    }
    if (%stile != custom) {
      mpopup mirc 1
      mpopup mircbar 1
      xpopup -c %menu %stile
      xpopup -t mirc %stile
      xpopup -t mircbar %stile
      xpopup -x %menu +dpi
      xpopup -R %menu +r 1
      xpopup -R mircbar +a %chiaro
      xpopup -R mirc +a %chiaro
      if ($isalias(shell)) xpopup -i mirc 0 $shell
      if ($isalias(shell)) xpopup -i mircbar 0 $shell
      xpopupstyle mirc
      xpopupstyle mircbar
      xpopup -sm %menu + $mouse.dx $mouse.dy
    }
  }
}

alias xpopupstyle { 
  var %popups = $1
  if (%popups ) { 
    xpopup -l %popups 1 %background
    xpopup -l %popups 2 %iconbox
    xpopup -l %popups 3 %checkbox
    xpopup -l %popups 4 %disablecheckbox
    xpopup -l %popups 5 %disabledselected
    xpopup -l %popups 6 %disabledtext
    xpopup -l %popups 7 %selecttext
    xpopup -l %popups 8 %selectbox
    xpopup -l %popups 9 %separator
    xpopup -l %popups 10 %menustext
    xpopup -l %popups 11 %selectedtext 
  }
  else return
}

alias mtest {
  if (%stile == custom) {
    if ($isalias(shell)) xpopup -i mirc 0 $shell
    mpopup mirc 1
    xpopup -t mirc custom
    xpopup -b mirc $shortfn(%cust) 
    xpopupstyle mirc
  }
}

alias mtest2 {
  if (%stile == custom) {
    if ($isalias(shell)) xpopup -i mircbar 0 $shell
    mpopup mircbar 1
    xpopup -t mircbar custom
    xpopup -b mircbar $shortfn(%cust)
    xpopupstyle mircbar 
  }
}

on *:load:{
  if (%stile == custom) { 
    /mtest
    /mtest2
  }
  if (%stile != custom) {
    xpopup -d xpopup_menu
    if ($isalias(shell)) xpopup -i mirc 0 $shell
    if ($isalias(shell)) xpopup -i mircbar 0 $shell
    xpopup -t mirc %stile
    xpopup -t mircbar %stile
    xpopupstyle mirc
    xpopupstyle mircbar
  }
}

on *:start:{ 
  if (%stile == custom) { 
    /mtest
    /mtest2
  }
  if (%stile != custom) {
    xpopup_menu
    if ($isalias(shell)) xpopup -i mirc 0 $shell
    if ($isalias(shell)) xpopup -i mircbar 0 $shell
    xpopup -t mirc %stile
    xpopup -t mircbar %stile
    xpopupstyle mirc
    xpopupstyle mircbar
  }
}

menu menubar {
  1 $chr(11) $+ 0,4APPLICAZIONI:applicazioni
  -
  2 $chr(11) $+ 0,4AZIONI &#10014; :azioni
  -
  3 $chr(11) $+ 0,4BOTSERVER:bot
  -
  4 $chr(11) $+ 0,4CHANSERVER:canale
  -
  5 $chr(11) $+ 0,4HOSTSERVER:host
  -
  6 $chr(11) $+ 0,4MEMOSERVER:memo
  -
  7 $chr(11) $+ 0,4NICKSERVER:nickservx
} 

Last edited by DEATHJ0KER; 12/06/12 07:54 PM.
Re: Exit mIRC ~ DCX.DLL not work [Re: DEATHJ0KER] #237904 13/06/12 06:58 PM
Joined: Apr 2012
Posts: 48
D
DEATHJ0KER Offline OP
Ameglian cow
OP Offline
Ameglian cow
D
Joined: Apr 2012
Posts: 48
argv0 I just your solution, but why xpopup\r contained in dcx dll functions properly, it needs a review as this bug was never fixed.
Utilities thanks again, I followed your advice and I reported it all
http://dcx.scriptsdb.org/bug/index.php?do=details&task_id=826
smile

Re: Exit mIRC ~ DCX.DLL not work [Re: DEATHJ0KER] #240383 28/01/13 01:53 AM
Joined: Apr 2012
Posts: 48
D
DEATHJ0KER Offline OP
Ameglian cow
OP Offline
Ameglian cow
D
Joined: Apr 2012
Posts: 48
Exit mIRC ~ DCX.DLL " WORK "
At last, this bug has been fixed

http://dcx.scriptsdb.org/bug/index.php?do=details&task_id=826

I just have to wait for the new version of dcx.dll
Thanks again Ook smile

Last edited by DEATHJ0KER; 28/01/13 01:54 AM.