|
Two lines of code that are suspect:
sprintf(szDesc,"DSN=%s\0DBQ=%s\0", m_EDSN, mdbpath);
...
if (FALSE == SQLConfigDataSource(NULL, ODBC_ADD_DSN, "SQL Server", szDesc))
If SQLConfigDataSource() returns FALSE, what does SQLInstallerError() return?
A rich person is not the one who has the most, but the one that needs the least.
|
|
|
|
|
|
Odd, as the docs indicate it should be one of eight ODBC_ERROR_xxx error codes.
A rich person is not the one who has the most, but the one that needs the least.
|
|
|
|
|
Hi!
Is there a command that works like sprintf, but it is like strcat? Because I will catenate (probably wrong spelling) some hex numbers to the same char value.
Have a nice day,
Stefan
|
|
|
|
|
You can just use sprintf like this:
char buffer[1024];
char * tmp;
tmp = buffer;
tmp += sprintf(tmp, "Line %d\r\n", 1);
tmp += sprintf(tmp, "Line %d\r\n", 2);
tmp += sprintf(tmp, "Line %d\r\n", 3);
Another, and better, solution is to use a strstream:
strstream out;
out<<"Line "<<1<<endl;
out<<"Line "<<2<<endl;
out<<"Line "<<3<<endl;
"After all it's just text at the end of the day. - Colin Davies
"For example, when a VB programmer comes to my house, they may say 'does your pool need cleaning, sir ?' " - Christian Graus
|
|
|
|
|
If you use fixed number of hex numbers, use:
<br />
sprintf("%c%x%x", 'c', 0x544, 0xbff)<br />
or if you use variable number:
<br />
ostrstream os;<br />
os << 'c' << hex << 0x544 << 0xbff << ....<br />
and the char* string you obtain by os.str()
Robert-Antonio
"I launched Norton Commander and saw, drive C: on the left, drive C: on the right...Damn, why I need two drives C:???So I formatted one..."
|
|
|
|
|
Here's a somewhat cheesy example:
char szBuffer[128];
for (int x = 0, num = 1; x < 10; x += 2)
{
sprintf(&szBuffer[x], "%02x", num);
num *= 2;
}
A rich person is not the one who has the most, but the one that needs the least.
|
|
|
|
|
or even another choice:
CString S;
for ( int x = 0, num = 1; x < 10, x += 2 )
{
S.AppendFormat( _T("%02x"), num );
num *= 2;
}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br />
Peter Weyzen<br />
Staff Engineer<br />
<A HREF="http://www.santacruznetworks.com">Santa Cruz Networks</A>
|
|
|
|
|
hi,
i am using gdi+ in VC++ 6.0. i want to know how can i use Bitmap::FromStream ? it need to pass a Stream pointer. i have a bitmap array already. but, how can i turn it into such a stream?
any help?
thanks!
jim
|
|
|
|
|
|
i want to get jpeg data stream from a valid HBITMAP and transfer it through network. I can do this by first creating a jpg file and then reading the data from the file and at last sending it out,but it is not effective,so is there a more effective solution?(i don't want to get into the complexity of jpeglib)
(English is not my native language,sorry for my bad English)
|
|
|
|
|
Using the Intel Jpeg Library (IJL), you can convert to jpeg directly in-memory, allowing you to convert from DIB to jpeg and write the jpeg out to whatever medium you wish (file, socket, pipe, etc.).
onwards and upwards...
|
|
|
|
|
Thank you
a little problem,it seems that IJL only deals with the 24bit Jpeg files
|
|
|
|
|
Yes, that is correct. You will need to convert to a 24 bit jpeg. There is a really nice class called CDibImage (on CP, I think or available at http://www.naughter.com/[^]) by P.J. Naughter that makes these types of things really easy.
onwards and upwards...
|
|
|
|
|
|
i have a web application which has to go to WEB to update some files peridically
How should i go about it ?
should i use task schduler ?
what if the user stop using task scheduler ?
C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do, it blows away your whole leg
|
|
|
|
|
How about ur own background application that will do the stuff after certain time. ??? you can make an MFC app a background application or go for ATL Service.
Hope i helped you in same way.
Last time I was sober, man I felt bad
Worst hangover that I ever had
It took six hamburgers and scotch all night
Nicotine for breakfast just to put me right.... Dire Straits
|
|
|
|
|
will ATL service work on 9x ?
background process not sure what you mean ?
suppose updation time is 8 hrs
what will the backgound process do if the user reboots 5 times in 8 hrs how to keep tab of that ?
C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do, it blows away your whole leg
|
|
|
|
|
humm. Well i dont know about ATL Service running in win98 coz i have not developed application for 98.
Background apps. You make simple SDI application and in the initinstance you call HideApplication() this will make ur SDI application invisible. I.e it will be running in the background. I guess this will work in win98 also if you are using UNICODE.
First of all this application should go in the startup option so that it is launched every time it is rebooted.
you can keep track when was the last time the operation was done then accordingly you can do the next scheduled operation.
and of cource this application should set a timer to check for the scheduler operation every now n then.
Last time I was sober, man I felt bad
Worst hangover that I ever had
It took six hamburgers and scotch all night
Nicotine for breakfast just to put me right.... Dire Straits
|
|
|
|
|
Background process is a "program that runs in the baground" lets say an unvisible one (hidden window to say it short)
About keeping record of the reboot, you can log the time when the application was started, and when it should update the files, and check on regular basis if the time is reached, or even has passes, and resync the files
Papa
while (TRUE)
Papa.WillLove ( Bebe ) ;
|
|
|
|
|
when I use code in C++ or C# to excute SQLCommand, and it throw SQLExcetion.
Can I write another application to catch it. somebody can help me or tell me an idea.
thanks
Nho'c Ti`
|
|
|
|
|
Exceptions are errorenous program states from which it is still possible to close the program gracefully without losing data or crashing the system.
In C++, you can handle raised exceptions by using a try - catch block. You write the code you wish to execute in the try block, and then write either a conditional (specific exception) catch block or a generic one, if available.
Here is an example of handling an SQL-query exception:
try
{
CRecordset myRecordset(&db);
myRecordset.Open(...);
}
catch ( CDBException* e )
{
AfxMessageBox( e->m_strError, MB_OK );
e->Delete();
} For more hands-on information and how to write your own routines that raise exceptions, see MSDN Library for Exception handling topics (C++)[^].
Hope this helps,
Antti Keskinen
----------------------------------------------
The definition of impossible is strictly dependant
on what we think is possible.
|
|
|
|
|
Hi
I try to insert in ATL dialog my oneself ActiveX object (
ATL composite control) but wizard not found this one(in dialog box of wizard i not see it), althought when i insert it from Add to project -> Components & Control wizar i see one into list.Why???I can't use Add to project -> Components & Control wizard because of my ATL dialog allocated in ATL project without MFC support.
Thanks
|
|
|
|
|
I am trying to automate Outlook using Visual C++. Here is what I am trying to do:
void CTestOutlookDoc::OnFileTest()
{
Outlook::CApplication pApp;
COleException e;
if (!pApp.CreateDispatch(_T("Outlook.Application")))
{
CString str;
str.Format("CreateDispatch() failed w/error 0x%08lx", e.m_sc);
AfxMessageBox(str, MB_SETFOREGROUND);
return;
}
pApp.m_bAutoRelease = TRUE;
pApp.Quit();
return;
}
When the code is executed, an instance of Outlook is created. However, even I call Quit() in my code, OUTLOOK.EXE still remains in Windows Task Manager after the program is quit. What should I do in order to kill the OUTLOOK process when I call Quit() in my function?
In DavidCrow's reply, he said OUTLOOK just goes after the code is executed. However, I tried the same piece of code in several computers, but OUTLOOK still remains in my Windows Task Manager after the code is executed. To make it worse, the code cannot create another instance of OUTLOOK unless I manually take out OUTLOOK from Windows Task Manager. Also, if Word (or Excel) is being used instead of Outlook, the code is working and Word (or Excel) is closed after the code is finished.
Does anyone have any idea what to do? Or does anyone have a sample program that starts Outlook, send an email and then quit?
Regards,
CTBMei
|
|
|
|
|
Why dont u terminate the process
send a WM_CLOSE or WM_QUITMESSAGE message to outlook
or check TerminateProcess (not recomended but can do the job)
Papa
while (TRUE)
Papa.WillLove ( Bebe ) ;
|
|
|
|