|
Will anybody give answer of this question?
|
|
|
|
|
Dev-2 wrote: Will anybody give answer of this question?
Where do you think you are ? This is a message board, not a chat here. So be patient!
Now for your question, there's no automatic or magic way to migrate from VC6 to a more recent version. What you have to do is open your VC6 workspace with VS2005, then a conversion wizard will appear asking you if you want to convert the project. This only converts the project files, not the source files. Once the conversion is done, you'll need to compile and check if everything is ok. If you have errors, well you need to fix them and recompile. And if other errors appear, you have to repeat the operation .
One of the most frequent source of error coming from that kind of migration, is the support for UNICODE. By default in vc6 it is disabled but for more recent IDE, it is enabled. It means that if you used char instead of TCHAR in your code, you'll end up with a lot of errors. I suggest you read this article[^] if you want more information (you could also disable UNICODE support in your project options).
Good luck.
|
|
|
|
|
|
How to declare "Global Variable" that whole class in the project(MFC) can see this variable.
Where's to declare it?
Please Help.
modified on Thursday, November 19, 2009 12:37 AM
|
|
|
|
|
If your project is SDI or MDI then you gave a class drived from CWinApp.
look at the header file there is an extern object. declare your object just like that.
www.logicsims.ir
|
|
|
|
|
|
Just Declare in stdAfx.h without extern.
CString tmp; is enough.
G.Paulraj
|
|
|
|
|
If you need a variable visible to all classes of your project, an option maybe a static member variable of your CWinApp -derived class.
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
[My articles]
|
|
|
|
|
Doesn't need to be static. Presumably, there's only one instance of the app and it's there for the duration. But I like the placement.
You measure democracy by the freedom it gives its dissidents, not the freedom it gives its assimilated conformists.
|
|
|
|
|
Doesn't need to be static? The OP said he needs it 'everywhere'. For instance, think of those classes that are his own (and have no access to the CWinApp derivative). They won't be able to touch the variable unless it is static.
The fact that I consider a singleton class instead of a global variable a better option is aside though.
“Follow your bliss.” – Joseph Campbell
|
|
|
|
|
You have access to the instance of the CWinApp derived class anywhere you include the .h file with extern AppClass the App. There is only one of them. The member of that class he wants is NOT static but a regular memeber. There is, presumably, still only one of them and it's available anywhere through the app instance, theApp.theVarible or theApp.GetVariable() depending on how anal you are about accessor functions. I fall into the anal category.
You measure democracy by the freedom it gives its dissidents, not the freedom it gives its assimilated conformists.
|
|
|
|
|
Never mind, I actually got your comment wrong. I fall into your category as well.
“Follow your bliss.” – Joseph Campbell
|
|
|
|
|
Tim Craig wrote: You have access to the instance of the CWinApp derived class anywhere you include the .h file with extern AppClass the App.
There's no need to expose the application object anywhere you need just one variable.
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
[My articles]
|
|
|
|
|
True, but then there's no technical reason we need object oriented code either. But if a variable needs to be seen by the whole application, then encapsulating it in the app class seems the perfect place for it.
You measure democracy by the freedom it gives its dissidents, not the freedom it gives its assimilated conformists.
|
|
|
|
|
|
Gee, seeing as how theApp is global anyhow, I'd say he has access to them whenever he wants. Of course, I seem to remember getting smacked around in some forum here when I said sealed classes were a stupid idea but maybe that was just some C# twits who happened to be wandering by.
You measure democracy by the freedom it gives its dissidents, not the freedom it gives its assimilated conformists.
|
|
|
|
|
Out of curiosity, why do you need a global variable that can be accessed by "whole class in the project"? I think that a singleton class would be the best option, but I'd like to know the reason first...
“Follow your bliss.” – Joseph Campbell
|
|
|
|
|
Hi...
My code is...
{
CString m_usrDia, value;
for(int i=0;i<10;i++)
{
m_lstctrl.SetItemText(i,0,value);
m_lstctrl.SetItemText(i,1,value);
m_lstctrl.SetItemText(i,2,value);
if(m_usrDia == value)
{
m_lstctrl.SetItemText(i,3,value);
}
else
{
m_lstctrl.DeleteItem(i);
}
}
}
it is not working.
If the cstring values of m_usrDia, value are equal then the value have to set in the listctrl item. otherwise it should be delete the whole line.
can anyone please help me?
Thanks.
G.Paulraj
|
|
|
|
|
First of all, you never seem to give any value to your string variables. But i will asssume you do somewhere in your code and this is just a stripped version so we see what those are. Then, what is the point of setting the itemtexts and after you done that, checking if you set them to a certain string and if you did then deleting them? Why not check first and set the items only if needed? Then, as i see, none of your string variables ever change in that loop, so it will either try to delete everything or nothing. Then, if you delete items in a for loop you should rather go from back to front, meaning -based on your code sniplet- for (int i=9;i>=0;i--)... because if you go in an "increasing order" then you will most likely skip items since when you delete an item, the index of all the other items after it will change but your loop variable doesn't take that into account.
p.s: please the next time you submit code, put it between code block tags, that is, <pre> and </pre>, this makes it much more readable, thanks.
> The problem with computers is that they do what you tell them to do and not what you want them to do. <
> Sometimes you just have to hate coding to do it well. <
|
|
|
|
|
gnanapaul wrote:
it is not working.
No surprise, as it's a disaster in the making. You can't add/change items and delete other items in the same loop. When an item is deleted, all other items below that one get renumbered. If you insist on doing it this way, change the for() loop to be:
for (int i = 9; i >= 0; i--)
{
m_lstctrl.SetItemText(i, 0, value);
m_lstctrl.SetItemText(i, 1, value);
m_lstctrl.SetItemText(i, 2, value);
if (m_usrDia == value)
m_lstctrl.SetItemText(i, 3, value);
else
m_lstctrl.DeleteItem(i);
}
"Old age is like a bank account. You withdraw later in life what you have deposited along the way." - Unknown
"Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons
|
|
|
|
|
Hello,
I opened a multiband(band number>3) tiff image with gdalopen(). Then, use gdaldataset::getrasterband to get 3 bands as RGB bands to create a bitmap. And i use stretch to draw the bitmap in view class.
For most multiband tiff images, the image shown on the screen is identical to that opened by commercial software, such as erdas or envi.
But for some multiband tiff images, the image drawn on the screen is quite colorful. The shape and location of objects in the image is correct, but the color is distorted, and different from envi with the same input channel set and many possible input channel sets as well.
could anyone who is familar with gdal help me fix up this problem?
|
|
|
|
|
the best way i've found to diagnose TIFF issues is with TIFFDUMP (source comes with LibTiff, but you can probably find an EXE with Google). it will display all the tags in the TIFF.
so you can see what colorspace the TIFF uses, the order of bytes, samples per pixel, etc.. odds are that whatever TIFF reader you're using just isn't catching some tag combination. given the number of possible combinations, it's not uncommon for a TIFF reader to choke on some variants...
|
|
|
|
|
Hi all,
How to prevent same program can open twice in windows?I want limit my program can only 1 time in windows only. Can anyone suggest me a method to do it?
|
|
|
|
|
|
Thank you. This solve my problem
|
|
|
|
|