|
I have made a OLE DB Provider using "ATL OLE DB Provider Wizard" in VS 2005.I tried to implement bookmark in it
but it seems consumers can not recognize bookmark bookmark capability of my provider.I have these lines in
property map set of my rowset object:
PROPERTY_INFO_ENTRY_EX(BOOKMARKS, VT_BOOL, DBPROPFLAGS_ROWSET | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE , VARIANT_TRUE, 0)
PROPERTY_INFO_ENTRY_EX(BOOKMARKSKIPPED,VT_BOOL, DBPROPFLAGS_ROWSET | DBPROPFLAGS_READ, VARIANT_TRUE, 0)
PROPERTY_INFO_ENTRY_EX(BOOKMARKTYPE, VT_I4, DBPROPFLAGS_ROWSET | DBPROPFLAGS_READ, DBPROPVAL_BMK_NUMERIC, 0)
PROPERTY_INFO_ENTRY_EX(LITERALBOOKMARKS, VT_BOOL, DBPROPFLAGS_ROWSET | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE, VARIANT_TRUE, 0)
PROPERTY_INFO_ENTRY_EX(ORDEREDBOOKMARKS, VT_BOOL, DBPROPFLAGS_ROWSET | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE, VARIANT_TRUE, 0)
and even my data source tables don't have bookmark column,I put an extra column(with ordinal=0) as the first
column of rowset object which is created in Execute method of this object.
But in session object,IRowsetSchema interface only returns the tables columns not included any entry for Bookmark.
should I include a column entry for Bookmark in column schema of any table?
should I always include bookmark column in returning data rowsets or it depends on consumer request?
Is there any sample code which shows implementing bookmark inside the "Execute" method of rowset object?
May you answer these questions please?
Thanks in advance
|
|
|
|
|
Hi friends,
My product have a ATL/COM based C++ service (32 bit). It get registered and run fine on XP 32 bit and Vista 32 bit.
But now I want to run the same on Windows7 64 bit also. I tried to register the service the following way:
1 I did Copy MyService.exe at C:\Windows\SysWOW64.
2 Then executing "C:\Windows\SysWOW64\MyService.exe" -RegServer from Start->Run
3 Then executing "C:\Windows\SysWOW64\MyService.exe" -Service from Start->Run
But my service is not getting registered. While registering it, I don't get any error message. Also I didn't find any entry in event viewer (I saw event viewer first time. Don't know where to see the log about registration of my service). And I didn't find entry for my service at Control Panel\Administrative Tools\Services.
Please advise me how can I register my service?
Thanks in Advance
Regards
|
|
|
|
|
Did you install your service first? How was your service is installed in XP 32?
Service is installed with CreateSerice() API. Check out how this was handled in XP 32 case.
You can have your own logs during CreateService() API and see what went wrong in Win7 x64.
I am not sure why you need to copy the MyService.exe in SysWow64 folder.
Your service Dll\EXE can be anywhere.
-Prashanth Jaligama
|
|
|
|
|
Hi Prashanth,
Thanks for replying me. Finally I got the answer for my query. To run a command in Start->RUN (on Windows7 or Vista) with escalated rights we should press Ctrl+Shift+Enter. It will then run the command with admin rights. Earlier since I was pressing Enter only, service was not getting registered.
About placing the service in SysWow64, since all my binaries are in SysWow64, I am placing the service's exe there only.
Regards
Aseem
|
|
|
|
|
HI Aseem,
Good to know that you solved your issue.
alternatively you can elevate run prompt from Task Manager.
Go to TaskManager
click on Processes Tab
Click on Show process from All users
Go to File Menu->New Task
This allows the execute command in admin mode.
Thanks
Prashanth
|
|
|
|
|
when i complier these codes, the warning will come :
static void err_doit(int errnoflag, int level, const char* fmt, va_list ap)
{
int errno_save, n;
char buf[MAXLINE+1];
errno_save = errno;
#ifdef HAVE_VSNPRINTF
vsnprintf(buf, MAXLINE, fmt, ap);
#else
vsprintf(buf, fmt, ap);
#endif
n = strlen(buf);
if(errnoflag)
snprintf((char*)(buf+n), MAXLINE-n, ";%s", strerror(errno_save));
strcat(buf, "\n");
if(daemon_proc)
{
syslog(level, (const char*)buf);
}
else
{
fflush(stdout);
fputs(buf, stderr);
fflush(stderr);
}
return;
}
</pre>
the warnning is:
In file included from str_cli.c:2,
from tcpcli01.c:2:
error.c: In function ‘void err_doit(int, int, const char*, char*)’:
error.c:98: warning: format not a string literal and no format arguments
i this warning, for i don't make buf to (const char*), but i try, it don't work.
please give me some advices, thank you
|
|
|
|
|
The specification for syslog() is
void syslog(int priority, const char *format, ...);
and your call uses buf as the format parameter, but its content does not contain any format control characters, and your call does not include any parameters. If you rewrite it as
syslog(level, "%s", buf);
it should work OK.
Just say 'NO' to evaluated arguments for diadic functions! Ash
|
|
|
|
|
I do an example to emulate keyboard with SendInput. Here is the code to press "a" with "dwFlags = KEYEVENTF_UNICODE".
Code:
INPUT inp[2];
memset(inp,0,2*sizeof(INPUT));
inp[0].type = INPUT_KEYBOARD;
inp[0].ki.dwFlags = KEYEVENTF_UNICODE ;
inp[0].ki.wScan = "a";
inp[1] = inp[0];
inp[1].ki.dwFlags |= KEYEVENTF_KEYUP;
SendInput(2, inp, sizeof(INPUT)); // Press "a"
Do you know how to press "a" with dwFlags = 0 and ki.wVk = "virtual key of a" ?
Thanks and regards.
|
|
|
|
|
Hi all,
I am developing a project like abode reader, I have a problem:
I need to display the ".pdf" file in the full screen model, and I have no idea to implement it.
Did anyone do it or could you tell me the main idea?
Thanks in advance.
|
|
|
|
|
Do you want to implement another PDF reader from scratch? or do you want to use Acrobat to show a PDF in full screen?
--
Si dos montan un caballo, uno debe ir detrás.
|
|
|
|
|
Yeah, I'm making my own application to implement adboe reader, now I need some thought how to
complete the full screen model.
|
|
|
|
|
See here[^] for the options to resize your window.
However, if you are saying that you have no idea how to write a PDF reader then I suggest you do some research into the PDF libraries that are available. There may also be some articles here on CodeProject that show you the basics.
Just say 'NO' to evaluated arguments for diadic functions! Ash
|
|
|
|
|
Thank you, guys. I am making my own pdf reader, if you have some links to resource or source code, I should really thank you!
|
|
|
|
|
Did you read my answer? I have given you some suggestions how to find free libraries to handle PDF files. You can also get the full PDF specification from the Adobe web site and code the whole thing yourself.
Just say 'NO' to evaluated arguments for diadic functions! Ash
|
|
|
|
|
I think you can just launch PDF reader( using shellexecute or similar apis) with the pdf file name as arguemnt. you can also set the screen mode(maximaized ,minimaized , or normal ) in there.
If you want to launch PDF in your app, try PDF activex , or you can use std web browser control to shows the pdf.
hopes this helps.
If u can Dream... U can do it
|
|
|
|
|
Thank you, but I have a application that parse .pdf and other files, so I want to implement the
full screen model in my own frame, so I need some main ideas about this function.
|
|
|
|
|
This is something else I gave you a link for in my answer above. Try reading the link and see how easy it is to show your window in full screen mode.
Just say 'NO' to evaluated arguments for diadic functions! Ash
|
|
|
|
|
these code is :
int sum(int a, int b);
#include "In.h"
int sum(int a, int b)
{
return (a+b);
}
//test05.cpp
#include "iostream"
#include "In.h"
using namespace std;
int main()
{
int a = sum(1, 2);
cout << a << endl;
}
when i complier test05.cpp, it will have a question :
~/cpp/test$ g++ -o test05 test05.cpp
/tmp/ccW55H4p.o: In function `main':
test05.cpp text+0x19): undefined reference to `sum(int, int)'
collect2: ld returned 1 exit status
give me some advides
thank you
|
|
|
|
|
You need to include In.cpp in your build thus:
~/cpp/test$ g++ -o test05 test05.cpp In.cpp
Just say 'NO' to evaluated arguments for diadic functions! Ash
|
|
|
|
|
|
You're welcome. If you get bored some dark night you might want to read some of the documentation on g++ , I think g++ --help gives you quite a lot of information.
Just say 'NO' to evaluated arguments for diadic functions! Ash
|
|
|
|
|
Dears,
Could you please clarify whether the InterlockedIncrement API can be used in interprocess communication?
Regards,
Krishnakumar
|
|
|
|
|
In my opinion you can definitly use it. It provides synchronized access to a variable that is shared by multiple threads. In interprocess communication and to handle variables in shared memory it is safe.
|
|
|
|
|
InterlockedIncrement This API increments the variable value by 1, in addition to this, it also gives thread safety while incrementing so that we need not to write thread synchronization code just to increment counter. Now this behaviour you can use where ever you find it useful.
Thanks,
Anand.
|
|
|
|
|
Hey folks,
Anyone know what I need to do to get the tab key to move from field to field in a CPropertyPageImpl-based property sheet page? it works fine in design view in VS, but sounds a bell and stays put when executing. All the necessary controls have the WS_TABSTOP set, but the focus doesn't move...
Thanks!
D. T. Doutel
|
|
|
|