|
Well, the problem with that solution is that a lot of people will be disinterested in the app based upon that alone. I don't want to have to pile on additional requirements beyond basic system requirements.
I want anybody (Your grandma, for instance) to be able to very simply dload and install this app and be up in running quickly and easily.
|
|
|
|
|
Is an Access DB not up to the task? If it is you can setup an ODBC connection during setup and then use SQL to create an Access db.
You can have a setup that has an "Advanced" setup that will allow someone to use an existing db system instead and just use Access for grandma.
I can't remember where I read this or who said it, but it was something like this: "Make a system that any fool can use and only a fool will use it."
--
"The money power of the country will endeavor to prolong its rule by preying upon the prejudices of the people until all wealth is concentrated in a few hands and the Republic destroyed."
-- Abraham Lincoln
|
|
|
|
|
|
Thanks ... this is the kind of thinking I was looking for!
I'll look into this, and see if it fits my needs. In the mean time ... more suggestions please!!
-G
|
|
|
|
|
I keep an eye on small DB engines and I don't think you'll find too much else out there that is any good and well supported, but if you do let me know.
You haven't said what capabilities you are looking for, but an alternative I'd consider is XML.
Neville Franks, Author of ED for Windows. Free Trial at www.getsoft.com
|
|
|
|
|
Hi all
I was trying to find a way how to get control ID (in my case button)
in run time using some Win API function but failed. I was looking for that ID that is hard coded usually in .h files.
The only similar API GetDlgCtrID() I found but it returns value different for each start of application. But I need an identifier for the button that is persisted and is the same along each start of the application. Similar how it works for the MenuItem IDs that are stored in the resource file.
Please let me know if it possible at all or application forgets this ID when it creates the window and identify it using just handler to the window.
Any advices greatly appreciated
Roman
|
|
|
|
|
GetDlgCtrlID() is what you want. Maybe it's being used incorrectly.
|
|
|
|
|
How to highlight an item in a list control in report view?
I'm using SetSelectionMark(), but it doesn't work. What am I missing?
|
|
|
|
|
Try it with SetItemState()
|
|
|
|
|
|
Hello
is it possible to come to the address (URL) of the active internet explorer window? if yes, how? if no, why not? and any other way as by programing? like java script or so...
thanks
|
|
|
|
|
I haven't tried it, but my first guess would be IE Automation.
|
|
|
|
|
|
Hi SledgeHammer
First of all I want to congratulate you for your CLabel 1.6.
I was wandering if it could be possible add to the class a SetToolTip method.
I've seen there is a simple SetToolTip (plus InitToolTip) method in class CButtonST class found here in Codeproject, but trying to add it to CLabel it doesn't work.
Maybe there is a simple reason because is not working.
Could you please tell me if there is a simple way to add ToolTip fonctionality to the CLabel class?
Best Regards
Doc Pi
|
|
|
|
|
I have many applications that I write that need to be multithreaded because I need to do a lot of background processing and the user interface must be as responsive as possible. In the past I have divided the program into different managers. Each manager would be a CThread derived class (has a message queue) that would handle a specific set of functionality and different priorities. Some examples are CArchiveMgr , CDistributionMgr, CScanMgr. CArchive manager handles all loading and saving of images, documents, cases and does background archiving when the system runs low on space. CDristributionMgr handles all the transfer of data from the client computers, along with the all the processing that needs to occur (compression / encryption...) before and after a transfer. CScanMgr connects to the scanner and receives and processes scanned documents. The system works by broadcasting a thread message with a specific message ID (there are over 70 codes) to all the managers (about 10) along with a DWORD code that is a parameter. Each thread receives the message and only threads that are interested in the message will process the data.
I have seen a few thread pool examples lately and I was thinking that it might be a better design in the future to use a thread pool instead, but my thread pool would have to be more complex than the ones I have seen so far. I do need to have priorities and it would be nice to reschedule jobs that are blocked instead of holding the thread while waiting for a shared resource.
My question is do you have any ideas about this? Pros and Cons?
Thanks in Advance,
John
|
|
|
|
|
Hello,
I am working on an application that uses IE 6 to print HTML files through Adobe distiller to produce PDF files.
Before the upgrade to Windows XP we have been using IE5.5, but under IE6 it seems to truncate the file name that distiller is given to use as the output file for the produced PDF and LOG file. This limitation seems to 34 character for the just the file name! So some our code broke waiting for the wrong file name in ther Adobe "PDF Output" directory.
Has anyone seen this? Is there a registry setting to control this? Or is it a known bug of IE6/Distiller?
Jeff Wilson
Fidelity Investments
|
|
|
|
|
No, I don't want a Shell Namespace Extension, I want something similar. What I want to achieve is something (actually, my problem is more complex, but you can use this as a pretty good example) like the Zip folders on Windows XP, but I would like that every Windows application could access it, not only the shell.
I don't know if I'm being clear here, what I want to achieve is to "map" a zip file in a drive letter. The most similar thing to what I'm trying to do is the M:\ drive on the Exchange Server 2000.
So, what do I need to do? A device driver? A filter driver? Can you point me to some example?
Kant wrote:
Actually she replied back to me "You shouldn't fix the bug. You should kill it"
|
|
|
|
|
you should probably use a disk simulator driver...
so the os creates it own file system on it and you can handle it like every other drive.
|
|
|
|
|
Try googling for Galen Hunt at Microsoft Research. He wrote something presented on a Usenix conference some years ago that would let you implement a filesystem in user- (i.e. x86 ring3)-mode.
If you get something working using this approach it would be nice to see an article here at CP about it.
|
|
|
|
|
Hi,
I have set up a shared data segment in a DLL which works fine in XP and 2000 but when I take it over to WinME then it does not work, I can set the value but other processes that load the DLL still have the value set to NULL.
Here is the segment
[code]
#pragma data_seg(".shared")
HANDLE hProcess = NULL;
HWND hWndService = NULL;
#pragma data_seg()
#pragma comment(linker,"/SECTION:.shared,RWS")
[/code]
Any Ideas?
Ceri
|
|
|
|
|
WWW-service crashes while starts ISAPI filter dll (VC++ 6) when trying to connect to Sybase database through ODBC.
I need to open ODBC connection on filter startup and keep it running to speed up base-related operations. So I call SQLConnect from DllMain and try to connect base (see example of code). It works perfect with Oracle database, but it doesn't work with Sybase (though compiled as Win32 Application it works with Sybase too).
Code
========================================================================
#include <windows.h>
#include <httpfilt.h>
#include <sql.h>
#include <sqlext.h>
#include <stdio.h>
#define ODBC_SUCCESS(rc)\
(((rc)==SQL_SUCCESS)||((rc)==SQL_SUCCESS_WITH_INFO))
HENV henv;
HDBC hdbc;
HSTMT hstmt;
BOOL WINAPI DllMain(HINSTANCE hInst, ULONG ulReason, LPVOID lpReserved)
{
switch (ulReason)
{
case DLL_PROCESS_ATTACH:
SQLAllocEnv(&henv);
SQLAllocConnect(henv, &hdbc);
RETCODE rc;
// here www-service freezes
rc=SQLConnect(
hdbc,
(unsigned char *) "DSN",
SQL_NTS,
(unsigned char *) "LOGIN",
SQL_NTS,
(unsigned char *) "PASSWORD",
SQL_NTS
);
if (!ODBC_SUCCESS(rc)) { ... // connection error }
DisableThreadLibraryCalls(hInst);
break;
case DLL_PROCESS_DETACH:
SQLDisconnect(hdbc);
SQLFreeConnect(hdbc);
SQLFreeEnv(henv);
break;
default:
break;
}
return true;
}
BOOL WINAPI GetFilterVersion(HTTP_FILTER_VERSION * pVer){ ... }
DWORD WINAPI HttpFilterProc
(
HTTP_FILTER_CONTEXT* pFC,
DWORD NotificationType, VOID* pvData
){ ... }
========================================================================
If somebody know how to solve this problem - help needed.
|
|
|
|
|
You should do your init work in HttpFilterProc.
MSDN notes that it is dangerous to load any libraries in the
DllMain function and ....
Warning On attach, the body of your DLL entry-point function should perform only simple initialization tasks, such as setting up thread local storage (TLS), creating objects, and opening files. You must not call LoadLibrary in the entry-point function, because you may create dependency loops in the DLL load order. This can result in a DLL being used before the system has executed its initialization code. Similarly, you must not call the FreeLibrary function in the entry-point function on detach, because this can result in a DLL being used after the system has executed its termination code.
Calling functions other than TLS, object-creation, and file functions may result in problems that are difficult to diagnose. For example, calling User, Shell, COM, RPC, and Windows Sockets functions (or any functions that call these functions) can cause access violation errors, because their DLLs call LoadLibrary to load other system components. While it is acceptable to create synchronization objects in DllMain, you should not perform synchronization in DllMain (or a function called by DllMain) because all calls to DllMain are serialized. Waiting on synchronization objects in DllMain can cause a deadlock.
To provide more complex initialization, create an initialization routine for the DLL. You can require applications to call the initialization routine before calling any other routines in the DLL. Otherwise, you can have the initialization routine create a named mutex, and have each routine in the DLL call the initialization routine if the mutex does not exist.
Hope this helps
|
|
|
|
|
FYI, I have never been able to connect to Sybase via ODBC in either a filter or extension either. I think it has to do with different TCP/IP stacks used by CTLib. You might want to try Named Pipes?
|
|
|
|
|
I want to let my computer search SQL Server's computer name and SQL Server name in local network and list them, but i don't hnow how to do it.
|
|
|
|
|
See
INT dbserverenum (
USHORT searchmode,
LPSTR servnamebuf,
USHORT sizeservnamebuf,
LPUSHORT numentries );
in the SQL Server dblibrary.
|
|
|
|