|
Hello!
This is because you are calling Unicode version (SearchPathW). Use SearchPath or SearchPathA for non-Unicode version.
If parameter 5 is 'char [1024]' then TCHAR is defined as char, so _UNICODE is not defined.
Have a nice day or night
|
|
|
|
|
It's not working even with SearchPath(). There is no compiler error as such but the thing is not execeuting. Any other suggestion for solving the problem
|
|
|
|
|
Tell me exactly what you want to do. You want to locate executable file which is on system path? Or acquire path to executable which is currently running under the debugger?
|
|
|
|
|
I want to loacte executable where ever it is on the Harddisk. Thing is I am not sure whether exe will be in System Directory or Program Files.
Hence Search for the file on My Computer kind of thing.
Waiting for reply.
Cheers!!!
Siddharth
|
|
|
|
|
So you should not use SearchPath()
Use either SHFindFiles or locate the file by yourself, by traversing directories, and using FindFirstFile, FindNextFile.
Search path searches for file in:
1) The directory from which the application loaded.
2) The current directory.
3) The system directory. Use the GetSystemDirectory function to get the path of this directory.
4) The 16-bit system directory. There is no function that retrieves the path of this directory, but it is searched.
5) The Windows directory. Use the GetWindowsDirectory function to get the path of this directory.
6) The directories that are listed in the PATH environment variable.
These are not all directories for sure
|
|
|
|
|
That's very nice of you. These are very valuable suggestions. But do U agree with my thinking? Or can U suggest something better then that.
|
|
|
|
|
Hi all,
this is one of my first posts here. Hello.
I am into photography, and i want to write maybe an MFC application or something that does the following:
-take in a directory
-for each jpg in this directory, add a watermark to it
by watermark I mean a signature that shows that picture is mine.
do you guys know if this is possible?
thanks!
|
|
|
|
|
download cximage from here
add 3 (maybe 4) lines of code
voila
"there is no spoon" biz stuff about me
|
|
|
|
|
Hi,
I need to write a small program that backs up a Microsoft Access database in a specific way, and wondered if anybody here could offer me a little help.
Basically, this is what the program needs to do:
1) Copy the original database (.mdb file) to a different folder (the backup folder).
2) Change the database password of the backed up version (the backup needs a different password).
3) Set the properties of the backed up password to "Read-only".
1) and 3) are easy, but 2) is giving me problems. At the moment I have to do this manually at the end of each day - by opening the copy using "Exclusive access", unsetting and then resetting the database password. Essentially I just want to write a program to automate this process and save me time at the end of each day.
I am hoping that there is some way to automate step 2. If this is a really basic question, please accept my apologies. I have written a few basic C/C++ and WinAPI programs, but I have never interfaced with Access from another program.
Many thanks for any help or pointers,
KB
|
|
|
|
|
You might try posing question #2 to the folks in the Access section at http://www.mvps.org/[^].
A rich person is not the one who has the most, but the one that needs the least.
|
|
|
|
|
Hello,
I'm using the NMLVCUSTOMDRAW (Custom Draw) option in my CListView. During drag/drop, I would like to draw an icon indicating where in the list the drop will insert. I have successfully drawn the icon when cursor is over a list-item, but I cannot get the icon to be erased once the cursor leaves the list item (eventually causing all list items to have this icon---I only want one at a time). I tried to invalidate the 'last' list item's rect, but this caused too much flicker. I tried to find internet examples, but could only find code that entirely drew itself with no help from the MFC CListView (don't want to do that much work).
Does anyone have any suggestions or pointers to helpful code?
thanks! JennyP
|
|
|
|
|
My application works just fine with Access and SQL server2000,but when i use FoxPro as Data Source i can't AddNew,Update or Delete record.
I dont recive eny errors from database.
is my Connection string OK?
Code Example:
//////////////////////////////////////////
#define INITGUID
#import "C:\Program Files\Common Files\System\ADO\msado15.dll"\
rename_namespace("ADOCG")\
rename("EOF", "EndOfFile")
using namespace ADOCG;
#include <stdio.h>
#include "icrsint.h"
class CADORazmena : public CADORecordBinding
{
BEGIN_ADO_BINDING(CADORazmena)
ADO_VARIABLE_LENGTH_ENTRY2(1,adVarChar, m_ID,sizeof(m_ID),lIDStatus,TRUE)
ADO_VARIABLE_LENGTH_ENTRY2(2,adVarChar, m_Garderoba,sizeof(m_Garderoba),lGarderobaStatus, TRUE)
END_ADO_BINDING()
public:
CHAR m_ID[50];
ULONG lIDStatus;
CHAR m_Garderoba[50];
ULONG lGarderobaStatus;
////////////////////////////////////////////////////
Document class
////////////////////////////////////////////////////
BOOL CKucniBudget2004Doc::OnNewDocument()
{
if (!CDocument::OnNewDocument())
return FALSE;
// IDBInitialize* pIDBInitialize = NULL;
m_strConection=_T("Provider=vfpoledb;Data Source=c:\\data\\simpoz.dbc;");
m_strCmd=_T("select * from Kupci");
m_pRs = NULL;
m_piAdoRecordBinding = NULL;
// Initialize the COM environment
::CoInitialize(NULL);
try
{
// Create the record set object
m_pRs.CreateInstance(__uuidof(Recordset));
// Open the record set object
m_pRs->Open((LPCTSTR)m_strCmd, (LPCTSTR)m_strConection,
adOpenDynamic, adLockOptimistic, adCmdUnknown);
// Get a pointer to the record binding interface
if (FAILED(m_pRs->QueryInterface(__uuidof(IADORecordBinding),
(LPVOID *)&m_piAdoRecordBinding)))
_com_issue_error(E_NOINTERFACE);
// Bind the record class to the record set
m_piAdoRecordBinding->BindToRecordset(&m_rsRecSet);
// Get a pointer to the view
POSITION pos = GetFirstViewPosition();
CKucniBudget2004View* pView = (CKucniBudget2004View*)GetNextView(pos);
if (pView)
// Sync the data set with the form
pView->RefreshBoundData();
}
// Any errors?
catch (_com_error &e)
{
// Display the error
GenerateError(e.Error(), e.Description());
}
return TRUE;
}
void CKucniBudget2004Doc::AddNew()
{
try
{
m_piAdoRecordBinding->Update(&m_rsRecSet);
if(m_pRs->Supports(adAddNew))
{
CreateBlankRecord();
m_piAdoRecordBinding->AddNew(&m_rsRecSet);
m_pRs->MoveLast();
}
}
catch (_com_error &e)
{
GenerateError(e.Error(),e.Description());
}
}
void CKucniBudget2004Doc::CreateBlankRecord()
{
CString strBlank=" ";
// COleDateTime dtBlank;
strcpy(m_rsRecSet.m_ID,(LPCTSTR)strBlank);
strcpy(m_rsRecSet.m_Garderoba,(LPCTSTR)strBlank);
}
void CKucniBudget2004Doc::Delete()
{
try
{
m_piAdoRecordBinding->Update(&m_rsRecSet);
if(m_pRs->Supports(adDelete))
{
if(AfxMessageBox("Jeste li Sigurni Da hocete da Obrisete tekuci Zapis?",MB_YESNO | MB_ICONQUESTION) == IDYES)
{
m_pRs->Delete(adAffectCurrent);
m_pRs->MovePrevious();
}
}
}
catch (_com_error &e)
{
GenerateError(e.Error(),e.Description());
}
}
void CKucniBudget2004Doc::DeleteContents()
{
// TODO: Add your specialized code here and/or call the base class
if (m_pRs)
m_pRs->Close();
// Do we have a valid pointer to the record binding?
if (m_piAdoRecordBinding)
// Release it
// m_piAdoRecordBinding->Release();
// Set the record set pointer to NULL
m_pRs = NULL;
// Shut down the COM environment
CoUninitialize();
CDocument::DeleteContents();
}
void CKucniBudget2004Doc::GenerateError(HRESULT hr, PWSTR pwszDescription)
{
CString strError;
strError.Format("Greska broj'%d (%x)'",hr,hr);
strError+= "\n\n";
strError+=pwszDescription;
AfxMessageBox(strError);
}
CADORazmena* CKucniBudget2004Doc::GetRecSet()
{
return &m_rsRecSet;
}
///////////////////////////////////////////////
ViewClass
/////////////////////////////////////////
void CKucniBudget2004View::OnZapisBrisanjezapisa()
{
// TODO: Add your command handler code here
UpdateBoundData();
GetDocument()->Delete();
RefreshBoundData();
}
void CKucniBudget2004View::OnZapisNovizapis()
{
// TODO: Add your command handler code here
UpdateBoundData();
GetDocument()->AddNew();
RefreshBoundData();
UpdateData(FALSE);
}
void CKucniBudget2004View::RefreshBoundData()
{
CADORazmena* pRs;
pRs = GetDocument()->GetRecSet();
// Is the field OK
if (adFldOK == pRs->lIDStatus)
m_ID = pRs->m_ID;
else
m_ID = _T(" ");
if (adFldOK == pRs->lGarderobaStatus)
m_Garderoba = pRs->m_Garderoba;
else
m_Garderoba = _T(" ");
UpdateData(FALSE);
}
void CKucniBudget2004View::UpdateBoundData()
{
CADORazmena* pRs;
pRs=GetDocument()->GetRecSet();
UpdateData(TRUE);
if(m_ID != pRs->m_ID)
{
strcpy(pRs->m_ID,(LPCTSTR)m_ID);
}
if(m_Garderoba != pRs->m_Garderoba)
{
strcpy(pRs->m_Garderoba,(LPCTSTR)m_Garderoba);
}
////////////////////////////////////////////////
|
|
|
|
|
Hi-
I've been working with vs.net for awhile, but I need to use VC6 for this
current project. I'm getting linker errors and I have searched and
searched, yet I can't find it anywhere.
Here is the deal;
StdAfx.h
#include "SM2Types.h" // my custom types
SM2Types.h
#include "XYDataArray.h" // this is a nice little template class container that I found on Code Project. I don't want to use MFC
XYDataArray.h is wrapped nicely with #ifndef / #define
XYDataArray.h has this line #include XYDataArray.inl - this is the
implementation file it appears, I've never seen one before
So, somehow I guess it's trying to link to the objects over and over, hence
I'm getting the error:
Linking...
StdAfx.obj : error LNK2005: "int nXYSwap" (?nXYSwap@@3HA) already defined in
CSM2FileTools.obj
STL_testing.obj : error LNK2005: "int nXYSwap" (?nXYSwap@@3HA) already
defined in CSM2FileTools.obj
Debug/STL_testing.exe : fatal error LNK1169: one or more multiply defined
symbols found
Error executing link.exe.
This is very defeating... anyone have any ideas?? please?
-SK
|
|
|
|
|
See if this thread helps.
A rich person is not the one who has the most, but the one that needs the least.
|
|
|
|
|
Thanks David, but I have a #define check at the top.
I learned from another source that the problem is that there is a global variable "int nXYSwap" used for a macro "#define XYSWAP(x,y) (nXYSwap=x,x=y,y=nXYSwap)"
so adding extern to the int declaration was the suggested solution, however that cause unresolved external error with the macro still trying to call the varaible.
I don't know what to make of it. here is the problem area if anyone is interested:
extern int nXYSwap;
#define XYSWAP(x,y) (nXYSwap=x,x=y,y=nXYSwap)
Thanks for the reply!
Steve
|
|
|
|
|
#define XYSWAP((x),(y)) {int z=(x);(x)=(y);(y)=z;}
A rich person is not the one who has the most, but the one that needs the least.
|
|
|
|
|
!!
Thanks MAN! Obviously I don't know what I can do w/ macros.... this is great, thanks so much.
|
|
|
|
|
A better solution to the macro XYSWAP would be a templated function such as this:
<template typename T>
void XYSWAP(T& left, T& right) {
T tmp(left);
left = right;
right = tmp;
} There you have a function which
1) is type safe: you can't swap an int with a float
2) is type polymorphic (you can use it to swap other types than int
3) is reusable, thanks to 2)
4) does not rely on global variables
The template function simply replaces the macro in the header file.
--
C'est normal!
|
|
|
|
|
|
Is it possible to open a dialog (resource, DoModal()?) by clicking on a link in an htmlview?
Thanks,
Frank
"Keyboard Error - Press F1 to Continue"
|
|
|
|
|
Hi,
Dose anybody know where can i download "Server 2003 DDK", and i need to write a program to comunicate and transfer files with a remote computer via modem with this protocols (ZMODEM/XMODEM), can you send me some hint or source code links to help me to start it.
Thanx in advance.
|
|
|
|
|
you can't download the DDK anymore... order it from microsoft.
Don't try it, just do it!
|
|
|
|
|
i knowwwww, that's why i asked for;)
anyways actually im new to the ddk and im not sure if i order it, then i can use it for this purpose, im just wanna impelement something like windows hyperterminal,... got any clue?
thanx
|
|
|
|
|
Hi!
When I run my MFC project in the debugger of Visual C++ the main thread exits with code 0x2. Does this mean anything? Before a while it always exited with a code like 0x8003.
Is there anywhere a list where one can see what those return codes mean? Or do they just mean nothing??
Thanks in advance
Dominik
_outp(0x64, 0xAD);
and
__asm mov al, 0xAD __asm out 0x64, al
do the same... but what do they do??
(doesn't work on NT)
|
|
|
|
|
Thread return values have no specific meaning. The value returned from WinMain or a thread's thread proc is the return value you see in the debugger.
In the DOS days, external commands would return 0/non-zero for success/failure.
--Mike--
Ericahist | CP SearchBar v2.0.2 | Homepage | 1ClickPicGrabber New v2.0.1! | RightClick-Encrypt
Actual sign at the laundromat I go to: "No tinting or dying."
|
|
|
|