I have a legacy Access application. The other day it was crashing, and crashed during Compact and Repair. After a whole bunch of Googling, what I finally had to do was decompile the MDB, then recompile it, and it would run again.
So my question is, what does Decompiling an MDB do, or for that matter what does compiling an MDB do? The code is accessible to me either way, and it appears the same in the VBA code editor. So is it just something internal to MS Access MDBs?
VBA gets compiled to intermediate language (if I remember correctly it's called P-code). You don't see it. It's embedded into the file.
When you save MS-Access database as .mde or .accde only the compiled version exists in the file. There is no code you can see.
AFAIK:
There are few states to your code. Your clean text code, which gets automatically compiled to let's call it op-code which gets compiled to Packed code. And when it runs it uses VM JIT to compile it on fly to machine code.
When your code gets compiled and you make changes to your source code you loose the compiled state when you run the application and then it runs in debug mode of the auto-compiled op-codes until you compile it again.
Related
I've recently had an issue at work where I have lost my solution files to my projects, but I still have the executables that have been produced by the projects / solution. It has been collection of 50+ webforms.
I have tried some de-compiler tools like ILSpy, JustComplie and .Net Reflector but everything gives source code in different format (not originally written by me) and also not designs of forms.
Is there any possibility to decompiling the executable back into a solution/project file?
I don't think that you can actually decompile the executables to a solution structure as seen on VS.
Although you can decompile the executable files (there are decompilers on the net that can perofrm the operation for you - only the decompilation),
you need to re-create the solution manually and add the source files you have retrieved from the previous operation.
Furthermore, if your files were obfuscated this makes it harder for them to be decompiled.
Even if this works, be prepared to do some debugging and check references/dependencies.
There is a Decompiler that works very well for .Net applications called DNSpy.
Here is link to the Project :
https://github.com/0xd4d/dnSpy
After you have decompiled you can start debugging and such from this application.
Hope this help.
We are using C# ZKempkeeper (CZKEMClass) dlls to downloading attendance data from biometric/finger scanning machines.
Some time the code is working fine, but mostly its taking long time and even not giving time out error. This is the line where compiler stuck and never come back
status = zkemkeeper.ReadAllGLogData(iMachineNumber);
I've experienced the same problem before. I had to run it as administrator because the main project is using an external DLL.
try
Actually, from the screen only ZKEMSDK.DLL and "Visual C++ 2003
runtime" is missing but required. The other DLLs above is "normal" to
be missing and will not harm your application's functionality.
Unfortunately since seems Microsoft have removed downloads for C++
runtime before VC2005, you should use the DLL that comes with the
package.
Also, make sure your program compile as "x86" instead of "Any CPU" or
it won't find the DLL on 64-bit systems. (The fact that it depends on
VC++ 2003 runtime implies this must be 32-bit DLL)
https://social.msdn.microsoft.com/Forums/en-US/11fbbd80-cf40-4ecd-8f73-26785cb32383/unable-to-use-zkemkeeperdll-from-64-bit-computer?forum=netfxbcl
I have a totally safe file that is a small executable program in the .out format. Being a windows user I was unable to run it, so I used a binary viewer software to open the file as pure binary code. I'm assuming I should be able to run it now, as binary code runs everywhere regardless of OS. I was just wondering how I could do this?
If your executeable file is compiled and linked for windows, you need to rename it to: name.out -> name.exe or name.com depending on type of executeable.
I've got an AS3 project where I'm trying to compile in several images, a soundtrack, and a video via [Embed] metadata. It's a product requirement that these be embedded, so network transfer is not an option.
I'm getting some really strange behavior - a sort of intermittent corruption of the compiled-in data. Sometimes after the project compiles, I run the swf and it closes immediately and writes "Warning: Failed to parse corrupt data" to the flash log. If I delete the binary and clean the project, sometimes it'll run fine after building it again. Sometimes it doesn't.
This is probably the strangest part about this problem, but sometimes when I see that error, I can physically move the video [Embed] lines to the end of the file, then clean the project, and it will build and run no problem. Sometimes I move them back to the beginning of the file and it builds and runs fine.
It kinda seems like it might be a bug in the compiler. Has anyone else experienced something similar? I'm targeting Flash 10.1 and using sprout (http://projectsprouts.org) to build my project. This is the mxmlc line that's being used to compile (mxmlc Version 4.1.0 build 16076):
mxmlc -as3 -static-link-runtime-shared-libraries=true -debug -default-background-color=#ffffff -default-size 712 400 -output=bin/ProjectName.swf -source-path+=.preprocessed/src -source-path+=.preprocessed/assets .preprocessed/src/ProjectName.as
I've tried both removing the -debug compiler option and adding the -optimize option, but no luck.
Everything is being ran through the GNU C preprocessor for some other tasks, so maybe I'll try removing the preprocessor stuff and hardcoding those variables...I'll try that and post the results tomorrow.
Any insight at all would be much appreciated. Thanks!
EDIT:
This project is going to be compiled dynamically with different assets being embedded into the same codebase, so switching to something like Flash Builder for compilation really isn't an option...it must be done via command-line mxmlc.
UPDATE:
Turns out the corrupted data message was due to images created with Photoshop's "Save for web" feature. If I save them outright as PNG images I don't get the message. However, the intermittent nature of the movie compiling properly still seems to be an issue. Now sometimes when the project is compiled it won't throw any compiler errors, but I get a blank flash player window. Right clicking in flash player shows a context menu with a message that says "Movie not loaded..." This doesn't appear to have anything to do with things being ran through CPP first.
[Screenshot]
This is apparently a bug in mxmlc under Mac OS X. After posting this, I observed some other really strange behavior, so I switched the whole codebase to Windows 7. Everything works as expected there (still using Project Sprouts as a build tool).
Flash builder is fine with it.
Can you separate your issue for video or music only, or issue is true for both includes?
I am using Visual Studio 2008 to build my projects.
I often take existing sample code and edit it and toy around with it, as I am just learning and I'd like to advance my skill.. it's nice to have a template to work with.
That being said, I often get the build error "Post build event failed". This is often accompanied by a "could not find xxx.sbr file" or something. I do not know what an sbr file is, not a "post-build event". Re-building doesn't seem to help, and clearing all the files out before tying another build does not help either.
That being said, the executable still always gets built.
I was wondering:
What is a post build event and what are the implications/causes of its failure?
What is an sbr file? I tried researching this a bit.. a "Source Browse File"? This site seemed pretty informative: http://www.ehow.com/facts_5657521_file-extension-sbr_.html
The problem is, I don't understand why the compiler would complain about not finding this (isn't it supposed to MAKE this?) and what EXACTLY it does ("enables Microsoft Visual Studio to access your source code" - can't it do this anyway?)
Thanks!
R
post build event is just a command you can have visual studio run after it's finished - maybe to kick off tests or build an installer.
It's in properties->build events in the menu - right click on the project.
The SBR file is used by visual studio to browse sources and lookup which function is in which file. I have had problems where somehow it's internal list of dependencies gets screwed up and it always rebuilds one of them.
Try a clean and rebuild, then try quitting visual studio and deleting the .ncb file