|
How can I design a compiler (I dont need statement parsing or evaluating expressions, but how to generate Windows PE Code)
How can an EXE file be built from my compiler?
|
|
|
|
|
Design a compiler you need to lot of info and its very difficult but for make a exe file I think(not sure) I saw a article on the www.codeguru.com that it explained about exe files(PE,...) and very other useful info.
|
|
|
|
|
I have a class in win32.
For a small part of my project, I would just love to be able to display a jpeg or gif image instead of just bmp images.
Are there any third party classes that will help? What controls should I use?
It's not a big enough part of my program to do myself, it's just an extra feature that would add alot of appeal to the app.
I would also love to be able to load an image from the disk and not from my resources each time as I don't think my user can edit those.
Thanks for any help!
|
|
|
|
|
Have you heard about IPicture?
IPicture manages a picture object and its properties. All you need to do is instantiate IPicture and call Render. Remember you don't need to do a CoCreateInstance for this, instead call OleLoadPicture.
Somethings seem HARD to do, until we know how to do them.
_AnShUmAn_
|
|
|
|
|
Got a link?! Would love to use it. A quick google search didnt' turn up anything.
EDIT:
Found some info on it but I can Load from a file?
modified on Tuesday, April 22, 2008 1:24 AM
|
|
|
|
|
|
Loading and Displaying Bitmaps[^]
using GDIplus, Image::FromFile
You can create Image objects based on files of a variety of types including BMP, GIF, JPEG, PNG, TIFF, and EMF.
|
|
|
|
|
GDI+ will do it in 3 lines, excluding the code needed for
initialization, which only needs to be executed once per
process.
Something like this (shows example initialization code):
#include <gdiplus.h>
...
ULONG dwToken;
Gdiplus::GdiplusStartupInput input;
Gdiplus::GdiplusStartupOutput output;
Gdiplus::Status status = Gdiplus::GdiplusStartup(&dwToken, &input, &output);
if(status == Gdiplus::Ok)
{
Gdiplus::Bitmap srcBitmap(L"c:\\some.jpg", FALSE);
Gdiplus::Graphics wndGraphics(someHWND);
wndGraphics.DrawImage(&srcBitmap, 0, 0);
Gdiplus::GdiplusShutdown(dwToken);
}
Mark
Mark Salsbery
Microsoft MVP - Visual C++
|
|
|
|
|
Was sure to do the #include but I'm getting all kinds of linker errors. Is there anything I'm missing.
Also can I load an image and have it scaled based on a preferred height and width?
Edit
Was Missing the .lib file.
Still not sure on how to scale the image.
Also getting a nasty exception when trying to run the last line (the shutdown one). When I comment it out it works fine! but I don't think that's the best thing to do.
modified on Tuesday, April 22, 2008 9:19 PM
|
|
|
|
|
Link to gdiplus.lib to resolve the linker errors (you found that one).
Graphics.DrawImage() has a bunch of overloads, several of which will
stretch the image. To actually resize the image you need to create a second
Image/Bitmap object and draw the original image stretched to the new image.
I'm not sure about the exception - I haven't seen that before
Mark
Mark Salsbery
Microsoft MVP - Visual C++
|
|
|
|
|
How to add button to ClistCtrl?
thanks in advance.
|
|
|
|
|
See Here[^] for some hint
Somethings seem HARD to do, until we know how to do them.
_AnShUmAn_
|
|
|
|
|
|
Hello! I have been struggling for the whole day, and could not figure out the following problem:
I am testing my VC++6.0 MFC application, and already tested on several PCs, some of them runs OK, on some PCs the GUI fails to call function OnInitDialog, the dialog still get displayed, however I found out the exe actually did not run function OnInitDialog, so the initialized values assigned in this function were not applied.
PCs that work:
all PCs with VC++ installed.
1 PC that never had VC++ installed.
1 PC that had VC++ installed but removed before the test.
PCs that doesn't work
1 PC that had VC++ installed but removed before the test.
1 PC that never had VC++ installed.
I tried Create() and DoModal() to create the dialog, both fail on the failing PCs.
Please let me know if you have any clue. Thank you very much!
rqy
|
|
|
|
|
Rongqi wrote: Please let me know if you have any clue.
Sounds like a version mismatch between the mfc42.dll on some of the PCs and the version you're building against. Either link your program to the static library, or make sure your installer puts the right version in the right place.
Citizen 20.1.01 'The question is,' said Humpty Dumpty, 'which is to be master - that's all.'
|
|
|
|
|
Thanks for replying.
I copied the same version of MFC42.DLL to the ones that were not working, but it didn't help...
|
|
|
|
|
Assuming you put it in the right place on the target machines, you are encountering some other problem. Things to check:
- OnInitDialog() is actually not being called (try putting a message box at the start of it and confirm that it doesn't appear on the problem machines)
- The problem machines aren't running Win9x
- This is a normal dialog (not a file dialog / print dialog / other common dialog)
Citizen 20.1.01 'The question is,' said Humpty Dumpty, 'which is to be master - that's all.'
|
|
|
|
|
Shog,
1. OnInitDialog() is actually not being called (try putting a message box at the start of it and confirm that it doesn't appear on the problem machines)
It is true that OnInitDialog() is not called on the problem PCs, the MessageBox I put in the beginning of OnInitDialog()proves that
2. The problem machines aren't running Win9x
All the test machines are either W2K or WXP
3. This is a normal dialog (not a file dialog / print dialog / other common dialog)
This is a single page dialog that has some edit boxes and check boxes.
I have tried "use MFC in a Static Library" in the project Setting->General->Microsoft Foundation Classes. And also tried copy the mfc42.dll to the exe folder of the problem machine. I am not sure if that is the right way to do it as you mentioned.
Thanks
|
|
|
|
|
I'm afraid i'm out of ideas then. I suggest you try to narrow down the problem by producing a stand-alone program with a simple dialog, verifying that this works on the problem machines, and then gradually morphing the code towards that which doesn't work until you are able to break it. Then work backwards, eliminating superfluous code until you can determine the source of the problem (or post it here).
Citizen 20.1.01 'The question is,' said Humpty Dumpty, 'which is to be master - that's all.'
|
|
|
|
|
Write a program that generates a random sequence of 300 rolls using the hidden Markov model for the occasionally dishonest casino. Your program should output a sequence of 300 rolls and a sequence of 300 states (Fair or Loaded). The loaded has probability of 0.5 for a six and 0.1 for the numbers 1 to 5. Assume the casino dealer switches from a fair die to a loaded die with a probability of 0.05 and probability of switching back is 0.1. Assume the dealer starts with a fair die.
|
|
|
|
|
Oluwaseyi Bamigbade wrote: Write a program...
Done. Thanks for playing.
"Love people and use things, not love things and use people." - Unknown
"To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne
|
|
|
|
|
And what about the budget?
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
|
|
|
|
|
CPallini wrote: And what about the budget?
For you free.
|
|
|
|
|
Hamid. wrote: For you free
OK.
Done.
He can download it on the website
www.cpallini.freeproducts.com
(it maybe down for a while due to funds shortage... )
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
|
|
|
|
|
i don't free!
"Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow Never mind - my own stupidity is the source of every "problem" - Mixture
cheers,
Alok Gupta
VC Forum Q&A :- I/ IV
Support CRY- Child Relief and You
|
|
|
|