|
|
Exist some message which is sent after a time when dialog and control are repainted ?? If I put the code in WM_PAINT and code draw where is the control i dont see anything.
|
|
|
|
|
do you mean "what messages cause the repaint of the controls on a dialog" or do you mean "is there an automatic redraw message sent every xx seconds"
??
---
"every year we invent better idiot proof systems and every year they invent better idiots ... and the linux zealots still aren't being sterilized"
|
|
|
|
|
I need draw resizeing box using CRectTracker and I dont know where i must put the code.
|
|
|
|
|
If you draw in WM_PAINT and you don't see anything, it means your drawing code is broken. You can also draw in WM_ERASEBKGND if you're drawing the background of the dialog, to avoid flicker.
If you're doing something whereby you want the dialog repainted, you need to call Invalidate(), or Invalidate(FALSE) if you don't want to erase the dialog ( again to avoid flicker ).
Christian
I have come to clean zee pooollll. - Michael Martin Dec 30, 2001
Sonork ID 100.10002:MeanManOzI live in Bob's HungOut now
|
|
|
|
|
I'm a little confused regarding InternetGetConnectedState().
If I run this function without a connection, dwFlags returns RAS, LAN and CONFIGURED
If I run this function with a connection, dwFlags returns RAS, MODEM and CONFIGURED
... so in truth, it doesn't appear that InternetGetConnectedState() is a very reliable test of whether or not you have an open connection. It seems to think that just because I have a LAN, that i must also be connected to the internet. Perhaps, it is merely testing for active ip traffic, sees the LAN, and hopes that it may be an internet source. I think this function simply returns true if it sees that you have a connectoid configured, regardless of whether you are connected
My only concern is that if it returns true, i assume a connection and then use other inernet sdk functions. If in fact there is not a connection, then a dialup is thrown. I don't want to throw up a dialup without first asking the user if they are ok for me to throw a dialup. Sure, i can inform them that running the functionality requires an internet connection and then they'll not be too surprised to see the dialup if i throw one. But as a developer, i'm obviously looking for the perfect solution.
I've also tried InternetAttemptConnect(0), and it always tell me that i am connected
I've also tried InternetCheckConnection(), and it always tells me that i am not connected
Whats a developer to do ? Is there any method that i can rely on ?
Jase
-------------------------------------------------------------------------------------------------------------------------------------------------------------------
View your digital photos and images with ease using the ultimate desktop image manager for Microsoft Windows
Download your free copy of SlideShow Desktop today from http://www.slideshowdesktop.com
|
|
|
|
|
you don't want to try pinging a known ip address outside of your local network and seeing if you get a response?
---
"every year we invent better idiot proof systems and every year they invent better idiots ... and the linux zealots still aren't being sterilized"
|
|
|
|
|
not really ... if your not connected it can take too long to timeout
Jase
-------------------------------------------------------------------------------------------------------------------------------------------------------------------
View your digital photos and images with ease using the ultimate desktop image manager for Microsoft Windows
Download your free copy of SlideShow Desktop today from http://www.slideshowdesktop.com
|
|
|
|
|
Try using InetIsOffline
Nish
Sonork ID 100.9786 voidmain
www.busterboy.org
If you don't find me on CP, I'll be at Bob's HungOut
|
|
|
|
|
But InetIsOffline() doesn't check for an internet connection. It merely checks to see if you have selected "Work Offline" in IE or Outlook.
<-- Snippet from MSDN -->
"Returns TRUE if the local system in not currently connected to the Internet. Returns FALSE if the local system is connected to the Internet or if no attempt has yet been made to connect to the Internet"
<-- Snippet End -->
By default, Windows assumes that you are connected to the internet as soon as you log on to Windows. The result of this is that InetIsOffline() will inform you that you are connected to the internet even if you are not, simply because you are not in 'Work Offline' mode ...
I'm beginning to doubt that the holy grail exists and am forming the opinion that there are no sdk or api functions that can reliably tell ou whether or not you are connected to the internet, and - this is the most important bit - not throw a dialup box if you are not connected.
?
Jase
-------------------------------------------------------------------------------------------------------------------------------------------------------------------
View your digital photos and images with ease using the ultimate desktop image manager for Microsoft Windows
Download your free copy of SlideShow Desktop today from http://www.slideshowdesktop.com
|
|
|
|
|
oh, sorry!
Then your only option is to try and connect to some site.
Say try connecting to yahoo.com port 80 and if you can connect, you are online, else you are not.
Of course there is a danger that yahoo is down.
so try two other sites too just to be safe. Try say, microsoft.com and then try google.com
Nish
p.s. sorry if this is a really stupid idea, but I see no other way.
Sonork ID 100.9786 voidmain
www.busterboy.org
If you don't find me on CP, I'll be at Bob's HungOut
|
|
|
|
|
Does anyone know of a free utility to make windows installer packages other than the one that you can download free at ms vc++ web page.
Microsoft only let you have it if you have the devstudio enterprise or advanced edition, and i only have the standard.
==================================================
When Your Mind Wonders...Where Does It Go???
|
|
|
|
|
These are both very popular and free. The Nullsoft installer includes full source code.
/ravi
"There is always one more bug..."
http://www.ravib.com
ravib@ravib.com
|
|
|
|
|
Hi. I have a class that is responsible for opening, closing, and doing everything for a wave device (wave in only). It is derived from CWinThread, and I have the callbacks for the wave device send thread messages to it. The messages are WM_WIM_CLOSE, WM_WIM_OPEN, and WM_WIM_DATA. In the WM_WIM_CLOSE message handler, I want the thread to quit, so I have a call to ::PostQuitMessage (0). This works the first few times I open and close a wave device, but then the debugger breaks and says in the output "HEAP[recorder.exe]: HEAP: Free Heap block 151338 modified at 151358 after it was freed". Why would it be doing this? Any ideas?
Another problem: Sometimes (not always), I get similar symptons when the device in opened, only it breaks when I call ::waveInOpen (). Same type of error in the output. I can continue the program and it doesn't seem to be huring anything, but it still concerns me and is anoying when I run the program in debug mode because it always stops. Has anyone ever experienced these problems? Thanks in advance.
|
|
|
|
|
drummer wrote:
Free Heap block 151338 modified at 151358 after it was freed
The CRT is catching a bug in your code. That message means that you allocated some memory, then later freed it, then wrote to the memory again using an old pointer that was still pointing at that block.
--Mike--
My really out-of-date homepage
Buffy's on. Gotta go, bye!
Sonork - 100.10414 AcidHelm
Big fan of Alyson Hannigan.
|
|
|
|
|
I figured it out. I wasn't doing any cross-thread syncronization, but I added it now using CMutex's and CSingleLock's. Now it works fine. Thanks though.
|
|
|
|
|
In my Non-MFC application i need to use strtok, now i used it in another function and it works fine, but in one function it fails and I don't know why.
Here is the code from the function that works:
int fsConsole::ParseCommandLine(char* line)
{
char* funcname;
char* values;
funcname = strtok(line," ");
values = strtok(NULL, "\n");
return Execute(funcname, values);
}
Now here is the broken function:
int fsConfigManager::CreateSetting(char* settingName, void* value)
{
char* pComponent = strtok(settingName, ":");
if (pComponent == NULL)
return EFS_INVALID;
char* pSetting = strtok(NULL, "\n");
if (pSetting == NULL)
return EFS_INVALID;
ConfigList.insert(pair<char*, fsItem>(pComponent, fsItem(settingName, (char*)value)));
return EFS_OK;
}
When strtok is called in the second function i get an access violation.
Thanks in advance.
Stephen Caldwell
Blackfission, CEO
http://blackfission.myip.org:81
|
|
|
|
|
strtok() modifies its argument (by inserting '\0's to separate tokens). In the broken function, settingName has been modified and is being passed to fsItem(), which likely expects it to be unmodified.
In general, you should use strtok() with a copy of your original string.
/ravi
"There is always one more bug..."
http://www.ravib.com
ravib@ravib.com
|
|
|
|
|
Thank you. It worked.
Stephen Caldwell
Blackfission, CEO
http://blackfission.myip.org:81
|
|
|
|
|
I'm relativly new to MFC and would like to write some test code using the MSComm control. I've added one to my dialog and attached a variable to it. I just cannot seem to get the SetOutput() to actually output any bytes. Also, I ran across some "supposidly" working MFC code, but it will not work for me. Could someone please provide a simple example of sending a byte, say 0x90? Here is the "non-working" code that I found:
m_objMSComm.SetRThreshold(1);
m_objMSComm.SetRTSEnable(TRUE);
m_objMSComm.SetSettings("9600,n,8,1");
m_objMSComm.SetSThreshold(1);
m_objMSComm.SetPortOpen(TRUE);
COleSafeArray objOutputBuffer;
int iLoopVar=0;
long iArraySizeInc=0;
BYTE bOutput;
// First Byte to be send
bOutput='A';
objOutputBuffer.PutElement(&iArraySizeInc,(void *) &bOutput);
objOutputBuffer.ResizeOneDim(iArraySizeInc+2);
iArraySizeInc++;
// Secondt Byte to be send
bOutput='B';
objOutputBuffer.PutElement(&iArraySizeInc,(void *) &bOutput);
objOutputBuffer.ResizeOneDim(iArraySizeInc+2);
iArraySizeInc++;
// Third Byte to be send
bOutput='C';
objOutputBuffer.PutElement(&iArraySizeInc,(void *) &bOutput);
objOutputBuffer.ResizeOneDim(iArraySizeInc+2);
iArraySizeInc++;
//sending "ABC" through comm port #1
m_objMSComm.SetOutput((VARIANT)objOutputBuffer);
Thanks in advance!
|
|
|
|
|
I'm trying to write a program that will , on starting, look for a file in the root directory of the CD drive. Of course we all have different CD drive letters so how can i get the software to find the required file?
.NET or not .NET? MFC is the question......
|
|
|
|
|
GetLogicalDriveStrings() will return a list of all drive letters on the system. Pass each one to GetDriveType() until you find a CD drive.
--Mike--
My really out-of-date homepage
Buffy's on. Gotta go, bye!
Sonork - 100.10414 AcidHelm
Big fan of Alyson Hannigan.
|
|
|
|
|
Hi.
I am working on an interesting and simple problem. A program I am working on initializes an ofstream object. It does calculations (arbitrary) and writes to the output file. The problem is sometimes it writes new data and sometimes it does not. I am currently using a bool to make sure if it does not write new data, then it should remove the output file when it finishes. There is one false assumption. I am assuming the output file is always empty. That is not true because the output file is openned with "ios::app," which is appending mode. The program sometimes remove files that are not empty.
I tried using the empty() function, but it does not work for an ofstream object. I would like to know the best way to check to make sure an ofstream object is *empty* return from the a end of class or before the program closes.
Thanks,
Kuphryn
|
|
|
|
|
Have you tried not opening the file until you write to it ?
Crivo
Automated Credit Assessment
|
|
|
|
|
Thanks.
You made a good point. The way I designed program have it open the output file first. I feel it is more elegant relative to the *user* if I leave the program in its current structure.
I implemented the seekp() and tellg() functions determine whether the program made any changes to the output file.
Kuphryn
|
|
|
|