|
Nish [BusterBoy] wrote:
Well it was said by a renowned Win32 Guru
Was he a member of NT team at MS, or something like that?
C++ has a features to make your software more -- and not less -- reliable. Just think about programming a complex piece without RAII idiom.
To make your confusion worse, check .NET framework - they have managed classes for creating services.
Tomasz Sowinski -- http://www.shooltz.com
|
|
|
|
|
Tomasz Sowinski wrote:
To make your confusion worse, check .NET framework - they have managed classes for creating services.
yeah....
Point!
Nish
[Signature temporarily down]
|
|
|
|
|
wosh !
Mauricio Ritter - Brazil
Sonorking now: 100.13560 Trank
|
|
|
|
|
Mauricio Ritter wrote:
wosh !
Hmmm. Is that a Brazilian expression of astonishment?
Nish
[Signature temporarily down]
|
|
|
|
|
Nish [BusterBoy] wrote:
Hmmm. Is that a Brazilian expression of astonishment?
sort of... we have iisshhh and viiirggee too !
Mauricio Ritter - Brazil
Sonorking now: 100.13560 Trank
|
|
|
|
|
Actually, while I'm sure that's all quite correct, I've been working on services for the past couple of years using MFC with no complications (and significant productivity gains). Heavily multithreaded sockets communications subsystem. As for CSocket, I ended up rolling my own socket class wrapping the WSA calls due to one bump in the road after another. Can't remember the specifics on it at this point as that was a couple of years ago, and I've slept since then...
Chistopher Duncan
Author - The Career Programmer: Guerilla Tactics for an Imperfect World (Apress)
|
|
|
|
|
Mauricio Ritter wrote:
P.S.: By the way Nish... do you want a beta version of RaceX ? You said that you want to be the first one to try it out.
Yesssssssssssssssss!!!!!!!!!!!1
Please mail it to me!!!
Nish
[Signature temporarily down]
|
|
|
|
|
Nish [BusterBoy] wrote:
Please mail it to me!!!
Ok... I´ll just put some finishing touches and I´ll send you. It´s single player only for now... but it´ll be multiplayer pretty soon.
Mauricio Ritter - Brazil
Sonorking now: 100.13560 Trank
|
|
|
|
|
Thanks
Nish
[Signature temporarily down]
|
|
|
|
|
"First of all I think it's not a good idea to use MFC in an NT service."
There is nothing wrong with using MFC in an nt service. Classes like CString and CStringArray can be very handy within a service.
However, using the CSocket class in a service can be hard because it relies on a hidden window to process messages. Without a message pump, the event notification methods (OnAccept, OnReceive, etc.) won't be invoked. But it is not impossible to make it work.
"*I might be absolutely wrong*."
I might be a little bit wrong.
|
|
|
|
|
XiangYangLiu wrote:
There is nothing wrong with using MFC in an nt service. Classes like CString and CStringArray can be very handy within a service.
Hi Xiang
Please read my reply to Mauricio, where I have pasted some of Joe's comments. He particularly discouraged the use of CString.
Regards
Nish
[Signature temporarily down]
|
|
|
|
|
"Please read my reply to Mauricio, where I have pasted some of Joe's comments. He particularly discouraged the use of CString."
I wasn't impressed by the comments. I am afraid the issue is blown out of proportion (again).
|
|
|
|
|
Your code in the dialog based app worked because the app has a message pump. CSocket uses a hidden window. The OnAccept method will only be called when messages got processed. Your nt service most likely does not have a message pump.
A simple solution to this problem is
1) Keep your code in the dialog based app.
2) Make sure the dialog based app does not need user intervention (no modal message box, etc.)
3) Start the dialog based app from a special nt service.
Good luck.
|
|
|
|
|
There is an underlying CSocket class in this article, that is designed for use with NT services. Also check out a few of Mr Naughter's other Articles, as he knows his Winsock under a service very well indeed.
This class can be used with either GUI Applications or Services - its happy anywhere.
He's developed loads of things for use with NT Services.
Hope this helps,
Giles
|
|
|
|
|
I have a Word document.I want to input this document to a database.Generally,i will create a table in a database,then input a column ,then input next column. In order to save my time,now i want to input the whole Word document by a program.
please tell me some English information about this.Or tell me web sites.Thank you!
huang chun shen
|
|
|
|
|
big2002 wrote:
I have a Word document
Use FILE or CFile to read your document,before that you have to have memo column in your database,after read your file put it as a string in your database.
Mazy
"So,so you think you can tell,
Heaven from Hell,
Blue skies from pain,...
How I wish,how I wish you were here." Wish You Were Here-Pink Floyd-1975
|
|
|
|
|
This is not going to work for a Word document, because it is encoded. Try opening a .doc file in Notepad and see for yourself.
Christian
The tragedy of cyberspace - that so much can travel so far, and yet mean so little.
"I'm thinking of getting married for companionship and so I have someone to cook and clean." - Martin Marvinski, 6/3/2002
|
|
|
|
|
Christian Graus wrote:
This is not going to work for a Word document
You mean FILE can not read .doc files?????
|
|
|
|
|
Mazdak wrote:
You mean FILE can not read .doc files?????
OH, heaven HELP me.....
Like I said, a doc file is encoded. Yes, he can read it with FILE, he can read a gif as well. They have equal chance of looking intelligent at the end of it.
Christian
The tragedy of cyberspace - that so much can travel so far, and yet mean so little.
"I'm thinking of getting married for companionship and so I have someone to cook and clean." - Martin Marvinski, 6/3/2002
|
|
|
|
|
Please pardon my inquisitiveness, but I am fairly curious as to why you would want to insert an entire Word document into a database. Some Word documents I have run into the 10s of Megabytes.
Nish
[Signature temporarily down]
|
|
|
|
|
How can i know if a given PID have a window & how to get the handle of that window ?
Thanx
|
|
|
|
|
You should enumerate top-level windows with EnumWindows. For each HWND returned, call GetProcessThreadProcessId and compare results with gived PID.
[edit]
Of course, this is GetWindowThreadProcessId, as Nish pointed out.
[/edit]
Tomasz Sowinski -- http://www.shooltz.com
|
|
|
|
|
Tomasz Sowinski wrote:
For each HWND returned, call GetProcessThreadProcessId
I think it should be GetWindowThreadProcessId
Nish
[Signature temporarily down]
|
|
|
|
|
|