|
What is written in the OnCtlColor ? Share that code?
|
|
|
|
|
I am not using OnCtlColor function
|
|
|
|
|
Is it a custom static control? Means have you derived from CStatic and using it?
|
|
|
|
|
s... it is derived from CStatic
|
|
|
|
|
Then most probably you are not clearing the background in the OnPaint
|
|
|
|
|
Hi, I wanted to ask if anyone ever go into this link, which teaches us how to do an Owner Draw Menu.
http://www.codeguru.com/cpp/controls/menu/article.php/c3721/
By following this tutorial, we'll have an Owner Draw Menu. But I don't know where to set so that when my mouse over the menu item[without left click] then the background color wont shaded.
Unless i left click on the menu item, then the background color of the menu Item is shaded as well as show the submenu of it.
Anyone know where do i have to set so that when mouse over it will have the background color of the menu item shaded ??
Any help is appreciated
Regards,
KH
good
|
|
|
|
|
Hi,
I think ON_UPDATE_COMMAND_UI will help you.
Jose Jo Martin
http://www.simpletools.co.in
|
|
|
|
|
I cant find any ON_UPDATE_COMMAND_UI in the mainFrame's Properties >> Messages
Is it I have to create my own UPDATE_COMMAND_UI ??
good
|
|
|
|
|
Hi All,
I am porting a VC++ 6.0 application to VC++ 9.0. In this process i am getting these erors.
1. void CRoute::RestoreCurOrder(ComPtr<cworkorder> &pOrder)
{
XXX = pOrder.get();
}
error C3867: 'ComPt<t>::get': function call missing argument list;
use '&ComPtr<t>::get' to create a pointer to member
2. _bstr_t func("CScreenDlg::GetDataField(" + tableName + "." + fieldName + ")");
TRACE(func + ": Table not found"); //#define TRACE ATLTRACE//
error C3066: there are multiple ways that an object of this type can be called with these
arguments
Any suggestions will help me fixing the issues.
Thanks.
|
|
|
|
|
Well, VC6 is a hideous disaster, and MFC has changed. Your code must have been very good for these to be the only errors you get. The first error looks to me like the only visible get method expects parameters. The second looks like it can't work out what sort of string you have, so try building the string first and passing in as a specific type of string, such as a BSTR, a CString or a char *.
Christian Graus
Driven to the arms of OSX by Vista.
|
|
|
|
|
Hi,
The second got resolved, but the first problem get() method has no parameters.
Regards,
Ramahcandraraju KK
|
|
|
|
|
I am not sure when we use an UDP socket to send and receive messages from one windows application to a mobile device that uses a modem and SIM card, where a port be assigned to an IP. say I have a SIM card with fix IP xxx.xxx.xxx.xxx, when I send a message I get it in my Windows base app as coming from that IP and a big port number (i.e. 48618). The SIM card provider suggests that they don't assign any port number to a SIM card. the thing is that after a while the port number gets changed if there is no traffic and My application can't send a message to the device as I send to the IP and the port that I got the last message from.
Best,
Nahita
|
|
|
|
|
If there is an application on that mobile device that you want to communicate with, you have to have the specification for communicating with the application, you can't just guess at how to do it. Do you have the specification?
led mike
|
|
|
|
|
I can communicate with the application to the mobile device fine. My problem is that the port gets changed time to time and I was wondering if anybody knows where a port gets assigned in GPRS for a UDP socket.
Thanks,
|
|
|
|
|
A port represents a way to identify which specific process a packet is addressed for on a system where multiple processes share the same network connection. Therefore ports are generally an application level mechanism. If the mobile device does not use this typical approach then I don't know what it uses, but someone does that would be related to that specific device. In a typical use of a TCP/IP stack the application can choose to be assigned a random port from the stack. In that case the "where" is in the TCP/IP stack code.
Either way, I don't understand how knowing "where" the port assignment occurs helps you do anything about it. That aspect of the mobile devices system is not going to be exposed to your remote application. You will have to use the specifications for that device/application, as I previously stated, for communicating with it/them, period.
led mike
|
|
|
|
|
nahitan wrote: the thing is that after a while the port number gets changed if there is no traffic
Can't you ping the device time to time? I supose when there is no communication for a while it will "timeout" and close the socket or whatever it uses and when it has something to send it will create a new one, send the message from there and keep it up again for a while. But if you don't let it timeout it might stick to the original port.
> The problem with computers is that they do what you tell them to do and not what you want them to do. <
|
|
|
|
|
to maintain a port you need to send a ping every 45 seconds that is a lot of data and if you have 2000 devices, that would be a big number. I am just wondering where a port gets assigned.
Thanks,
|
|
|
|
|
If there is no fix port number you can communicate with, how do you make a "connection" (i know it is connection less UDP) to the device the first place?
> The problem with computers is that they do what you tell them to do and not what you want them to do. <
|
|
|
|
|
When reading a binary file, and you have no clue what the delimeter may be, since you only care about the raw number of bytes you read, and yes there are thousands of \n's in the file for some reason.
Is there a single function that can do that without specifying what the delimeter is or do I have to read this character by character?
|
|
|
|
|
there are functions that ignore the data completely. What is it you are using right now?
Maybe you could show some code...
|
|
|
|
|
<br />
char* buffer = new char[settings.getAccessesToSimulate()];<br />
char* fname = settings.getFileName();<br />
<br />
ifstream binFile(fname, ios::in|ios::binary);<br />
<br />
if(!binFile)<br />
{<br />
}<br />
<br />
binFile.read(buffer,settings.getAccessesToSimulate());<br />
<br />
binFile.close();<br />
<br />
I also tried, get and getline after that with the same results. After this little beauty runs, I get buffer = "gsA" which is incorrect since I'm giving it 1000 characters to read. Opening the file manually (in windows, not linux where its supposed to be) shows me that there's an NUL right after those three characters (they're actually hex).
|
|
|
|
|
Mustafa Ismail Mustafa wrote: After this little beauty runs, I get buffer = "gsA" which is incorrect since I'm giving it 1000 characters to read. Opening the file manually (in windows, not linux where its supposed to be) shows me that there's an NUL right after those three characters (they're actually hex).
But what is there in buffer **after** the NULL? You're displaying buffer as a C string, so printf (or whatever) sees the NULL and presumes that's the end of the data in buffer . It probably *isn't*. The trouble is that the C string semantics get assumed for any char* , but those aren't the semantics you want.
You probably ought to iterate through buffer with a for-loop or something to see the data after the NULL.
|
|
|
|
|
That's what I did. Buffer only contains those 3 characters. I know the file has 4,000,000 bytes of data that I need extracted.
I'll be more than happy to change the implementation to something else. I'll just need to be pointed in the right direction
|
|
|
|
|
I've just built your code into a small executable and read a file containing the following text:
48 65 6C 6C 6F 00 48 65 6C 6C 6F
That's two instances of the word 'HELLO' separated by a NULL. I looked at the contents of buffer using the 'Examine Memory' feature of WinDbg and it contained the 11 bytes shown above. That's what you wanted to achieve, no?
|
|
|
|
|
Precisely. So why is my buffer reading 4 bytes (the 3 characters and the terminator) before exiting? Any ideas?
|
|
|
|