----------------- 20090315 - beta 7 ----------------- startup focus problem finally fixed! i spent roughly 20 hours manually removing almost all of the code for mcp from the project, sometimes one line at a time. nothing fixed the problem. i removed all custom components (except the "xp controls" i've mentioned in my notes several times, no luck. i then started a new project and manually added all of the same controls in the new project, including the xp controls... and of course, the new application worked flawlessly. i submitted a bug report and should hear back from codegear in about 9 months, if i'm lucky. anyway, i started trapping events and the only one that seemed to work was form.onshow. so i added a one out timer on 1/100th of one second. right after the form is shown, it activates. finally! god damn, that is probably the one bug that has annoyed this shit out of me since i switched to delphi 2009 (beta 5). this may not seem important, but hotkey navigation would not have been possible until the user first manually clicked on the main window. wait... what is hotkey navigation?? HOTKEY NAVIGATION!!! this is long overdue in my opinion, and it should help if anyone writes their own wiki's or help pages that use mcp. for now, the keys are hard coded. this means that i dictate what the key combinations do. i might keep it that way, or i might make them user configurable later on. if i decide on the latter, it would be very manual via another ini file and a set of given commands. anyway, here they are... and any that are in the tray icon menu are now shown on that menu: MCP Main Pages/Functions: F1 = Java Loader / Load Modules F2 = Java Loader / Save Modules F3 = Java Loader / Erase Modules F4 = Information F5 = Screen Capture F6 = Operating System Management F7 = Area 51 F8 = Area 52 F9 = Downloads F12 = Capture Current Screen MCP Help Pages Ctrl+F1 = Welcome Ctrl+F2 = Settings Ctrl+F3 = External Applications Ctrl+F4 = About Ctrl+F5 = Languages External Applications: Shift+F1 = RIM Desktop Manager Shift+F2 = RIM Application Loader (no /jvm) Shift+F3 = RIM Media Sync Shift+F4 = Roxio Media Manager Shift+F5 = Pete6's CrackMem Shift+F6 = Pete6's CrackUtil Shift+F7 = RIM MFI MultiLoader Shift+F8 = RIM Radio Lab Tool Shift+F9 = JL_Cmder Other Functions: Ctrl+Shift+F12 = Direct OS Installation This combination loads the OS Management page, automatically clicks the "Confirm" option and then automatically clicks the "Install OS" button for you. You will have to manually click the new "Continue" button. This only works if your PIN is selected or if you are using the /nopin switch. Alt+F4 = Close MCP -------- 20090314 -------- pin checking at os install was broken, fixed for some reason the other day i went to install an os and noticed that i didn't select a pin. mcp used to stop and tell you that you had to select a pin since we can't take a chance on wiping the wrong device. this should be working correctly again code change: from: if (pin.text<>'(none)') or (pin.text<>'0') or (pin.text<>'') or (nopin=1) then begin ... to: if (pin.text<>'(none)') and (pin.text<>'0') and (pin.text<>'') or (nopin=1) then begin ... logging change from: 20090314-114656-337 parameter strings: mcp.exe, /osm, /nopin, to: 20090314-114847-168 command line: mcp.exe /osm /nopin -------- 20090308 -------- quick note: this is third build since "beta 6" (3/1/09), and it's the first build that is designated as "beta 7". do not let this designation fool you - i am not done coding and this is NOT the "final" release of beta 7. this is just a test build, no different than any others. all i am trying to do is prepare for beta 7. i would also like to say that i think i am pretty close to a beta 7 release and possibly for the final "public" release of 0.9.2.0. if beta 6 is working for you, you don't need to try this build. it is virtually identical, so it also shouldn't cause any new problems. changes... beta 7 designation installers and property sheets should all now read "beta 7". portable apps installer fixes for now some language support was removed. the welcome and finish pages were not translating correctly, so instead of showing "BlackBerry Master Control Program" they said ${NAME}. stupid shit. pissed away an hour trying to fix it, instead i just ripped out some of the language translations. codename changed now that the major problems are behind me i will try to use different code names for the official beta releases. the developer snapshots will not be changed normally. settings page field logging originally the "BrickBerry", "name" and "email" fields were all logging every keystroke. fixed. now they only log when you exit the field. example: B Br Bri Bric Brick etc. german language problem with the image fixes for vista, the welcome and about page translations no longer work. this will have to be re-done by the translator. main images change the welcome, about and translations pages all show the main mcp image. in the past this image would resize with the mcp window, but all of the other images and labels wouldn't adjust. it looked bad in my opinion. so, in this build everything on these pages is now contained on one frame or "panel", and this panel now shifts to the center of the window if mcp is resized. it might be a little off but it looks better to me. fun stuff... mcp is laughing at you mcp got a serious attitude in the last build. i'm not sure if anyone noticed it or not... but nobody has made any comments so far. after 15 seconds of inactivity, the help gutter now spits out random comments (some abusive to the user) and jokes. :) this can only be controlled via the ini file: [settings] lol=1 <- 1 is enabled, 0 is disabled lolx1=15 <- time (in seconds) of user inactivity before bashing them :> lolx2=7 <- time (in seconds) to show each comment/joke this system was fixed up some in this build. previously it wouldn't download the lol.mcp file on the first run, and it also wouldn't start bashing the end user until they at least hovered over one item for a help tip. you can update or add to xfiles\lol.mcp at will - it is only "written" (not downloaded) if both of these conditions are met: 1) xfiles\lol.mcp does not exist and 2) the ini has lol=1 (or if there is no "lol" entry) added two easter eggs pre-requisites: 1) the "BrickBerry" passphrase must be entered correctly in settings. 2) the end user must be an adult. you have to tell mcp that you are 18 years of age (or older) before you will ever be able to see either of the easter eggs, eg: mcp.exe /i_am_at_least_18_years_old caveats: only one (multi-part): i will never tell/hint anyone what they are, where they are, or how to access them... so don't bother asking. hints: ok, fine. the content for these "easter eggs" is not included with mcp during installation. when (if) you find the secret, mcp will download a file (one file for each egg), then display it for you. good luck! -------- 20090305 -------- note: see "20090304" for new command line switches added exception checking during startup added exception checking during os install improved logging, particularly during os install x-after.txt was being generated even if /regdump wasn't used, fixed mfi multiloader and radio lab tools paths were cross-threaded, fixed hint for crackutil path fixed -------- 20090304 -------- main change... during creation, the mcp ini file is opened for read/write access. this block of code is a few hundred lines long. in the past there was no "exception checking". now there is some decent handling of errors --- but ONLY for this block of code. logs (verbose req'd) will reveal more detail about the state of things. also... verbose logging will now show the computer name, current windows user account, and if that user is a local admin or limited user. and, for the test geeks, new parameter strings for your cute mcp shortcut... mcp.exe /nopin allows you to click the "install os" button without a device connected and without a pin selected. mcp.exe /regdump attempts to take a snapshot of the rim registry keys at the time of the os install and when mcp closes. yyyymmdd-hhmmss-ms_ - before/after . txt <- in the main mcp folder. for debuggging, include these txt files with your log file when emailing me. mcp.exe /except some test try/except/fail blocks via two normally hidded buttons (around the pin selector) these are just test buttons. only with these 2 you shouldn’t see the normal access violation (windows error). with these 2 i am trying to trap the errors so i can later show/log helpful information. the left button will work the first time... but if you (manually) make c:\111.txt “read only” the left button will fail – it knows it can’t write to the file anymore. the right button is explicitly designed to fail. this is the “access violation” which is normally always spawned twice... the first time is when i attempt to write to an ini file (but i forgot to actually open the ini "instance" first), and the second is when i attempt to close the instance of the ini in code... again, can’t do that since it wasn’t created. and through all of these mini-tests - no nasty/ugly "ACCESSVIOLATION" blah, blah. true or false? :) /d