|
Thanks for the help.
By searching for "TOOLTIPS_CLASS" on Google I finally found an MSDN article that covers what I want to do here:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/commctls/tooltip/usingtooltips.asp
Thanks again,
KB
|
|
|
|
|
I am working on establishing a connection with a telnet server that is inside a hardware device I'm trying to communicate with. Is there any extra negotiation that needs to occur so that I can successfully establish a two way communication or can I just simply create a socket and start sending messages back and forth?
I've actually tried the socket approach with Perl but it didn't work too well. I'm new with Perl so that may be the reason. My final application needs to be in C++ anyway so I thought I'd ask around here.
thanks in advance.
--Erick
|
|
|
|
|
lightyear wrote:
Is there any extra negotiation that needs to occur so that I can successfully establish a two way communication or can I just simply create a socket and start sending messages back and forth?
You need to create a socket and connect to the server, and then follow the standard Telnet protocol (see RFC0854 for details). Basically, the server will query your application to see what it supports - you can safely tell the server you don't support anything. After this negotiation, you can pass data back and forth.
Hope this helps,
Ryan "Punctuality is only a virtue for those who aren't smart enough to think of good excuses for being late" John Nichol "Point Of Impact"
|
|
|
|
|
malloc ?
I want to allocate a memory block (such as 150 bytes) with all chars are initialize with "A"
this is my way:
char* p;
p=(char*)malloc(150)
//if( p == NULL )
// errhanlder("Insufficient memory available");
free(p);
// All okay but all chars are disorder, not "A"
but when I reset all chars in my string to "A" .....
ErrMessageBox is shown
char* p;
p=(char*)malloc(150)
//if( p == NULL )
// errhanlder("Insufficient memory available");
_strset('A'); // set all char to "A"
free(p); // Error in this line, if delete this line, it runs okay
Why when I try to free memory block, Error MessageBox show ?
>> when I debug , I get info:
// _msize(p) => return 150 but
// strlen(p) => return 154 ???????
// I try to set p+150 = 0x0(nullchar) but Error still show
// strcpy(p+150,0x0)
help me~
and is there a way to create StrArray[a][b] with a, b are variable
example :
StrArray[1][1] point to a string "hello"
StrArray[1][2] point to a string "bye"
StrArray[2][1] point to a string "good"
StrArray[2][2] point to a string "very long string ...."
........
thanks
|
|
|
|
|
_strset has the form
_strset(p, 'A');
and the string also needs to be NULL terminated...so try
p[149] = '\0';
_strset(p, 'A');
Gary Kirkham
A working Program is one that has only unobserved bugs
I thought I wanted a career, turns out I just wanted paychecks
|
|
|
|
|
strcpy(p+150-1,"\0");
_strset(p,'A');
>> when I debug:
_msize(p)=150
strlen(p)=149
and Error MsgBox isn't shown
thank youuuu
|
|
|
|
|
_skidrow_vn_ wrote:
strcpy(p+150-1,"\0");
Per Check's suggestion on the MFC newsgroup, try:
*(p + 149) = '\0';<br />
_strset(p, 'A');
|
|
|
|
|
Do it like Gary told you, instead of strcpy use p[149] = '\0';
modified 12-Sep-18 21:01pm.
|
|
|
|
|
That won't work since you are hoping that bytes 0-148 are not NULL.
memset (p, 'A', 149);
p [149] = 0;
Tim Smith
I'm going to patent thought. I have yet to see any prior art.
|
|
|
|
|
You are correct...I was explaining why _strset was bombing.
Gary Kirkham
A working Program is one that has only unobserved bugs
I thought I wanted a career, turns out I just wanted paychecks
|
|
|
|
|
Here is what I would do :
#define MY_BLOCK_SIZE 150
char *p = calloc( MY_BLOCK_SIZE, sizeof(char) );
if( p )
memset( p, 'A', MY_BLOCK_SIZE-1 );
calloc allocated and zeros the block of memory.
The Ten Commandments For C Programmers
|
|
|
|
|
Hi,
I'm working on a video tracking project wherein I am capturing video frames using a frame grabber and viewing iti on a GUI application developed in VC++. Now, the idea is, whenever there is a breach, we need to send 3 frames from this video to a Pocket PC over a 802.11b network . Also, we need to record a video file(15 frames)and send it to the PDA. Is it good to store the frames on the hard disk and then send them to the Pocket PC or write an encapsulated VC++ class to send raw video frames to the Pocket PC without saving it hard disk? Can anybody suggest me a code for this?
Chikka
|
|
|
|
|
In my MFC application, when the user makes changes to a document, and they try to close it, a dialog box pops up saying, "Save changes to BLAH.txt?". That's what happens in Win98.
But when I run my app in XP, it comes up saying something crazy like: "blah.txt ??????????????????" or something. Note I am not implementing this dialog box, MFC is doing it behind the scenes.
Also the buttons in Print Preview seem to be screwed up as well in XP apposed to the correct button text in Win98.
What the hell?
|
|
|
|
|
Often problems show up on one version of Windows and not another, just like things are fine in Debug, but not in a Release build. Could be unitialized variables being initialized differently, or some other out and out bug. You'll need to work through in the debugger and see what is going on.
Neville Franks, Author of ED for Windows. Free Trial at www.getsoft.com
|
|
|
|
|
Check the language of the XP machine. Sounds like you may right-to-left text enabled, but lack the proper language string files.
|
|
|
|
|
I need to create a dialog box when a user holds down ctrl, then hits g and then d. i can do it if the user hits g, but how do i take care of the ctrl and d keys?
void CMainFrame::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags)
{
if(nChar == 'g')
{
Password dlg;
dlg.DoModal();
}
CFrameWnd::OnKeyDown(nChar, nRepCnt, nFlags);
}
any ideas? I've tried if((nChar == 'g') && (nChar == 'd')) but that didn't work.
*.*
cin >> knowledge;
|
|
|
|
|
at the same time ? or ctrl-g then d ?
for the ctrl-g you can create an accelerator for it, and in it you start polling for a key down and capture the "g"
or a simple state machine, with the onkeydown, you check the ctrl key with GetKeyState.
at the same time, why so complicated ?
Maximilien Lincourt
"Never underestimate the bandwidth of a station wagon filled with backup tapes." ("Computer Networks" by Andrew S Tannenbaum )
|
|
|
|
|
the user holds down control, and hits , styill holds down control, lets go of g, then hits d, then lets up d and control.
I can't have a menu item or a toolbar icon for this, it's not something users shoudl access, only certain people (the people who fix the program when its broken). Im using OnChar to get the g, should i use OnKeyDown instead?
*.*
cin >> knowledge;
|
|
|
|
|
Rather than try to implement some kludgy combination of keystrokes, I would think simply starting the program with a special command-line argument would be way easier.
|
|
|
|
|
You could trap the Ctrl-g as shown, set a flag.
Trap Ctrl-d, and if the flag is set, do your thing.
If any other key is pressed, reset the flag.
Facts do not cease to exist just because they are ignored
Aldous Huxley (1894 - 1963)
|
|
|
|
|
this was my origional idea, but i don't understand how i can trap both the ctrl and the g at the same time. in OnChar, the variable nChar is only one value, correct? unless i'm mistake, how can i look for 2 keys at the same time?
*.*
cin >> knowledge;
|
|
|
|
|
keegan wrote:
how can i look for 2 keys at the same time?
You can't, unless they are keys like Ctrl, Shift, and Alt, which can be pressed simultaneously.
In your character-detection code:
if (Ctrl+g was pressed)
set flag = T
else
{
if (d was pressed)
{
if (flag equals T)
}
else
set flag = F
} Make sense?
|
|
|
|
|
Hi all can any one provide me with a code that recognizes clicks and double clicks in Journal record Hooks
take care
regards
Basim
|
|
|
|
|
I am having touble developing a MFC project to switch images on tool bar buttons. First I can not get the following code to display predefined bitmap images in the toolbar.
The desired result of this code is, of course, to produce the desired images on the tool bar and then have the images switch as the tool bar button is toggled... the toggling code will be implimented in an OnUpdateUI handler which is another part of this project.
The updating code will look something like this...
void CMainFrame::OnUpdateSwitch_134(CCmdUI* pCmdUI)
{
m_bSwitch134 = !m_bSwitch134;
if( m_bSwitch134)
SwitchToolBar.OnChangeButton( IDB_ON, 1, RGB(0,0,0));
else
SwitchToolBar.OnChangeButton( IDB_OFF, 1, RGB(0,0,0));
}
This code compiles fine but the tool bar is blank...
Would appreciate any comments or help.
Thanks...
Ozzy
CToolBarCtrl SwitchToolBar;
CImageList* m_ptrImageList;
CImageList SwitchImageList;
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
TBBUTTON tb;
if (CFrameWnd::OnCreate(lpCreateStruct) == -1)
return -1;
// create CToolBarCtrl toolbar
SwitchToolBar.Create(WS_CHILD|WS_VISIBLE|WS_BORDER|TBSTYLE_FLAT,
CRect(0,0,0,0), this, IDR_TOOLBAR1);
// create ImageList from IDB_SWITCH_IMAGES
SwitchImageList.Create( IDB_SWITCH_IMAGES, 20, 1, RGB(192,0,192));
// get image list pointer
m_ptrImageList = SwitchToolBar.GetImageList();
// set image list for SwitchToolBar
SwitchToolBar.SetImageList( m_ptrImageList );
// assign elements in TBBUTTON structure
tb.iBitmap = 0;
tb.iString = NULL;
tb.fsState = TBSTATE_ENABLED;
tb.fsStyle = TBSTYLE_BUTTON;
tb.idCommand = 0;
// add buttons to list
SwitchToolBar.AddButtons(1, &tb );
return 0;
}
|
|
|
|
|
After insert the JpegLib project into my own project, when compiling it there is one error:
\jpeglib\jmorecfg.h(238) : error C2371: 'boolean' : redefinition; different basic types
\vc98\include\rpcndr.h(173) : see declaration of 'boolean'
in jmorecfg.h, it is defined as bellow:
#ifndef HAVE_BOOLEAN
typedef int boolean;
#endif
while in VC rpcndr.h there is another define:
typedef unsigned char boolean;
if I delete two include file, this problem doesn't appear:
#include <afxdisp.h> // MFC Automation classes
#include <afxdtctl.h>// MFC support for Internet Explorer 4 CommonControls
but these two include files is useful for me ,so I can't delete them
if I don't delete these two include files and add
#define HAVE_BOOLEAN
before
#include "jpglib.h"
the redefinition error doesn't appear also, but the Jpeg image can't display correctly, so I need help。
swandream
|
|
|
|
|