So I think my problem is my understanding of Global Variables and subroutines. Plus the Lists at the start
Heres my code:
https://gist.github.com/anonymous/ff1b16aa4093a2929896
If I place it into maya highlight it and press the Play icon. It works and the GUI opens and I can run the whole process from the GUI okay. But if I save it and try and import it as module it doesnt work properly and the reset button disppears and I get this:
# NameError: global name 'Reset' is not defined #
EDIT: I'd put Reset in the variable but for the procedure for some reason.
Check out the optionVar command.
In general, the entire user interface of Maya is open source. If you want to know how something works, you can simply find the script that implements it. Also try not to avoid learning MEL.
Related
I already tried using the symbol explorer in VSCode (CTRL+P then write #). It allows me to jump to data (because it's a method) but it won't jump to normal properties like "computed:" or "methods:"?
This would be useful when eg. I look at my component and think "Aha! I need to add a computed, so let's jump to computeds". I could just CTRL+F but this sometimes doesn't work if another variable or comment has 'computed' in its name
Currently, you can
use Ctrl+R to open Go To Symbol in Editor,
then enter some words like data, computed or methods and etc.,
then press Enter
The cursor would be moved to the selected symbol. Tested in Win10/v1.48.2
The easiest way how to do that is probably using Bookmarks extension.
I am using them and also I haven't find a better way how to solve same problem as you have.
I have been writing some VBA code to produce charts automatically, and at one point named a variable "CHARTTITLE" not realizing that this is a member of the Chart object. I have deleted this variable upon realizing my mistake. However, since doing so, wherever I employ something like
Charts(1).ChartTitle.Text =
It will automatically auto-capitalize to
Charts(1).CHARTTITLE.Text
I have tried search and replace over the entire project from .CHARTTITLE to .ChartTitle to no avail. I have also tried employing Option Explicit also without effect. I am worried that there is now some sort of memory issue or that I've overwritten something important. Is there any way to reset this back to its default state?
It's a benign effect and it's a long-standing bug relating to the way that VBA stores itself internally. A couple of things to try:
Change the first occurrence of CHARTTITLE in the module, or if in multiple modules in the first module that appears in the project explorer.
Export the module, remove it from the project, edit it using your favourite text editor and reimport it.
CyLog’s WildRename is a good program for performing batch-renames on files. The problem with it is that while the main window is resizable, it does not have the maximize box which makes it a little frustrating to size and use. Moreover, they have not made any updates in a long time, so the program is essentially discontinued.
I ran WildRename and used WinSpy++ to modify the style of its window to manually include the WS_MINIMIZEBOX style and bam!, it was now functioning as expected.
The question now is how to make this permanent.
My first instinct was to fire up ResHacker, but the problem is that the style that needs to be modified is that of the main window of a non-dialog application, so ResHacker has no way of doing this.
The next thing I tried was to open it in a hex-editor, to find the address(es) of the string corresponding to the titlebar. I then opened the file in W32Dasm and located the address of the code that references the address of the titlebar string. I did all this in an attempt to find the location of where the main dialog is created so that I can modify the style passed to CreateWindow(). Unfortunately, I cannot find a call to CreateWindow anywhere near the reference to the titelbar string and none of the calls to CreateWindowEx that I can find seem to be (obviously) the ones used to create the main window.
Is there an easy/automated way of modifying the style of the main window (assuming a non-dialog application)?
You could use a debugger like OllyDBG to dump the exe memory after the edit with WinSpy++, then use that exe or compare the files to see where the change is if you want to see what you've missed
There has to be a call to CreateWindow/Ex(), especially if it not a dialog from a resource. You just need to look harder. I would use IDA instead of WinDasm. It will decompile the assembly into more understandable code, and it has a built-in debugger. You can put a breakpoint on the title string and see in real-time which code actually touches it, and then follow it back to the accessing code.
I am debugging in NetBeans IDE, where can I see assigned variables and their values?
While you're in the debugger go Window -> Debugger -> Variables
You can also use ALT+SHIFT+1 to bring up variable viewer.
Generally, the pane underneath the code has some tabs - and one of them will say 'Variables'. Click on that tab and you will see variables and their values. You need to be actually running a debug session before the variables tab is available.
For this to show all local variables you need to have the line:
xdebug.show_local_vars=1
in your xdebug.ini file. Don't forget to restart Apache if you add that line.
If you are not seeing all local variables then you may have hit the problem where your version of the module file (xdebug.so) has a bug. This is the case currently for Ubuntu 10.04.
To fix this you need to compile a newer version of the xdebug.so file. Follow the instructions at http://xdebug.org/wizard.php to get your new file which should replace your current xdebug.so file.
There exists another solution that is
Press Ctrl+F9 to display Evaluate Expression Panel/Tab
Enter variable name in Evaluate Expression Panel/Tab
Press Ctrl+Enter (or arrow icon at right of Evaluate Expression Panel/Tab
The variable's value is then displayed in Variables Panel just below (on my PC) Evaluate Expression Panel/Tab.
You can also use this solution to display EXPRESSION and not only VARIABLE !
Example: (String sSheetData is a String variable that contains a very big string)
sSheetData.substring(4000,4200);
StringTools.Right(sSheetData,100);
StringTools.Mid(sSheetData,4000,200);
This is also possible using New Watch callable using contextual menu.
But this is not as easy as using Immediate Windows on Microsoft Visual Studio :-)
When I use IO.Directory.CreateDirectory to create a directory it creates a read-only directory no matter where I make the directory. Am I missing something?
You are getting confused by the shell properties dialog:
The Read-only checkbox is a tristate checkbox. When it is filled solid like that, it means the state is "indeterminate'. Click it twice to turn it into a check mark. When you then hit the OK or Apply button, the shell sets the readonly attribute on all the files inside the folder.
Yes, this is not great UI design, you are not the first to be tripped up by this. The (only applies to files in folder) hint looks like a fairly desperate attempt to make it clearer. Without enough room to make it a grammatically correct phrase. Wonder what it looks like in German...