[WFX] VirtualPanel: Temporary panel for TC
Moderators: Hacker, petermad, Stefan2, white
Ok I think I have a scenario where it fails 100% of the time.
1. i delete my VirtualPanel.lst state file
2. start TC
3. go to \\\vp
4. add a vf \\\vp\vf1
5. enter it and using a long command like this populate it:
<add >Refresh {<silent <del /d *.* <put . ... }
6. add another vf at \\\vp\vf2
7. enter it and using a long command like this populate it:
<add >Refresh {<silent <del /d *.* <put . ... }
vf2 has many folders named like vf1, some are the same folders some are diff but with same names.
8. i run <save /f to save status file, and i always get:
---------------------------
Total Commander 7.55a
---------------------------
Access violation at address 77173740. Read of address FFFFFFF8.
Access violation at address 77173740. Read of address FFFFFFF8
Windows 7 SP1 6.1 (Build 7601)
Please report this error to the Author, with a description
of what you were doing when this error occurred!
Windows exception: C0000005
Stack trace:
77173740
640D5E 421666 4216AE 684D6F 68510F 685451
4E3785 546CF5 445C6F >432C63 414560 419C2C
419CC4 6C0F31
Raw:
63F1AB 4446F3 414560 4EB028 40208E 402235
4023DB 6BDCBD 640D5E 6BDCBD 4D91D5 6BDED3
697BE0 444661 414560 40A707 40A714 6C03B9
5F46EB 67598A 5F75F9 5F761C 6BDED3 697BE0
697BE0 650071 6A005A 402235 4033BC 4021B4
675C9B 421666 4216AE 684D6F 432F86 432C63
414560 650071 6A005A 6BDCBD 68510F 4454AB
6BDED3 697BE0 414560 6C006D 432F86 432C63
414560 444661 414560 4454AB 4431E1 445401
4330EF 4447B5 445132 445155 414560 4446F3
Press Ctrl+C to copy this report!
Continue execution?
---------------------------
Yes No
---------------------------
9. VirtualPanel.lst state file contains info only related to vf1, nothign on vf2
And other times I dont do all this, just use TC with VP, when I exit TC the process either does not die (I have to kill it in process explorer, until I kill it I cannot delete VirtualPanel.lst) or crashes.
this is win7 64bit. I can provide more data if you wish.
EDit: the same crash happend when doing <save only with vf2 so it does not need to be two vf it seems to reproduce
thanks
1. i delete my VirtualPanel.lst state file
2. start TC
3. go to \\\vp
4. add a vf \\\vp\vf1
5. enter it and using a long command like this populate it:
<add >Refresh {<silent <del /d *.* <put . ... }
6. add another vf at \\\vp\vf2
7. enter it and using a long command like this populate it:
<add >Refresh {<silent <del /d *.* <put . ... }
vf2 has many folders named like vf1, some are the same folders some are diff but with same names.
8. i run <save /f to save status file, and i always get:
---------------------------
Total Commander 7.55a
---------------------------
Access violation at address 77173740. Read of address FFFFFFF8.
Access violation at address 77173740. Read of address FFFFFFF8
Windows 7 SP1 6.1 (Build 7601)
Please report this error to the Author, with a description
of what you were doing when this error occurred!
Windows exception: C0000005
Stack trace:
77173740
640D5E 421666 4216AE 684D6F 68510F 685451
4E3785 546CF5 445C6F >432C63 414560 419C2C
419CC4 6C0F31
Raw:
63F1AB 4446F3 414560 4EB028 40208E 402235
4023DB 6BDCBD 640D5E 6BDCBD 4D91D5 6BDED3
697BE0 444661 414560 40A707 40A714 6C03B9
5F46EB 67598A 5F75F9 5F761C 6BDED3 697BE0
697BE0 650071 6A005A 402235 4033BC 4021B4
675C9B 421666 4216AE 684D6F 432F86 432C63
414560 650071 6A005A 6BDCBD 68510F 4454AB
6BDED3 697BE0 414560 6C006D 432F86 432C63
414560 444661 414560 4454AB 4431E1 445401
4330EF 4447B5 445132 445155 414560 4446F3
Press Ctrl+C to copy this report!
Continue execution?
---------------------------
Yes No
---------------------------
9. VirtualPanel.lst state file contains info only related to vf1, nothign on vf2
And other times I dont do all this, just use TC with VP, when I exit TC the process either does not die (I have to kill it in process explorer, until I kill it I cannot delete VirtualPanel.lst) or crashes.
this is win7 64bit. I can provide more data if you wish.
EDit: the same crash happend when doing <save only with vf2 so it does not need to be two vf it seems to reproduce
thanks
i see pm disabled, is there any other way to send you the data?
Just tested in a win7sp1 32b, same result:
---------------------------
Total Commander 7.55a
---------------------------
Access violation at address 77516468. Read of address FFD88B00.
Access violation at address 77516468. Read of address FFD88B00
Windows 7 SP1 6.1 (Build 7601)
Please report this error to the Author, with a description
of what you were doing when this error occurred!
Windows exception: C0000005
Stack trace:
77516468
4447B5 445132 414560 4D91D5 4D9DF9 432F86
432C63 414560 444661 414560 63DA96 646B63
4E3785 546CF5 445C6F >432C63 414560 419C2C
419CC4 6C0F31
Raw:
444661 414560 4454AB 4431E1 445401 434A3D
4447B5 445132 445155 414560 6BDCBD 4D91D5
414560 4023DB 4026A4 4036AD 5F38DF 40A707
40A714 5F3917 6C03B9 5F46EB 67598A 5F75F9
5F761C 6BDED3 697BE0 697BE0 4D9DF9 650071
6A005A 402235 4033BC 4021B4 675C9B 421666
4216AE 684D6F 650071 6A005A 6BDCBD 68510F
444661 6BDED3 697BE0 6C006D 432F86 432C63
414560 444661 414560 6BDCBD 63DA96 4454AB
4431E1 445401 4447B5 445132 445155 414560
Press Ctrl+C to copy this report!
Continue execution?
---------------------------
Yes No
---------------------------
Just tested in a win7sp1 32b, same result:
---------------------------
Total Commander 7.55a
---------------------------
Access violation at address 77516468. Read of address FFD88B00.
Access violation at address 77516468. Read of address FFD88B00
Windows 7 SP1 6.1 (Build 7601)
Please report this error to the Author, with a description
of what you were doing when this error occurred!
Windows exception: C0000005
Stack trace:
77516468
4447B5 445132 414560 4D91D5 4D9DF9 432F86
432C63 414560 444661 414560 63DA96 646B63
4E3785 546CF5 445C6F >432C63 414560 419C2C
419CC4 6C0F31
Raw:
444661 414560 4454AB 4431E1 445401 434A3D
4447B5 445132 445155 414560 6BDCBD 4D91D5
414560 4023DB 4026A4 4036AD 5F38DF 40A707
40A714 5F3917 6C03B9 5F46EB 67598A 5F75F9
5F761C 6BDED3 697BE0 697BE0 4D9DF9 650071
6A005A 402235 4033BC 4021B4 675C9B 421666
4216AE 684D6F 650071 6A005A 6BDCBD 68510F
444661 6BDED3 697BE0 6C006D 432F86 432C63
414560 444661 414560 6BDCBD 63DA96 4454AB
4431E1 445401 4447B5 445132 445155 414560
Press Ctrl+C to copy this report!
Continue execution?
---------------------------
Yes No
---------------------------
jmwap, you can send me a e-mail using button under my posts. 
If you're attaching large files, please pack them with 7z.
Note that target file and link may have different names so it may confuse user (e.g. link foo.txt points to file bar.txt so user renames foo.txt to smth.txt but actually bar.txt is renamed). And there is no way to display another initial name in standard TC rename dialog (e.g. bar.txt instead of foo.txt). So the only clear way is to use button/usercommand with <tgmove command.

If you're attaching large files, please pack them with 7z.
Yes, you can't rename target in another way than using <tgmove command. But you may assign a shortcut to command that will execute it for you via VPBatch (see BAR file from first topic post).CharlesF wrote:One thing though, my reading of the help file suggests that original files can only be renamed by using the tgmove command in a script. There is no supplementary key I can hold down while doing the renaming as I can when I delete a file. Is this correct?Vochomurka wrote:CharlesF wrote:Can anyone tell me if and how I can do the following using the Virtual Panel plug-in.
1. Delete selected files listed in VP from their real locations.
2. Rename selected files listed in VP such that the files they represent are also renamed.Readme.txt wrote:When you hold Shift while confirm deletion, plugin will ask you for physical files remove confirmationAll the three questions are answered in the Readme.txt file shipped with the plugin.Readme.txt wrote:tgmove <virtual_path> <physical_path>
Allows to rename/move target object
Note that target file and link may have different names so it may confuse user (e.g. link foo.txt points to file bar.txt so user renames foo.txt to smth.txt but actually bar.txt is renamed). And there is no way to display another initial name in standard TC rename dialog (e.g. bar.txt instead of foo.txt). So the only clear way is to use button/usercommand with <tgmove command.
Many thanks. Is there a way to make the VP toolbar always visible in TC. I've searched the forums without any luck.MVV wrote:jmwap, you can send me a e-mail using button under my posts.
If you're attaching large files, please pack them with 7z.
Yes, you can't rename target in another way than using <tgmove command. But you may assign a shortcut to command that will execute it for you via VPBatch (see BAR file from first topic post).CharlesF wrote:One thing though, my reading of the help file suggests that original files can only be renamed by using the tgmove command in a script. There is no supplementary key I can hold down while doing the renaming as I can when I delete a file. Is this correct?Vochomurka wrote: All the three questions are answered in the Readme.txt file shipped with the plugin.
Note that target file and link may have different names so it may confuse user (e.g. link foo.txt points to file bar.txt so user renames foo.txt to smth.txt but actually bar.txt is renamed). And there is no way to display another initial name in standard TC rename dialog (e.g. bar.txt instead of foo.txt). So the only clear way is to use button/usercommand with <tgmove command.
Regards,
Charles
CharlesF,
You may copy buttons from my buttonbar to your buttonbars. Just open my buttonbar and use 'Copy' command from button's context menu. Then use 'Paste' from context menu of free space of your bar.
I recommend you to open second TC instance to see both buttonbars simultaneously (activate each buttonbar in own TC instance) and copy needed buttons from one to another.
Don't forget to fix paths to VPBatch and AskParam.
jmwap,
Thank you for your e-mail, I can reproduce crash after executing your script. As I see, lines of saved state file are truncated because of using system wsprintf function that doesn't work with buffers larger than 1024 characters. But this shouldn't crash anything though... I'll investigate it, also I need to replace wsprintf call with own code to allow long lines.
You may copy buttons from my buttonbar to your buttonbars. Just open my buttonbar and use 'Copy' command from button's context menu. Then use 'Paste' from context menu of free space of your bar.
I recommend you to open second TC instance to see both buttonbars simultaneously (activate each buttonbar in own TC instance) and copy needed buttons from one to another.
Don't forget to fix paths to VPBatch and AskParam.
jmwap,
Thank you for your e-mail, I can reproduce crash after executing your script. As I see, lines of saved state file are truncated because of using system wsprintf function that doesn't work with buffers larger than 1024 characters. But this shouldn't crash anything though... I'll investigate it, also I need to replace wsprintf call with own code to allow long lines.
VirtualPanel 1.0.0.920:
+ VPBatch now accepts room name in both direct form and TC-style path form (\\\Virtual Panel\...)
+ own environment variables expander (leaves %xx% as is if variable xx is undefined)
+ long scripts are now saved w/o truncation
* save bug when long scripts are used
* exception while processing long scripts that were sent via WM_COPYDATA in Unicode
VirtualPanel 1.0.0.920 at totalcmd.net
Now it is possible to use /r"%P" or /r"%T" for corrsponding VPBatch buttons to determine VP root name in panel.
+ VPBatch now accepts room name in both direct form and TC-style path form (\\\Virtual Panel\...)
+ own environment variables expander (leaves %xx% as is if variable xx is undefined)
+ long scripts are now saved w/o truncation
* save bug when long scripts are used
* exception while processing long scripts that were sent via WM_COPYDATA in Unicode
VirtualPanel 1.0.0.920 at totalcmd.net
Now it is possible to use /r"%P" or /r"%T" for corrsponding VPBatch buttons to determine VP root name in panel.
Many thanks for the suggestions. I'm taking your comments as confirming that I can't have more than one toolbar visible at the same time.MVV wrote:CharlesF,
You may copy buttons from my buttonbar to your buttonbars. Just open my buttonbar and use 'Copy' command from button's context menu. Then use 'Paste' from context menu of free space of your bar.
I recommend you to open second TC instance to see both buttonbars simultaneously (activate each buttonbar in own TC instance) and copy needed buttons from one to another.
Don't forget to fix paths to VPBatch and AskParam.
jmwap,
Thank you for your e-mail, I can reproduce crash after executing your script. As I see, lines of saved state file are truncated because of using system wsprintf function that doesn't work with buffers larger than 1024 characters. But this shouldn't crash anything though... I'll investigate it, also I need to replace wsprintf call with own code to allow long lines.
Regards,
Charles
MVV wrote:Yes, TC doesn't allow to have two buttonbars. But you may have many drop-down sub-buttonbars so you will need just one more click to access all buttons (e.g. I've added my panel as drop-down buttonbar onto main bar).
TC allow to nest Button BAR this is done exactly as doing sub menu.
You can define "bar SET" ex
MainFileBar.bar / -2 / Prog.bar / VP.BAR
MainFileBar.bar / -2 /DRAWING.bar / VIDEO.BAR
.....
You can also switch from one to another "bar set" using openbar %A as user command (from script) or using some subMenu or whatever...
(Cmd -2) allow to define a new toolbar line.
Virtual Panel Script Editor
I've done a VirtualPanel Script Editor for those who are interested to take over you can find SourceCode and bundled exe (this is AHK
)
Usage: Select a VP script and press toolbar button or use any user command and key shortcut !
You can edit the script and/or change the icon. There is an automatic indent/unindent mechanism as VP Script are single line based. No check is done for validity of VP command !
You can have /edit parameter before %L to have a small bar that launch an editor and wait for you to press update button.
You can have /ini parameter to edit inifile in %APPDATA% folder to change the editor for script !
You can get it Here !
This is an unfinished version and it is enough for my usage, as said feel free to take it modify it ......

Usage:
Code: Select all
Program: %commander_path%\tools\VPSE\VPScriptEdit.exe
Parameters: %L
You can edit the script and/or change the icon. There is an automatic indent/unindent mechanism as VP Script are single line based. No check is done for validity of VP command !
You can have /edit parameter before %L to have a small bar that launch an editor and wait for you to press update button.
You can have /ini parameter to edit inifile in %APPDATA% folder to change the editor for script !
You can get it Here !
This is an unfinished version and it is enough for my usage, as said feel free to take it modify it ......
Hi to all! 
I've uploaded current beta version of VP 2.0 here, you may test it if you want (enter 4-digit code from picture and press Enter, you'll get a link).
Main addition is Virtual Explorer that allows to have any number of background browser windows with drag-and-drop feature between theese windows and other applications. You may open new browser window using <explore <virtual_path> command.
Currently drag-and-drop is supported only for existing files from virtual folders (dropped files get original names, next versions will keep virtual names - but only between VP browser windows, because d-n-d to external applications require full paths to original names), two view modes, rename, delete from virtual folders, supported keys like F2, Ctrl+R, Shift+F6, Ctrl+F1/F2, Backspace, Alt+Left/Right.
I think I'll add some standard toolbar buttons like back/forward/refresh etc onto browser toolbar, also I think sometimes tree will work... or I kill it.
One of another changes is that <put command allow to add folders from filelists generated using commands like cm_SaveSelectionToFile (older versions has skipped folders because of trailing slashes).
It would be great if you get some ideas or bug reports.
File link is updated on 2011-04-04, some bugs were fixed, now it is possible to keep virtual names while dragging, also script files may be dragged.

I've uploaded current beta version of VP 2.0 here, you may test it if you want (enter 4-digit code from picture and press Enter, you'll get a link).
Main addition is Virtual Explorer that allows to have any number of background browser windows with drag-and-drop feature between theese windows and other applications. You may open new browser window using <explore <virtual_path> command.
Currently drag-and-drop is supported only for existing files from virtual folders (dropped files get original names, next versions will keep virtual names - but only between VP browser windows, because d-n-d to external applications require full paths to original names), two view modes, rename, delete from virtual folders, supported keys like F2, Ctrl+R, Shift+F6, Ctrl+F1/F2, Backspace, Alt+Left/Right.
I think I'll add some standard toolbar buttons like back/forward/refresh etc onto browser toolbar, also I think sometimes tree will work... or I kill it.

One of another changes is that <put command allow to add folders from filelists generated using commands like cm_SaveSelectionToFile (older versions has skipped folders because of trailing slashes).
It would be great if you get some ideas or bug reports.

File link is updated on 2011-04-04, some bugs were fixed, now it is possible to keep virtual names while dragging, also script files may be dragged.
-> Some Idea :MVV wrote:Hi to all!
I've uploaded current beta version of VP 2.0 here, you may test it if you want (enter 4-digit code from picture and press Enter, you'll get a link).
Main addition is Virtual Explorer that allows to have any number of background browser windows with drag-and-drop feature between theese windows and other applications. You may open new browser window using <explore <virtual_path> command.
Having a tree like and a branch like presentation options.
Ability to flag/filter if "link" come from script or by manual operation.
Option to visually select/see dependent script from the explorer
Ability to load a saved filelist in the explorer to use with current VP.
-> Bug/limitation
it is not possible to drag from oneVP to another trough the explorer.