|
Hi Mahesh..
I am not sure about the code part, but I am sure that if you can patiently go through your code, then 80% of your problem will be solved. Just remember that every time you use malloc, make sure that you are using calloc somewhere for that particular pointer.
Regards
Mahadevan
|
|
|
|
|
Hi, I am trying to understand a C/C++ concept with pointers.
I have a function that expects a LCPSTR.
If I hard code a statement such as
LCPSTR temp = "213234";
it works great.
However I have a char array I would like to
use for this value that is input from a user. How can I convert
a char array to a LCPSTR type?
Is this a valid approach?
___
CHAR bob[25];
//...put something in bob - like "123456"...
LCPSTR temp2 = (LCPSTR) &bob[0];
Then pass temp2 to the function that requests a LCPSTR?
Will that only grab the first item ("1") in the array or all of it ("123456")???
____
I'm not sure if I have made sense.
In general - what do you do when you have a char array or char *
and a function is asking for a const char * ? How do you make that conversion?
|
|
|
|
|
rtb333 wrote:
In general - what do you do when you have a char array or char *
and a function is asking for a const char * ? How do you make that conversion?
In C/C++ arrays are very similar to pointers. You don't actually have to convert anything in this case. The following code will work without problems:
CHAR bob[25];
LPCSTR temp2 = bob; Also, you can pass a char* to a function requiring a const char* without converting anything.
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"
|
|
|
|
|
Hi,
My SDI mfc program opens up an external ansi c++ program using shellexecuteex. The user opens a dialog in the mfc program, sets parameters for the external program, and clicks go. This works fine, and the external program opens up in a command prompt window, runs, then closes its window.
I would like to display the contents of the command prompt window inside the dialog with which the user set parameters for the external program. Ideally the output of the external program would appear in an edit box or static text on the dialog itself. This is just to improve the aesthetics of the mfc program and give it a more integrated look and feel.
Does anybody know if this is possible?
Thanks!
Mick
|
|
|
|
|
|
Hi,
I am working on an MDI application and derived a class CDrawView from CFormView because I need the inherent dialog template for displaying an ActiveX control. I go into the dialog resource, and insert an ActiveX control then add a member variable for it in the class wizard. This automatically adds the DDX_Control line to DoDataExchange.
void CDrawView::DoDataExchange(CDataExchange* pDX)
{
CFormView::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CDrawView)
DDX_Control(pDX, IDC_NTGRAPHCTRL1, m_graphCtrl);
//}}AFX_DATA_MAP
}
However, no matter what ActiveX control I insert, it always indicates that hWndCtrl == NULL.
HWND CDataExchange::PrepareCtrl(int nIDC)
{
ASSERT(nIDC != 0);
ASSERT(nIDC != -1); // not allowed
HWND hWndCtrl;
m_pDlgWnd->GetDlgItem(nIDC, &hWndCtrl);
if (hWndCtrl == NULL)
{
TRACE1("Error: no data exchange control with ID 0x%04X.\n", nIDC);
ASSERT(FALSE);
AfxThrowNotSupportedException();
}
m_hWndLastControl = hWndCtrl;
m_bEditLastControl = FALSE; // not an edit item by default
ASSERT(hWndCtrl != NULL); // never return NULL handle
return hWndCtrl;
}
Anyone have any ideas why it might be doing this? Perhaps I'm not doing this properly. This control works in a regular dialog.
Thanks in advance!
|
|
|
|
|
Hi,
Just a bit of important information which I didn't think was relevant before.
My app also uses a COM server for some services. In my MFC app class's InitInstance I set the thread model. When I comment this out the ActiveX controls seem to work, but then I can't connect to the COM server.
BOOL CNFITGuiApp::InitInstance()
{
::CoInitializeEx(NULL, COINIT_MULTITHREADED);
.........
I understand that ActiveX and COM are very related. And this may be why commenting the threading model assignment will work.
Thanks.
|
|
|
|
|
Hello can somebody please provide me an example written in any language(preferably C++) that shows how to use overlay mode? Like winamp's AVS plugin does. Thanks!
|
|
|
|
|
char SystemDir[255] = {0};
GetSystemDirectory(SystemDir, sizeof(SystemDir));
|
|
|
|
|
Can someone please tell me why the following code is causing an access violation. I am using WTL 7.1
int DrawImage()
{
using namespace Gdiplus;
GdiplusStartupInput gdiplusStartupInput;
ULONG_PTR gdiplusToken;
WCHAR ImgFile[] = L"C:\\test\\test.bmp";
GdiplusStartup(&gdiplusToken, &gdiplusStartupInput, NULL);
Image* img = new Image(ImgFile, 0);
Font myFont(L"Arial", 16);
PointF origin(0.0f, 0.0f);
SolidBrush blackBrush(Color(255, 0, 0, 0));
WCHAR string[] = L"This is a test";
Graphics g(img);
g.DrawString(string, -1 , &myFont, origin, &blackBrush);
// Get the class identifier for the BMP encoder.
CLSID bmpClsid;
ZeroMemory(&bmpClsid, sizeof(bmpClsid));
GetEncoderClsid(L"image/bmp", &bmpClsid);
img->Save(L"C:\\test\\test1.bmp", &bmpClsid);
GdiplusShutdown(gdiplusToken);
return 0;
}
int CWTLTestView::GetEncoderClsid(const WCHAR* format, CLSID* pClsid)
{
unsigned int num = 0; // number of image encoders
unsigned int size = 0; // size of the image encoder array in bytes
Gdiplus::GetImageEncodersSize(&num, &size);
if(size == 0)return -1;
Gdiplus::ImageCodecInfo* imageCodecInfo = new Gdiplus::ImageCodecInfo[size];
Gdiplus::GetImageEncoders(num, size, imageCodecInfo);
for(unsigned int i = 0; i < num; ++i)
{
if( wcscmp(imageCodecInfo[i].MimeType, format) == 0 )
{
*pClsid = imageCodecInfo[i].Clsid;
delete [] imageCodecInfo ;
return i;
}
}
delete [] imageCodecInfo;
return -1;
}
Forever Developing
|
|
|
|
|
What line is causing the AV?
|
|
|
|
|
After it leaves the the function. It happens after the function exits. The debugger breaks in
gdiplusgraphics.h
~Graphics()
{
DllExports::GdipDeleteGraphics(nativeGraphics);
}
Thanks Nick
Forever Developing
|
|
|
|
|
Fixed my own problem need to free the Graphics, Font, Brush object before calling shutdown.
Forever Developing
|
|
|
|
|
I'm using Visual C++.net 2002. How do I setup up the file path so that the program knows to go to the system32 folder for any Windows OS. Right now I'm tell it where to look for my OS "Win 2000 pro". But if I install it on another machine with XP. Folder paths are different. Thanks for any help.
("C:\\WINNT\\system32\\ARMSettings.ini");
|
|
|
|
|
Try
System.Environment.GetFolderPath(SpecialFolder.System)
Forever Developing
|
|
|
|
|
|
Hello guys/girls
I have one project that will appritiate coments and tips from you how to make it.This project is for gaining extra points for my Security course.
The project is made of 2 parts.
First part to make a script in perl (cgi) and upload to the website ,where the scripts only has one field asking for password (only 3 digits), if the correct password is entered then it gives you success and failed if you don't enter the correct password.
I have made that script and uploaded but the hardest part is comming ...
The second part of the project is to make a VC++ application that will connect to that site and will run all 1000 combination (000-999) and gives me back the correct password(where the site will return success).I know that this is not so hard to do it but i am newbie in windows programming.
I have been studing only C++ (not VC++) and i will appritiate some guideness and tips/tutorials to get the extra points on my course !
Thanks in advance
Two beer or not two beer
|
|
|
|
|
You can use this[^] article to create a little C++ class that will connect to the site and try to login with a user-specified password. It's a simple matter of exercising the object in a loop to cover all 1000 combinations.
/ravi
My new year's resolution: 2048 x 1536
Home | Articles | Freeware | Music
ravib@ravib.com
|
|
|
|
|
Hi everyone,
Howto disble Ctrl+Alt+Supr in Win2000 / XP? or block the desktop window and Start Button...
Thanks in advance.
Ivan Cachicatari
www.latindevelopers.com
|
|
|
|
|
You can install a system wide keyboard hook?
Forever Developing
|
|
|
|
|
|
#1YOu can go for MSGina replacement
serach for Xgina on Codeproject
#2for keyboard hooks
search for the hooks on codeprojects
you can find tons on information on this
-----------------------------
"I Think It will Work"
Formerly Known As "Alok The Programmer" at CP
-----------------------------
Alok Gupta
visit me at http://www.thisisalok.tk
|
|
|
|
|
|
A question came up on the VCF forums that I am at a loss to answer. Someone wants to display greek letters, specifically unicode char \x03b5. On at least a number of NT (win2k and winxp) systems this displays OK. We store the data as UTF16 data on both Win9x and NT. On Win9x systems we convert down to ascii. Is there a correct way to do this to get it to display correctly on Win9x? Or is it just not possible?
Should anyone care the full forum posting is here[^] if you want to get a better context of the question.
¡El diablo está en mis pantalones! ¡Mire, mire!
Real Mentats use only 100% pure, unfooled around with Sapho Juice(tm)!
SELECT * FROM User WHERE Clue > 0
0 rows returned
|
|
|
|
|
Not sure if this helps. But in Win9X, there are two issues - you have to convert it down to ASCII (using WideToMultiByte or whatever the function is), *and* make sure you are displaying it in a font that supports that character. So you'll have to scour the fonts for one that supports the Greek charset and go from there.
This I know will work if you are running on a Greek system. If you are running on an English system and want to display Greek characters, I'm not sure this works (althoguh I think it will.)
An expert is somebody who learns more and more about less and less, until he knows absolutely everything about nothing.
|
|
|
|