|
I insert flash player activex on the MFC application and write the code
my_flash.put_Movie("C:\file.flv");
my_flash.put_Playing(true)
but file is not playing . also I want to display the controls of flash player activex .
how can I do this
Trioum
|
|
|
|
|
Looks like a '\' is missing in the file path. Try "C:\\file.flv".
|
|
|
|
|
do it still not playing
Trioum
|
|
|
|
|
This is going to be a busy day, I have this ODBC parameter issue, MD5 password Hash, and encryption to tackle today.
After reading the OLEDB post by Microsoft, I decided to give ODBC a try, and so far so good. If I can use parameters to build my SQL Command like in asp.net, I will give the thumbs up for it.
I'm pretty sure I have the order right. But I think I'm missing a statement or handle. Or I should go back to the non W versions, and start again. I'm not really sure.
retcode = SQLAllocHandle(SQL_HANDLE_STMT, hdbc, &hstmt);
WCHAR pzSQLCommand[512];
swprintf_s(pzSQLCommand, 512,
L"INSERT INTO UserInfo(FirstName) "
L"VALUES(@FirstName)");
pzSQLCommand[wcslen(pzSQLCommand) + 1] = L'\0';
SQLHDESC hIpd = NULL;
retcode = SQLGetStmtAttrW(hstmt, SQL_ATTR_IMP_PARAM_DESC, &hIpd, 0, 0);
retcode = SQLSetDescFieldW(hIpd, 0, SQL_DESC_NAME, L"@FirstName\0", SQL_NTS );
retcode = SQLBindParameter(hstmt, 0, SQL_PARAM_INPUT, SQL_C_WCHAR, SQL_VARCHAR, 0, 0, pzFirstName, 25, &cbFirstName );
retcode = SQLPrepareW(hstmt, pzSQLCommand, wcslen(pzSQLCommand) );
retcode = SQLExecute(hstmt);
|
|
|
|
|
I got this to work, but I think the SQLGetStmtAttr and SQLSetDescField was skipped.
But I think the order is correct, and each statement returned a 0
retcode = SQLAllocHandle(SQL_HANDLE_STMT, hdbc, &hstmt);
WCHAR pzSQLCommand[512];
swprintf_s(pzSQLCommand, 512,
L"INSERT INTO UserInfo(FirstName) "
L"VALUES(?)");
pzSQLCommand[wcslen(pzSQLCommand) + 1] = L'\0';
retcode = SQLPrepare(hstmt, pzSQLCommand, SQL_NTS );
retcode = SQLBindParameter(hstmt, 1, SQL_PARAM_INPUT, SQL_C_WCHAR, SQL_VARCHAR, 25, 0, pzFirstName, wcslen(pzFirstName), NULL );
retcode = SQLGetStmtAttr(hstmt, SQL_ATTR_IMP_PARAM_DESC, &hIpd, 0, 0);
retcode = SQLSetDescField(hIpd, 1, SQL_DESC_NAME, L"@FirstName", SQL_NTS );
retcode = SQLExecute(hstmt);
|
|
|
|
|
I don't know what your question is.
And there is no way for SQLGetStmtAttr to be "skipped" in the code that you posted.
|
|
|
|
|
The original question was no question because I had no clue why it didn't work, so I wasn't really able to ask a precise question.
The 2nd post works, but I wasn't able to use VALUES(@FirstName) and then state
retcode = SQLSetDescField(hIpd, 1, SQL_DESC_NAME, L"@FirstName", SQL_NTS );
So that the data in the SQLBindParameter would hook up or link to the SQL Command @FirstName.
So I just went back to the VALUES(?), and the record writes to the table.
What I meant by skipped is that the statement is there, but is not relevant is any way, because only stored procedures can use the naming convention according to some MSDN documentation that I read.
But who knows, maybe I can get it working if I dig deeper. Right now, I 'm going to finish out the function with the Timestamp and MD5 Hash, and try the parameter again later.
This is my first ODBC Experience in which I'm submitting data to a table, and wanted to get it right before I write 20 more of these by the end of the month.
retcode = SQLAllocHandle(SQL_HANDLE_STMT, hdbc, &hstmt);
WCHAR pzSQLCommand[512];
swprintf_s(pzSQLCommand, 512,
L"INSERT INTO UserInfo(FirstName, LastName, UserName, PhraseHint, Phrase, PasswordClear, Email, DateOpened, FrontAdmin, SecurityLevel, Enabled, LastLogin) "
L"VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)");
pzSQLCommand[wcslen(pzSQLCommand) + 1] = L'\0';
retcode = SQLPrepare(hstmt, pzSQLCommand, SQL_NTS );
retcode = SQLBindParameter(hstmt, 1, SQL_PARAM_INPUT, SQL_C_WCHAR, SQL_VARCHAR, 25, 0, pzFirstName, wcslen(pzFirstName), NULL );
retcode = SQLBindParameter(hstmt, 2, SQL_PARAM_INPUT, SQL_C_WCHAR, SQL_VARCHAR, 40, 0, pzLastName, wcslen(pzLastName), NULL );
retcode = SQLBindParameter(hstmt, 3, SQL_PARAM_INPUT, SQL_C_WCHAR, SQL_VARCHAR, 80, 0, pzAccountName, wcslen(pzAccountName), NULL );
retcode = SQLBindParameter(hstmt, 4, SQL_PARAM_INPUT, SQL_C_WCHAR, SQL_VARCHAR, 80, 0, pzSecretQuestion, wcslen(pzSecretQuestion), NULL);
retcode = SQLBindParameter(hstmt, 5, SQL_PARAM_INPUT, SQL_C_WCHAR, SQL_VARCHAR, 80, 0, pzSecretAnwser, wcslen(pzSecretAnwser), NULL);
retcode = SQLBindParameter(hstmt, 6, SQL_PARAM_INPUT, SQL_C_WCHAR, SQL_VARCHAR, 80, 0, pzPassword, wcslen(pzPassword), NULL);
retcode = SQLBindParameter(hstmt, 7, SQL_PARAM_INPUT, SQL_C_WCHAR, SQL_VARCHAR, 80, 0, pzEmailAddress, wcslen(pzEmailAddress), NULL);
retcode = SQLBindParameter(hstmt, 8, SQL_PARAM_INPUT, SQL_C_TYPE_TIMESTAMP, SQL_DATETIME, 16, 0, pzDateOpened, 0, NULL);
retcode = SQLBindParameter(hstmt, 9, SQL_PARAM_INPUT, SQL_C_BIT, SQL_BIT, 0, 0, &bFrontAdmin, 1, NULL);
retcode = SQLBindParameter(hstmt, 10, SQL_PARAM_INPUT, SQL_C_SSHORT, SQL_INTEGER, 0, 0, &pzSecurityLevel, 1, NULL);
retcode = SQLBindParameter(hstmt, 11, SQL_PARAM_INPUT, SQL_C_BIT, SQL_BIT, 0, 0, &bUserEnabled, 1, NULL);
retcode = SQLBindParameter(hstmt, 12, SQL_PARAM_INPUT, SQL_C_TYPE_TIMESTAMP, SQL_DATETIME, 16, 0, pzLastLogin, 16, NULL);
retcode = SQLGetStmtAttr(hstmt, SQL_ATTR_IMP_PARAM_DESC, &hIpd, 0, 0);
retcode = SQLSetDescField(hIpd, 1, SQL_DESC_NAME, L"@FirstName", SQL_NTS );
retcode = SQLSetDescField(hIpd, 2, SQL_DESC_NAME, L"@LastName", SQL_NTS );
retcode = SQLSetDescField(hIpd, 3, SQL_DESC_NAME, L"@UserName", SQL_NTS );
retcode = SQLSetDescField(hIpd, 4, SQL_DESC_NAME, L"@PhraseHint", SQL_NTS );
retcode = SQLSetDescField(hIpd, 5, SQL_DESC_NAME, L"@Phrase", SQL_NTS );
retcode = SQLSetDescField(hIpd, 6, SQL_DESC_NAME, L"@PasswordClear", SQL_NTS );
retcode = SQLSetDescField(hIpd, 7, SQL_DESC_NAME, L"@Email", SQL_NTS);
retcode = SQLSetDescField(hIpd, 8, SQL_DESC_NAME, L"@DateOpened", SQL_NTS);
retcode = SQLSetDescField(hIpd, 9, SQL_DESC_NAME, L"@FrontAdmin", SQL_NTS);
retcode = SQLSetDescField(hIpd, 10, SQL_DESC_NAME, L"@SecurityLevel", SQL_NTS);
retcode = SQLSetDescField(hIpd, 11, SQL_DESC_NAME, L"@Enabled", SQL_NTS);
retcode = SQLSetDescField(hIpd, 12, SQL_DESC_NAME, L"@LastLogin", SQL_NTS);
retcode = SQLExecute(hstmt);
|
|
|
|
|
jkirkerx wrote: The original question was no question because I had no clue why it didn't work,
so I wasn't really able to ask a precise question.
Hi,
You posted some code because you did not know what question to ask.
Well, Not to be funny! This is a Developers Site. Developers are supposed to be logical to a Fault. (Otherwise the Machine will beat you, because It's logical to a Fault), and you would not be a developer for long.
You cannot just post a pile of code in the hope that someone out there will tell you what's wrong with it (See the posting Guidelines). First of all, No One but yourself knows from a Code Fragment -What Environment it is called in, -what you intend the code to do.
To bring it down to a stateble question is called Debugging! That's the hard thing to do, but Unavoidable.
We All like to be creative, just type code into a file, Hi, It compiles, No Syntax errors, or forgotten header files. That's only step 1. The Compiler could make sense of what you wrote. That does not mean that the compiler wrote what you had in mind!
You seem to be overwelmed by the task at hand.
Reccommendation: Simplify the task, to the state of Trivial, Debug, Learn what works, and then expand it to the task at hand. This may sound Slow, but, believe me, it is the fasest way. It also enables you, when you get stuck, to ask a simple question: 'This' Simple thing does not work, Why Not.
Success,
Bram
Bram van Kampen
|
|
|
|
|
I see your point. I just didn't post a very good question, most of my questions are better. This ODBC was overwhelming, The basics were really easy, but when it came down to data types, and how they are measured in size, that was a new learning experience.
Anyways, I just got a clean write from the code. Could not really debug it, -1 doesn't tell much of a story in ODBC, and the datetime was hard to figure out, because there really is no datetime in ODBC.
If I upset you, I apologize, won't be here much longer, just till the end of the month.
|
|
|
|
|
Hi all,
i am play video file using Dirct Show in my application.
but some of MOV and other files are are not play in Window Media Player also in my application.
but the are play in other player,
so how can i identify the file is valid and can play in any one of Media Player.
thanks in advance.
|
|
|
|
|
That's done with codecs.
You'll have to install a codec that can decode that stream type.
|
|
|
|
|
can you please more specific about this and help me with any example if possible.
|
|
|
|
|
Actually, outside of telling you what codecs to purchase for $, I'm being pretty specific.
I haven't bought codecs, I've only used free ones, so I don't have specific recommendations for you.
|
|
|
|
|
Your question is very unclear, but from what I gather it's a matter of missing codecs.
You could try install the XP codecpack[^] and see if that fixes your problem.
If it doesn't, could you give a more detailed description of the problem maybe?
modified 13-Sep-18 21:01pm.
|
|
|
|
|
Hi,
I am writing a Package which includes a lengty process, and I use a 'CProgressCtrl' to give feedback that things are still progressing.
The Process of gathering the information, and establishing a frame of reference to feed the 'CProgressCtrl' is also lenthy.
Windows Installer uses a type of 'Marquee Mode' for this stage, the Progress Bar shows a few marks traveling Left to Right, as a small block, i.e a Marquee. It is a 'Still Alive' message to the User.
How do I Implement a display like that in Practice.
Regards,
Bram
Bram van Kampen
|
|
|
|
|
I use a Progress Bar[^] control and do something like:
hWndItem = GetDlgItem(hDlg, IDC_PRBAR);
lStyle = GetWindowLong(hWndItem, GWL_STYLE);
lStyle |= PBS_MARQUEE;
SetWindowLong(hWndItem, GWL_STYLE, lStyle);
SendMessage(hWndItem, PBM_SETMARQUEE, bMarquee, 0);
Unrequited desire is character building. OriginalGriff
I'm sitting here giving you a standing ovation - Len Goodman
|
|
|
|
|
Thanks Richard.
That was most helpfull. My Compiler is somewhat long in the tooth, and my version of MFC does not support this feature. I hope however, seeing you use the Windows-SDK '::SendMessage()', that we ultimately refer to an SDK 'ProgressControl', somewhere in 'User32.dll', with the MFC Control used as a wrapper. So, my 'XP' version of this DLL should contain the functionality, only my Development Environment does not know about it.
I got the following Manifest Constants elsewhere:-
#define PBS_MARQUEE 0x08
#define PBM_SETMARQUEE (WM_USER+10)
I also wrote the following code in 'OnInitDialog()'
CDialog::OnInitDialog();
CWnd*pWnd;
VERIFY(pWnd=GetDlgItem(IDC_PROGRESS1));
HWND hWndItem = pWnd->GetSafeHwnd();
DWORD lStyle = ::GetWindowLong(hWndItem, GWL_STYLE);
lStyle |= PBS_MARQUEE;
::SetWindowLong(hWndItem, GWL_STYLE, lStyle);
::SendMessage(hWndItem, PBM_SETMARQUEE, TRUE, 200);
return TRUE;
Unfortunately, the bar remains dead.
On the other hand, fortunately, it is only a cosmetic nicety, that would be nice to have.
Cast your eye over it, if I did something patently wrong, or if you think is should work under Win XP, let me know. It is still very much a point of interest, but maybe on the longer term.
I think the key question is, Is the Progress Control Implemented by my Compiler Environment(Sic) (in which case I have No Chance in this), or, is it implemented in the OS, in which case there is a problem with my code calling it.
Thanks + Regards,
Bram
Bram van Kampen
|
|
|
|
|
Hi Bram,
Your code looks fine, but unless your control accepts those settings nothing is likely to happen. According to the documentation here[^] this should work in OS versions from Windows 2000 onwards. However, since you are using the MFC control in a downlevel library you may be restricted. You might like to try implementing the pure Win32 control in order to implement this feature; although you may still require the latest SDK also.
Unrequited desire is character building. OriginalGriff
I'm sitting here giving you a standing ovation - Len Goodman
|
|
|
|
|
Thanks Richard,
Sorry for the delay, work has been interrupted for a few days due to a beravement in the family.
Well, I have the latest SDK for Windows XP. I see your point about the Down Level MFC Lib. However, I had also thought that actions such as :;Get/SetWindowLong, and ::SendMessage() would bypass MFC in it's entirety. Iow, what I wrote is actually an SDK implementation of the MFC 'SetMarquis()' Function. Afterall, it is the binary code contained in User32.dll etc. that does the actual displaying. MFC is simply a wrapper around the SDK Code, which accesses those system DLL's. Another possibility is one of those 'Stare in the Face' bugs, that take a week or more to find, which turn out to be a small but vital typo.
As said before, it is a Level 5 Bug (Purely Cosmetic). My installer App will Not Stand or Fall with it, at the sametime, it would be interesting to see 'Why' it does not work, if, as you said, The Code looks Fine.
N.B.
(MFC is in my opinion a Very Convenient wrapper. Remember the Man in the late 1980's (Whose Name I've forgotten, who was the Authority on Win 3.1 SDK Programming?) Don't take me wrong, I'm Not dismissing MFC as trivial, but that's what it does. MFC does not Create and Paint Windows, that SDK does not support. I'm not saying it Can't be done, but as I understand it, for Product Development Reasons, MS is unlikely to go that way. Otherways what would be the point in releasing an SDK.)
Regards,
Bram van Kampen
|
|
|
|
|
Hi Bram,
I am stupid, you need to specify to the system that you want the latest level UI controls. I add the following #pragma to my main cpp source module:
#pragma comment(linker, "\"/manifestdependency: \
type='win32' \
name='Microsoft.Windows.Common-Controls' \
version='6.0.0.0' \
processorArchitecture='*' \
publicKeyToken='6595b64144ccf1df' \
language='*'\"")
You can also add it to the Linker Properties somewhere. Give it a try and see what happens.
BTW I think the name you are looking for is Charles Petzold[^], he's still writing useful books.
Unrequited desire is character building. OriginalGriff
I'm sitting here giving you a standing ovation - Len Goodman
|
|
|
|
|
Hi,
Set the Marquee property to "True".
Regards,
Satheesh
|
|
|
|
|
Satheesh1546 wrote: Set the Marquee property to "True".
Hi,
Well, that would be the obvious thing to do, if I could do it. My MFC Implementation has no such property, because it is (atmittedly) a bit long in the tooth.
Apart from that, there is no mention of any such property that I could find, in the MFC Online Documentation.
But, if you have any further Info or Refs on this, Please let me know.
Thanks
Bram
Bram van Kampen
|
|
|
|
|
Is there an equivilent to the DateTime.Now() in asp.net, I'm writing a time stamp to sql server, and wanted to keep the same format.
dbUA->pzDateOpened = some sort of DateTime.Now();
|
|
|
|
|
GetCurrentTime() function should work for you. [^]
Every new day is another chance to change your life.
|
|
|
|
|
I didn't understand how to make the request, but I will look into again today.
|
|
|
|
|