|
hehe;P,
So sorry for the disturbance. Of course, I know the way to ad a software is AD, but for the time being, I have no any feedback from customers of my product, that's to say, I have not enough info to determine if this ware deserves the relatively high AD fees
Sorry again if this message dirties your eyes, but can someone tell me some forums for software UI and Usage evaluations?
CC
//***************************
I believe ideal is not always so far away...
|
|
|
|
|
Hi,
I am developing an application which uses Microsoft SQL Server 2000 . My program should try to catch all possible errors including network related problems and handle it my self. I am using CRecordset class to handle my SQL connection.
My problem is this: Whenever I execute the Open() function of CRecordset class during which network connection is down, the Microsoft SQL Server Login appears. I don't want to show this message to the user but instead I want to replace it with my own error message. I used try{..}catch(CDBException *e){..} but failed. Here some part of my code:
// Clot_sum_server is CRecordset derived class
Clot_sum_server lot_sum_server(NULL);
lot_sum_server.m_strFilter = "lot_id = \'" + localLotID + "\'";
try{
lot_sum_server.Open();
}
catch(CDBException* e)
{
e->Delete();
MessageBox("Failed to connect to SQLServer","Warning",MB_ICONSTOP);
}
This code, could not display "Failed to connect to SQLServer" message box. Instead, the default Microsoft SQL Server Login dialog box appears.
Any help will be highly appreciated.
Thanks !
Mar
Mar Solero Jr.
|
|
|
|
|
You aren't providing any credentials, or specifying that you want to use NT Authentication;
Have you set up your own ODBC connection, or are you just using the default one?
There are flags you can pass to OpenDatabase which say not to bring up the UI if there is insufficient information to connect, but to fail instead.
Steve S
|
|
|
|
|
Hi Steve,
I am using SQL Server authentication. I also setup my own ODBC connection by programatically editing the registry. In CRecordset class I included the
UID and PWD. Below are the contents of GetDefaultConnect() function. The Clot_sum_server is derived from CRecordset class. My OS is WinXP.
CString Clot_sum_server::GetDefaultConnect()
{
return _T("ODBC;DSN=sync_lotsum_server;UID=mhar;PWD=mhar");
}
Below are the contents of sync_lotsum_server in the registry:
Database REG_SZ sample
Description REG_SZ sample data base
Driver REG_SZ C:\WINDOWS\System32\sqlsrv32.dll
LastUser REG_SZ mhar
QueryLog_On REG_SZ Yes
QueryLogTime REG_SZ 900000
Server REG_SZ amkor.com
Trusted_Connection REG_SZ No
Here is my sample code:
#include "lot_sum_server.h"
//<< check the Win2k server database >>>>>>>>>>>>
//<<<< set flag to true >>>>
Etc_var.SQL_Connection = true;
// server connection to tfm dbase table 'tfm_lotsum'
Clot_sum_server lot_sum_server(NULL);
try
{
lot_sum_server.Open(); //here I cannot catch the default SQL Message
}
catch(CDBException *e)
{
e->Delete();
Misc_func.log_error("error open() ");
Etc_var.SQL_Connection = false;
}
if(Etc_var.SQL_Connection)
{
while(!lot_sum_server.IsEOF())
{
m_List1.AddString(lot_sum_server.m_lot_id);
try{
lot_sum_server.MoveNext();
}
catch(CDBException* e)
{
e->Delete();
Misc_func.log_error("error MoveNext()");
Etc_var.SQL_Connection = false;
break;
}
}// while(!lot_sum_server.IsEOF())
lot_sum_server.Close();
}// if(Etc_var.SQL_Connection)
Thanks in advance !!
Mhar
Mar Solero Jr.
|
|
|
|
|
Hey all.
I've been looking around for an API that will do this for me easily but can not seem to find what I really am looking for. As usual, I'm probably typing in the wrong keywords.
I want to generate a unique "session" string key. IE. When you hit some websites that use a sessionID, you can see the unique key in the URL (if they have turned cookies off). That long sessionID=jk1239123jkasdnlxmn1823123lkjasdfbnlkasjdfks) ... where the odds of two of the same ID's being generated are fairly nill!
I am looking for an API that will do that. Create a "random" big long string full of letters and numbers.
Any suggestions?
|
|
|
|
|
You want to create a GUID. Look up GUID.
Christian
I have drunk the cool-aid and found it wan and bitter. - Chris Maunder
|
|
|
|
|
Thanks!
That is dead nuts on what I was looking for!
I wrote a nice routine that goes through that generates them, adds them to a list, and then checks the list to make sure that a duplicate entry has not been found.
I just finished processing 50,000 and not one duplicate found. (hehe, and I did debug my list-check code to make sure it was finding dupes!) Exactly what I was looking for!
Thanks again.
Shultas
|
|
|
|
|
shultas wrote:
I wrote a nice routine that goes through that generates them, adds them to a list, and then checks the list to make sure that a duplicate entry has not been found.
If you are using Guidgen.exe, or this algorithm, there should be no need to check for uniqueness.
A rich person is not the one who has the most, but the one that needs the least.
|
|
|
|
|
Which hook do I need to use? I was thinking SYSMSGFILTER since its a global hook.
|
|
|
|
|
i get the handle of a textbox in an opened window using the function
EnumChildWindows(,,)..
after i obtained the handle of this textbox i want to set a specific
string in this textbox.
"HINT" : the function SetWindowText(,) isn't a valid to this task(why?)
more--->
the opened window has a textbox ,a button ,a label;
and when i used the spy++ program of Microsoft tools to get the caption
to each of them after using SetWindowtext(,),i observed that:
the caption of the label is same as the value appears on it<the
caption="" and="" value="" appears="" are="" equal="" to="" each="" other="" the="" string
posted="" by="" setwindowtext()=""> ,BUT
the caption of the textbox isn't the same as the value appears on it
<the value="" is="" nothing="" but="" the="" caption="" equal="" to="" string="" posted="" by=""
setwindowtext()="" function="">then i want an API function to set the value of the textbox not the
caption..
thank you very much for any help..
Sender :Amr abdel mohsen
Email: app_prog@yahoo.com
|
|
|
|
|
amr abdel mohsen wrote:
then i want an API function to set the value of the textbox not the
caption..
I think you are a bit confused as to the purpose of the WM_SETTEXT message. For an edit control, the text is the contents of the edit control. For a combobox, the text is the contents of the edit-control portion of the combobox. For a button, the text is the button name. For other windows, the text is the window title. SetWindowText() is the function you want.
A rich person is not the one who has the most, but the one that needs the least.
|
|
|
|
|
Hello, there.
I have a dll, which is loaded by the host application, and in the exported function I show a dialog. I had no problem until I put a custom control in the dialog. If custom control is present in the dialog m_dlg.Create(IDD_DIALOG1) returns 0. (does not properly create a dialog).
I traced the problem down to the
hWnd=::CreateDialogIndirect(hInst,lpDialogTemplate,pParentWnd->GetSafeHwnd(),AfxDlgProc);
All parameters has some values (not NULLs), but, if a custom control is present in the dialog, returned value is 0, which makes hWnd to be NULL. If custom control is deleted everything is just fine!
Immidiatly after that there is ::GetLastError(), but it also returns 0 (operation is successful) even though hWnd is NULL.
I do not associate custom control with any class. I just drop it down on the dialog (it does not work with an associated custom control either).
Any ideas? Thanks in advance.
Regards,
Alexander.
|
|
|
|
|
Hi:
I have an MFC dialog based app. When someone clicks on ENTER button while dialog is up, the dialog window disppears. I have no idea how to make the dialog responds to "Enter" clicks.
Any help will be appreciated.
Thanks.
|
|
|
|
|
I guess you just have to override the OnOK() method, like this...
SampleDialog.h:
virtual void OnOK(); SampleDialog.cpp:
void CSampleDialog::OnOK()
{
} If a user now presses enter the dialog won't close anymore...
Regards, mYkel
|
|
|
|
|
I tried that, and thanks it worked.
|
|
|
|
|
Maybe you also want to to another action when the Enter button is pushed. for that, you have to change the default button of your dialog. the default button is the one that is pushed when Enter is pressed. you also have one associated to the Esc key.
TOXCCT alias Nicolas C.
|
|
|
|
|
Hi all;
I am writing an application which will have an ADO-based database connection. In order to send stuff to the DB, i need to convert variables from CString, char, int or Date into variants. However, it does not work for int and i still cannot figure out how to add data in a field whose type is date.
Could somebody please help me.
Thanks guys
Krugger
|
|
|
|
|
_variant_t( double dblSrc, VARTYPE vtSrc = VT_R8 ) Constructs a _variant_t object of type VT_R8 or VT_DATE from a double numerical value. Any other VARTYPE results in an E_INVALIDARG error.
(msdn...)
greatest thing is to do wot others think you cant suhredayan@omniquad.com
|
|
|
|
|
int is an oddity, try casting it to a long.
Steve S
|
|
|
|
|
Hi all.
I am building an application with a web-browser in the main view. Hence, each time the application loads, i get the browser which can be used to display different HTML files. However, when i choose a specific file from the menu of my tool, i should allow specific pages to load. However, i just don't know how to do it. D'you get the point? When i click on a menu item, i need to display the associated page in the web browser but i do not know how to get access to the browser when i am calling it from another class.
Can somebody please help me.
Hope that i made myself clear.
Thank you guys;
By the way, i'm new to VC++ and i must say that you give killer advices. Thanks guys!
Krugger
|
|
|
|
|
Que's Special Edition Using Visual C++ 6 by Kate Gregory (www.gregcons.com) has a sample that is close to what you are trying to achieve. They also publish Building Internet Applications with Visual C++.
Ger
|
|
|
|
|
Hi,
As the rest of this message will show well enough I'm new to Visual C++ and trying to resolve a rather elementary problem :
I have a function that accepts an input from the console and I need to check that the type of the value received is 'int' before attempting some computation on it.
1) Does anybody know how to do that ?
2) I desperately tried to find the answer in Visual Studio documentation but have drowned in the sea of documentation offered... is there any clear language reference supplied with the tool, organised in such a way you can actually find something in it ?
Many thanks,
~David
|
|
|
|
|
it's not a language feature.
You need to do this manually; for example, check if the value is smaller than zero, will return from the method.
bool AClass::AMethod( int anInt )
{
if ( anInt < 0 )
return false;
return true
}
(also, look for ASSERT/assert in MSDN )
Maximilien Lincourt
Your Head A Splode - Strong Bad
|
|
|
|
|
Maximilien wrote:
for example, check if the value is smaller than zero...
But an int can have a less-than-zero value. Negative values are not invalid int s.
A rich person is not the one who has the most, but the one that needs the least.
|
|
|
|
|