|
I got it, it was the 64 bit portability warnings, i have to use LONG_PTR instead of longs to be ready for 64bit stuff
|
|
|
|
|
<font style="color:blue;">long </font>pos; <font style="color:green;">
<font style="color:blue;">void</font>* d = <font style="color:blue;">static_cast</font><<font style="color:blue;">void</font>*>(pos);
TOXCCT >>> GEII power
|
|
|
|
|
thats evil, the the compiler is telling you so. It almost works now, but it won't work (100% anyway) on 64 bit systems.
you shouldn't do
long pos = 10;
it should be
long *pos = (long *)10;
then you can do
void *d = pos;
which is legal.
If you can't change your code like the above, then the work around that others have come up with will work. Just make sure you comment why you had to do it incorrectly so I curse the idiot before you, and not you, when I come in two years from now to make the code 64 bit safe.
64 bit processors are coming. They have been around for more than 10 years, and are slowly making gains on the desktop. Already people are buying them and not knowing it. (though they are running a version of windows that doesn't support the 64 bit parts, eventially they will be running 64 bit windows and not know it)
|
|
|
|
|
Hello,
I'll try to explain what I'm trying to do:
On the about dialog of some programs there is
an email address (often underlined and typed in blue)
that is not a static text, because if you click on it,
a new outlook message
-directed to the desired address- is automatically opened.
How can this be done?
Thankyou in advance,
Marco.
|
|
|
|
|
Search for "hyperlink controls" here.
"When I was born I was so surprised that I didn't talk for a year and a half." - Gracie Allen
|
|
|
|
|
Hi,
I made a small project and draw a graph and write a few lines on the display using CScrollView, the scrollbar works when the text exceed the windows.
To work on the print preview, after adding the following, the print preview looks ok, but the display fails even when I move the thumb scroll bar.
void CReaderView::OnPrepareDC(CDC* pDC, CPrintInfo* pInfo)
{
if (pDC->IsPrinting())
{
int pageHeight = pDC->GetDeviceCaps(VERTRES);
int OriginY = pageHeight * (pInfo->m_nCurPage-1);
pDC->SetViewportOrg(0, -OriginY);
}
CView::OnPrepareDC(pDC, pInfo);
}
I tried to add a WM_VSCROLL, and change the ViewportOrg, seems not working.
I also found if I replace the last line with
CScrollView::OnPrepareDC(pDC, pInfo); the effect is reversed.
Anyone could give me some hints on this?
Thanks.
|
|
|
|
|
I have a VC++ application built in .NET that is generating some very odd errors. I have a call to FindWindow that gets the HWND for another application so that I can manipulate its display parameters. Normally this call works fine. However, when I run the application while recording events or playing them back from a tool called EventCorder, which has hooks for recording and playing back windows events, FindWindow fails. It returns a NULL, and GetLastError returns 126 ERROR_MOD_NOT_FOUND. EventCorder does not alter my path or other environment variables, as I have proven in debugging, so I do not understand why this module would not be found at runtime when EventCorder is running, but can be any other time. I would greatly appreciate any assistance anyone can provide with this very odd error.
|
|
|
|
|
Hi Friends,
Currently i am developing Graphical editor application. In this i have to store the all drawn objects in the ptrlist. Whenever the new object will be drawn then entire list will be refreshed (i.e., redarw the whole things again)... so if the number of objects are increased, this logic mostly affects the performance. For avoiding that i got one pattern from the net "Invalidation/Redraw -- A Graphical Interface Pattern" (http://www.flowerfire.com/cs497rej/et++/InvalidationRedraw.html)
But i don't know how to implement this pattern in VC++. Let me know if anyone knows about this pattern implementation in vc++.
Regards,
Prakash
A Journey of thousand miles must begin with a single step.
|
|
|
|
|
I read the pattern. Basically, it seems to resolve into these major issues:
1. Don't redraw objects in your list unless a new or relocated object uncovered it.
2. Don't draw objects in your list that are completely obscured by another object.
3. While dragging an object, don't redraw all objects on screen, only those that were uncovered - OR - wait until there is some other event, like mouse up, and then redraw objects that were uncovered along the way.
If you keep adding to the invalidation rectangle as an object is moving, and then invalidate that rectoangle after the object stops moving, when your window paint message comes along, the paint rectangle will match your invalidated rectangle. Go through your list and only draw objects that are partially or entirely within that rectangle, and skip all the others. Not 100% efficient, but it will get you going and be better than redrawing EVERYTHING each time you get a paint message.
|
|
|
|
|
First of all, you really want to make sure that you have a performance problem. Start with double-buffering the output and killing WM_ERASEBKGND.
|
|
|
|
|
Hello guys,
I have to build a neural network for my project and I have to code for it in VC++, but I am not able to find any staright tutorilas which will discuss about the implementation or the way in which we have to proceed to build aneural network in VC++. Can anyone help me out by advising or giving me code for building a simple neural network. Please help me out as early as possible.
Pavan Kumar N Tiruveedhula
2382 Duncan Dr #4
Fairborn, Ohio-45324
1 (978) 473-1244
|
|
|
|
|
Is there a message or function for a CWnd that is after the CWnd has been created but before it is displayed, something similiar to the OnInitDialog for a CDialog object.
Thanks
|
|
|
|
|
|
In that case is there a message before the window is displayed but after CView and CDocument have become active, so that I can use CFrameWnd::GetActiveDocument() from MainFrame?
Thanks
|
|
|
|
|
I am wondering if anyone has any other ways of tallying up the filesize of all files in a folder than the following:
Using CFileFind recursively to get a list of all files in the specified folder and its subfolders, and calling CFile::GetStatus() on each file found to tally the total filesize.<br />
I've discovered that this is quite quick to do for folders with thousands of files if it is on a local HD, but if it's across the LAN on a seperate box it is rather slow to do this.
I need a different way of doing this that will be much quicker: I have a set of many folders to check filesizes on, and if just one folder is taking 20 seconds, it's killer to wait for a set of 50 folders, heheheh.
If anyone has a better way, let me know!
: Dean 'Karnatos' Michaud
|
|
|
|
|
Doing the same thing across the network is going to be slower than doing it on the local machine, you can't stop that.
You might make it marginally faster by having a service on the remote machine do all the disk\file work for you and return just the folder totals. There will still be overhead of network communications but the service will be accessing the disk locally and so might be somewhat faster depending on the layout of the files and folders on the disk.
A further step would be to have the service monitor the folders and keep an semi-real-time total of the folders which it could return without scanning the disk at request time.
"No matter where you go, there your are." - Buckaroo Banzai
-pete
|
|
|
|
|
This http://support.microsoft.com/?id=835601[^] talks of a similar problem?
Why not make a socket-based app at the other end of the connection, and make that app do the CFileFind thing on the remote comupter. This would take some effort no doubt, but I suppose it should be faster than using CFileFind on a local pc with a remote directory...
Bikram Singh
|
|
|
|
|
Yeap - I've thought about having a service on the other end that keeps a tally in real-time and have my app just ask it for the folder sizes. If I have to I'll take that approach.
I'm just wondering if there is any other way that might even be marginally faster than what I am doing. I was wondering if there's a way to query a folder's size rather than querying each and every file as I am doing.
I'll have a look at that MS article now... perhaps it might shed some light on things for me. Thanks to both you and palbano for quick replies. If anyone thinks of something else I'm all ears
|
|
|
|
|
>> If anyone thinks of something else I'm all ears
Well you might also take a look at using FTP. At least that way you don't have to build your own service just the client to communicate with FTP. FTP without getting into file transfers is fairly simple.
"No matter where you go, there your are." - Buckaroo Banzai
-pete
|
|
|
|
|
I managed to cut the time it takes down by half.
I was being dense, I did not realise that CFileFind can return the filesize without having to call CFile::GetStatus().
It's still slow, so if anyone else knows of a quicker way, other than using a service on the networked PC, feel free to let me know!
: Dean 'Karnatos' Michaud
|
|
|
|
|
No, but if you DO end up writing a service, then you can also use the file change notifications, if you are only wathcing a few directories, and the OS will let you know if anything has changed in the folder, so you won't even really need to periodically scan the folder, you will be told when something is different about it!
We ran into this same network issue, and went the 'remote app' route.
|
|
|
|
|
CFileFind might be converting the date and times to c style dates and times. In your case, I doubt it matters much, but I have seen applications where the conversions where taking up over 20% of the process time. You might try using the WIN32 functions directly.
Tim Smith
I'm going to patent thought. I have yet to see any prior art.
|
|
|
|
|
How to complile WMI andf ADSI with studio version 6 ?
Including ADSI .h files
I have errors of "not dofined classes",
same abour sample from this site.
When I install Platform SDK 2001 (for time of studio),
error changes to RPC files .h can not right compile.
How to resolve it?
Install new Platform SDK 2004 ?
(All works fine in 7.1 studio, but buyer wants 6.0 version).
thanks
|
|
|
|
|
Hi all
I had trouble with registration my own ActiveX component in Win98.
I make one in VC.7 and compiled under Win2000 ,and when i
register one under Win2000 all fine.But when i register same component under Win98 regsvr32 rise error: "0x0000045a"
Registration routine filed .I explore this scomponent's dll by depends.exe and all depended file presented on the target(Win98) platform.
P.s. component use multi byte character set
Any idea???
Thank.
|
|
|
|
|
This problem happens probably because the Win98 don't have native support to Unicode.
Check if your machine Win98 have Uicowslib.dll installed. If not, Install support for Unicode for Win98, and then, try to register your component.
Also, you can static link your dll with Uicowslib.lib.
Enjoy it
Rodrigo Pinho Pereira de souza
|
|
|
|