CMemFile not working in VC++ 6.0 RELEASE mode

I am using VC++ 6.0 and have a multi-threaded application (exe & multiple 
DLLs) which seem 
to be having a 
CMemFile object getting clobbered when running in release mode.
It does not happen in debug mode.

When running in the debugger,
the calling thread that builds the memory file reports:
GetPosition = 0
GetLength = 228
ptr to memfile = aa2238

the method GetTextLineNOF is passed a ptr to CMemFile and reports:
GetPosition = 0
GetLength = 228
ptr to memfile = aa2238
Which agrees as expected.

====

However when running in RELEASE mode:
the calling thread that builds the memory file reports:
GetPosition = 0
GetLength = 228
ptr to memfile = 7ccd10

the method GetTextLineNOF is passed a ptr to CMemFile and reports:
GetPosition = 8cf829 WHICH IS WRONG!
GetLength = IT appears to be blowing up on this call to GetLength with 
access violation
ptr to memfile = 7ccd10


Here are two code snippets.  Note that each is in its own DLL!

Input file can be any random file even 5 lines long created in notepad.

// ZZZ.cpp : Defines the entry point for the DLL application.
//

#include "stdafx.h"
#include "TWC.h"
#include <afxinet.h>
#include "atlbase.h"
#include "generator.h"
#include <wininet.h>



#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif



/***************************************************************/ 
// Define Constants
/***************************************************************/ 

// Boolean Constants

#define SUCCESS			1			//  Boolean TRUE
#define NOTSUCCESSFUL	0			//  Boolean FALSE

// Registry Constants

#define REGISTRYBASE	HKEY_LOCAL_MACHINE
#define YYYGENPATH		"SYSTEM\\\\CurrentControlSet\\\\Services\\\\xyz"

#define CHECKTIME		60000

#define TEXTLINE_SIZE	256			// For buffers receiving GetTextLineNOF output



/***************************************************************/ 
// Function prototypes.
/***************************************************************/ 

BOOL SetPageValues(CMemFile* brMemFile);
CString PullField(CString csLine, int nField, char cDelimiter);
CString MakeProperName(CString csOld);
CString GetFullDayName(CString csShortDay);

char * GetTextLine(CMemFile* file, char *pchResult);
char * GetTextLineNOF(CMemFile* file, char *pchResult, long maxlen);

BOOL UnZipFile(LPCTSTR ZipFileName);


/***************************************************************/ 
//  Global Declarations	
/***************************************************************/ 

	// Common Globals

	CString Temp = _T("");
	CString TemplatePath = _T("");
	CString TempPath = _T("");
	CString	LogPath = _T("");

	// Specific Globals

	CString	Logging = _T("");
	CString	OutputFileName = _T("");
	CString	RunTimes = _T("");
	CString	TemplateFileName = _T("");
	CString PageDataPath = _T("");
	CString City = _T("");
	CString csConfigPath = _T("");
	int		OutputLocationNumber = 0;
	CString	*OutputLocations = NULL;
	int		CityLocationNumber = 0;
	CString	*CityLocations = NULL;
	CTime	LastRun = CTime(0);

	ARGLIST Events = {0};
	char	ClientName[255] = "";

/***************************************************************/ 
//  Function Declarations	
/***************************************************************/ 

void DllExport __cdecl PROBLEMThread(ARGLIST &threadParm)
{
	CString			csError = _T("");
	char			szLine[1024] = "";
	CString			ZZZConfigPath = _T("");
	BOOL			FTPGrabFile = FALSE;
	char			TextLineBuf[TEXTLINE_SIZE] = ""; //placeholder for GetTextLineNOF

	//DebugBreak();
	try
	{
		// Get the Computer Name

		GetComputerName(ClientName);
		MyOutputDebugString(1, "PROBLEM : PROBLEM Thread Starting \n");
		Events = threadParm;
		MyOutputErrorString(1, "6100,xxx, %s, PROBLEM: Starting PROBLEM Page 
Generation\n", ClientName);
	
		char szFilePath[_MAX_PATH] = "";
		char * ModuleName = NULL;
		HMODULE ModuleHandle = NULL;
		ModuleName = "ZZZ.dll";

		// Get a handle to the DLL Library.

		ModuleHandle = GetModuleHandle(ModuleName);

		// Retrieve the path to the DLL.

		GetModuleFileName(ModuleHandle, szFilePath, sizeof(szFilePath));

		CString csDLLPath = _T("");		
		csDLLPath = szFilePath;

		// Strip the path to the DLL off in order to figure out the path to the 
config file.

        csConfigPath = csDLLPath.Left(csDLLPath.ReverseFind('\\'));
	
		// Build the path to the config file.

		ZZZConfigPath.Format("%s\\ZZZ.cfg", csConfigPath);
		
		// Check to see if I should run every CHECKTIME

		do
		{
		
			FTPGrabFile = FALSE;
			MyOutputDebugString(1, "PROBLEM : Checking Page RunTimes for update \n");

			MyOutputDebugString(1, "PROBLEM : Opening %s for reading into memory file 
\n",ZZZConfigPath);

			// Open the ZZZ Configuration file for Reading.

			CStdioFile cfInfile(ZZZConfigPath, CFile::modeRead | CFile::typeText | 
CFile::shareDenyNone);
			
			// Create a Memory File which will contain the ZZZ config file

			CMemFile* brMemFile = new CMemFile;

			// Read from the ZZZ Configuration File

			while (cfInfile.ReadString(szLine, 1024) != NULL)
			{
				// Write to the Memory File

				brMemFile->Write(szLine, strlen(szLine));		
			}
		
			// Close the ZZZ Configuration File
			
			cfInfile.Close();
			
			// Seek to the Beginning of the Memory File

			brMemFile->SeekToBegin();

			//for debugging write out the CMemFile statistics

			DWORD dwPos = brMemFile->GetPosition();
			MyOutputDebugString(1, "PROBLEM : CMemFile position = %x\n",dwPos);
			DWORD dwLen = brMemFile->GetLength();
			MyOutputDebugString(1, "PROBLEM : CMemFile length = %x\n",dwLen);
			MyOutputDebugString(1, "PROBLEM : ptr to CMemFile  = %x\n", brMemFile);
 
			// Set up the Global Values

		MyOutputDebugString(1, "PROBLEM : Making first call to GetTextLineNOF\n");

			TemplatePath = GetTextLineNOF(brMemFile, TextLineBuf, sizeof(TextLineBuf));

BLAHBLAHBLAH

----
And here is the method being called:

char * GetTextLineNOF(CMemFile* file, char *pchResult, long maxlen)
{
	// PURPOSE: Read a single line of text from the memory file (which usually 
contains a
	//			*.cfg file).  Store the line into the array pointed to by pchResult.  
It is
	//			the responsibility of the caller to properly set maxlen to the size of 
the
	//			array pointed to by pchResult so that buffer overflows are prevented.
	//			Any comments in the memory file (indicated with a leading ~) will be 
ignored
	//			and not returned by this method.  Lines in the memory file are 
terminated
	//			with CRLF (ie. Hex 0D0A) but when read in only 0A is returned by
	//			file->Read(&iChar, 1);.

	// NOTE: There are 6 formats of valid lines in the memory file as follows:
	//			1. ~Comment
	//			2. leading blanks + ~Comment
	//			3. data line starting in column 0
	//			4. leading blanks + data line
	//			5. leading blanks + data line + ~comment
	//			6. data line starting in column 0 + ~Comment
	//
	// RETURNS: String with leading blanks and trailing comments removed.
	//			Lines that only contain CRLF will be ignored.
	//			Lines containing only blanks will be ignored.

	char	iChar = '\0';
	char	skipChar = '\0';// throw away this char because buffer is full
	int		iColumn = 0;	// number of chars copied to pchResult
	char *pchTemp;	// use this to march across the array 1 char at a time

	MyOutputDebugString (1,  "Inside GetTextLineNOF \n");

	//for debugging

	MyOutputDebugString(1, "PROBLEM : ptr to CMemFile  = %x\n", file);

	MyOutputDebugString (1,  "GetTextLineNOF - just after accessing file \n");
	DWORD dwPos = file->GetPosition();
	MyOutputDebugString (1,  "GetTextLineNOF - just after calling GetPosition 
\n");
	MyOutputDebugString (1,  "GetTextLineNOF: CMemFile pos = %x \n", dwPos);

	DWORD dwLen = file->GetLength();
	MyOutputDebugString (1,  "GetTextLineNOF - just after calling GetLength \n");

	MyOutputDebugString (1,  "GetTextLineNOF: CMemFile len = %x \n", dwLen);

	pchTemp = pchResult;
		MyOutputDebugString (1,  "after first line GetTextLineNOF \n");

	try
	{

		// loop, until we have something to return (iColumn>0)
		
		while ( TRUE )
		{
		
			BOOL IgnoreThisChar = FALSE;
			BOOL endOfFile = FALSE;	//whether we have read entire memory file
			
			// Loop until we hit a CR (decimal 10) or the end of the file

			if ( file->GetPosition() >= file->GetLength() )
				endOfFile = TRUE;
			
			if ( !endOfFile )
			{		
				do 
				{	
					file->Read(&iChar, 1);

					// Store the character read from memfile UNLESS a comment or leading 
blank
							
					if ( iChar == '~' )
					{
						// set to ignore everything after the comment flag
					
						IgnoreThisChar = TRUE;
						
						//if comment is on a data line, then terminate string here

						if (iColumn > 0)
						{
							MyOutputDebugString (1,  "GetTextLineNOF Terminating string");
							*(pchTemp+iColumn) = '\0';
							iColumn++;
						}

					}
					else if ((iChar == ' ') && (iColumn == 0))
					{
						continue; //skips over leading blanks
					}
					else if (!IgnoreThisChar) //valid char to return or CRLF
					{
						// add the character to the return value if not a comment or leading 
blank
						
						if ( iChar != 10 )
						{
							// check for buffer overflow
							// the minus 1 is to allow for nul stored at bottom of this method

							if (iColumn >= maxlen - 1)
							{
								// if this will overflow - do not store char AND
	
								*(pchTemp+iColumn) = '\0';
								iColumn++;

								// - write error msg AND

								// - skip over the end of the line AND

								do 
								{	
									file->Read(&skipChar, 1);
									if ( file->GetPosition() >= file->GetLength() )
										endOfFile = TRUE;
								} while (!endOfFile && skipChar != 10 );

								// try to return the next line
								
							}
							else // store the char
							{
							*(pchTemp+iColumn) = iChar;
							iColumn++;
							//MyOutputDebugString (1,  "GetTextLineNOF Assigning char = 
%c\n",iChar);
							}
						}
						else // iChar == 10
							*(pchTemp+iColumn) = '\0'; // hit LF in mem file so terminate string
					} //END else the character was stored for return
					
					if ( file->GetPosition() >= file->GetLength() )
						endOfFile = TRUE;

//					MyOutputDebugString(4, "iChar = %c\n", iChar);
					
				} while (!endOfFile && iChar != 10 && skipChar !=10);
			} //END if (!endOfFile)
				
			if (endOfFile)
			{
				*(pchTemp+iColumn) = '\0';
				iColumn++;
			}

			// check the return value, if it is not empty then return everything
			// before we hit the comment flag.  Else continue to loop, until we have
			// something to return
			
			if (iColumn > 0)
			{
				break;
			//	MyOutputDebugString(4, "IgnoreThisChar = FALSE\n");	
			}
			//else
			//	MyOutputDebugString(4, "IgnoreThisChar = TRUE\n");
		} //END while TRUE
		
		//MyOutputDebugString(4, "%s\n", szLine);
	} //END try block
	catch ( CException* e )
	{
		TCHAR   szCause[255] = _T("");
		e->GetErrorMessage(szCause, 255);	
		//MyOutputDebugString (1, "xxx: %s\n", szCause );
		e->Delete();
		exit(0);
	}
	
	MyOutputDebugString (1,  "GetTextLineNOF Returning string %s \n",pchResult);

	return pchResult;
}

=======

Any ideas on how to solve the access violation problem in release mode???

Thanks!

0
malhenry (9)
10/12/2004 9:01:04 PM
vc.mfc 33608 articles. 0 followers. Follow

5 Replies
505 Views

Similar Articles

[PageSpeed] 1

"malhenry" <malhenry@discussions.microsoft.com> wrote in message news:<8AC2EBDF-2FAA-41D9-B4BC-7EC707273E66@microsoft.com>...
> I am using VC++ 6.0 and have a multi-threaded application (exe & multiple 
> DLLs) which seem 
> to be having a 
> CMemFile object getting clobbered when running in release mode.
> It does not happen in debug mode.

I'm not sure, but I got problems with MFC classes when I used debug
versions of DLLs with release versions of application and vice versa.
Make sure your app and dlls are built using the same configuration.
0
kochkarev (130)
10/13/2004 7:45:24 AM
Yes all my DLLs and Exe are built in release mode when I get this problem.  
When I build them all in debug, the problem goes away.  I have no idea how to 
approach this problem.  Any ideas?

Thanks.

"Sergey Kochkarev" wrote:

> "malhenry" <malhenry@discussions.microsoft.com> wrote in message news:<8AC2EBDF-2FAA-41D9-B4BC-7EC707273E66@microsoft.com>...
> > I am using VC++ 6.0 and have a multi-threaded application (exe & multiple 
> > DLLs) which seem 
> > to be having a 
> > CMemFile object getting clobbered when running in release mode.
> > It does not happen in debug mode.
> 
> I'm not sure, but I got problems with MFC classes when I used debug
> versions of DLLs with release versions of application and vice versa.
> Make sure your app and dlls are built using the same configuration.
> 
0
malhenry (9)
10/13/2004 1:35:07 PM
"malhenry" <malhenry@discussions.microsoft.com> wrote in message
news:3031FBBB-6E76-4567-B35C-CE98FD47D960@microsoft.com...
> Yes all my DLLs and Exe are built in release mode when I get this problem.
> When I build them all in debug, the problem goes away.  I have no idea how
to
> approach this problem.  Any ideas?
>
> Thanks.
>
> "Sergey Kochkarev" wrote:
>
> > "malhenry" <malhenry@discussions.microsoft.com> wrote in message
news:<8AC2EBDF-2FAA-41D9-B4BC-7EC707273E66@microsoft.com>...
> > > I am using VC++ 6.0 and have a multi-threaded application (exe &
multiple
> > > DLLs) which seem
> > > to be having a
> > > CMemFile object getting clobbered when running in release mode.
> > > It does not happen in debug mode.
> >
> > I'm not sure, but I got problems with MFC classes when I used debug
> > versions of DLLs with release versions of application and vice versa.
> > Make sure your app and dlls are built using the same configuration.

In addition, possibly it's a problem with an initialized variable. In debug,
bytes of memory are initialized to 0xCD. Where as in release mode the memory
will have whatever value was there before it was being used by the current
variable. I don't remember the exact settings but you can run in debug with
the same memory behavior as release mode. Look through the MSDN compiler
option descriptions.

Jeff F


0
not1 (120)
10/13/2004 2:39:42 PM
Perhaps you are talking about removing the following compiler options from my 
debug build configurations and rerunning in the debugger?

/0d - removal of this will disable optimization

/GX - removal of this will stop the auto-initing of local vars

I will try this.

Thanks.

"Jeff F" wrote:

> 
> "malhenry" <malhenry@discussions.microsoft.com> wrote in message
> news:3031FBBB-6E76-4567-B35C-CE98FD47D960@microsoft.com...
> > Yes all my DLLs and Exe are built in release mode when I get this problem.
> > When I build them all in debug, the problem goes away.  I have no idea how
> to
> > approach this problem.  Any ideas?
> >
> > Thanks.
> >
> > "Sergey Kochkarev" wrote:
> >
> > > "malhenry" <malhenry@discussions.microsoft.com> wrote in message
> news:<8AC2EBDF-2FAA-41D9-B4BC-7EC707273E66@microsoft.com>...
> > > > I am using VC++ 6.0 and have a multi-threaded application (exe &
> multiple
> > > > DLLs) which seem
> > > > to be having a
> > > > CMemFile object getting clobbered when running in release mode.
> > > > It does not happen in debug mode.
> > >
> > > I'm not sure, but I got problems with MFC classes when I used debug
> > > versions of DLLs with release versions of application and vice versa.
> > > Make sure your app and dlls are built using the same configuration.
> 
> In addition, possibly it's a problem with an initialized variable. In debug,
> bytes of memory are initialized to 0xCD. Where as in release mode the memory
> will have whatever value was there before it was being used by the current
> variable. I don't remember the exact settings but you can run in debug with
> the same memory behavior as release mode. Look through the MSDN compiler
> option descriptions.
> 
> Jeff F
> 
> 
> 
0
malhenry (9)
10/13/2004 9:26:59 PM
Correction to earlier email....the switch is /GZ not /GX

"malhenry" wrote:

> Perhaps you are talking about removing the following compiler options from my 
> debug build configurations and rerunning in the debugger?
> 
> /0d - removal of this will disable optimization
> 
> /GX - removal of this will stop the auto-initing of local vars
> 
> I will try this.
> 
> Thanks.
> 
> "Jeff F" wrote:
> 
> > 
> > "malhenry" <malhenry@discussions.microsoft.com> wrote in message
> > news:3031FBBB-6E76-4567-B35C-CE98FD47D960@microsoft.com...
> > > Yes all my DLLs and Exe are built in release mode when I get this problem.
> > > When I build them all in debug, the problem goes away.  I have no idea how
> > to
> > > approach this problem.  Any ideas?
> > >
> > > Thanks.
> > >
> > > "Sergey Kochkarev" wrote:
> > >
> > > > "malhenry" <malhenry@discussions.microsoft.com> wrote in message
> > news:<8AC2EBDF-2FAA-41D9-B4BC-7EC707273E66@microsoft.com>...
> > > > > I am using VC++ 6.0 and have a multi-threaded application (exe &
> > multiple
> > > > > DLLs) which seem
> > > > > to be having a
> > > > > CMemFile object getting clobbered when running in release mode.
> > > > > It does not happen in debug mode.
> > > >
> > > > I'm not sure, but I got problems with MFC classes when I used debug
> > > > versions of DLLs with release versions of application and vice versa.
> > > > Make sure your app and dlls are built using the same configuration.
> > 
> > In addition, possibly it's a problem with an initialized variable. In debug,
> > bytes of memory are initialized to 0xCD. Where as in release mode the memory
> > will have whatever value was there before it was being used by the current
> > variable. I don't remember the exact settings but you can run in debug with
> > the same memory behavior as release mode. Look through the MSDN compiler
> > option descriptions.
> > 
> > Jeff F
> > 
> > 
> > 
0
malhenry (9)
10/14/2004 2:05:02 PM
Reply:

Similar Artilces:

Outline mode and pictures
Is there a way to see a picture when you are in outline mode? I added a picture to my Word 2007 file and I can see it in Print Layout but not in Outline mode. Is there a way to see it when you are in outline mode too? Unfortunately, images and other objects are suppressed when you view your document in Outline view. The same is true of Draft view. Only Print Layout view will display your document as it will look when printed. ~Beth Melton Microsoft Office MVP "Woody" <Woody@discussions.microsoft.com> wrote in message news:B86D920E-BE95-479F-8D01-5575582D1BC2...

Working with multiple worksheets
This is probably very simple but i am struggling with this. I have a workbook where one sheet will be updated on a monthly basis and i want the sheet preceding it to capture its outputs. A few things i need it to capture is to check if Col B has a specific value and if yes check the value of the cell adjacent to it and count this if it is a Yes or a No. Please help! BK It sounds like VLOOKUP will work for you. Look in the help index for VLOOKUP. -- Don Guillett Microsoft MVP Excel SalesAid Software dguillett1@austin.rr.com "Balaji K. Arige" <v_2balar@hotmail.com> w...

Dynamics GP KB site not working
Dear All, I have been trying to access KB for 10 hours, but every time I clicked on any searched article, I got an error message saying "Our Applogise.... An error has occurred while retrieving this document." Is anyone else also experiencing the same problem with KB. Thanks, - Amjad Ali Yes. Frank Hamelly MCP-GP, MCT, MVP East Coast Dynamics www.eastcoast-dynamics.com get your gptip42today at www.gp2themax.blogspot.com Knowledge Base site is up and running again. Best regards, -- MG.- Mariano Gomez, MIS, MCP, PMP Maximum Global Business, LLC ht...

after apply filter show blank form.How to detect 0 records??
hi I Have a form , and the user goes to filter by form and then apply filter. When no rows are returned a blank form is displayed how do I detect this and display a message 'no rows found'? mike Mike, I would like to say add a piece of line to your code... DCount("SomeField","SomeTable") < 0 Then MsgBox Esle run your filter but you didn't post any code. Perhaps that little tidbit I posted is enough to get you started? -- Gina Whipp 2010 Microsoft MVP (Access) "I feel I have been denied critical, need to know, information!&quo...

Please help: Windows6.0-KB956250-v6001-x86.msu during .NET 4.0 ins
Please see this post in .NET setup forum for details: http://social.msdn.microsoft.com/Forums/en-US/netfxsetup/thread/e5067cb6-e5d1-44ab-a2df-33b52e79366f?prof=required I've been trying to install VS 2010 on my Vista laptop for weeks. It fails during .NET v4.0 install with the following error: Exe (C:\9e4eb1a408d61dd8118c98e39082f9\Windows6.0-KB956250-v6001-x86.msu) failed with 0x80040154 - Class not registered . I've taken many troubleshooting steps to try to resolve; most are listed in above forum link. Please let me know if you need more info. Thank you. -T ...

Reminders work when Outlook not running?
Can I configure Outlook 2003 so the reminders will still go off even if Outlook itself is not running at the time? -- Thanks in advance... Bob Please don't double post. Answered in Outlook General. "Bob Newman" wrote: > Can I configure Outlook 2003 so the reminders will still go off even if > Outlook itself is not running at the time? > -- > Thanks in advance... Bob > > > No,Outlook must be open to function. Use a third party add-in, such as Magic Mail Monitor. --� Milly Staples [MVP - Outlook] Post all replies to the group to keep the disc...

How do I get charts to ignore results of a formula if it equals 0
Hi, Use NA() instead of zero. Depending on your chart type the point will not be plotted. Cheers Andy ChrisRox wrote: -- Andy Pope, Microsoft MVP - Excel http://www.andypope.info ...

What converter do I need to change my QPW files to work in Excel 2
I had Quattro Pro (about 2003 -2004) on my computer when my hard drive crashed now I have Excel 2003. What converter do I need to change my QPW files to work in Excel 2003? puzzled Maybe the following will help....depending upon version of QP, I believe. You need the Quattro Pro convertors from MS. http://office.microsoft.com/en-ca/results.aspx?Scope=DC&Query=quattro+pro Then read this from Jim Rech http://snipurl.com/cz3x Gord Dibben Excel MVP On Mon, 12 Dec 2005 06:46:04 -0800, "puzzled" <puzzled @discussions.microsoft.com> wrote: >I had Quattro Pro (about...

CRM 3.0 Entity Limit for picklist records
Does anyone know or experienced if there is indeed a 2155 record limit (total records) of picklist per Entity in MS CRM 3.0? I am experiencing this now. I have about 6 to 7 Country picklist plus other picklists in Contact Entity. Now I was able to determine that for this particular entity (Contact) I reached 2155 picklist record already. When I delete on other unused picklist and add records to to-be used/displayed picklist entity I still add but can't get past 2155 record. If I try, I always get this error: Server Error in '/' Application. --------------------------------...

Cashflow no longer working
Cashflow (in MS Money 2002 Financial Suite UK Edition) is no longer working and I believe its due to a corruption in one of my accounts. An MS Knowledge Base article suggests exporting to QIF and importing to a new account to remove corruption, but this method creates duplicate transfer transactions. I would like to avoid recreating all the accounts affected via transfers, which include many investment accounts and ordinary bank accounts. I've also tried salvage routines but no errors found. Is there another way of identifying a corrupt transaction or has anyone discovered sp...

repaint object not working
Hi. I've got here a strange case. I've got a main form with a chart, and a subform with a chart values. The idea is when I change the values in the subform the chart should automatically change with the new values. An it's working perfectly in Windows XP and Windows 2003 server. The problem is if I use the same database in Windopws Vista and Windows 7 the chart appears always in blank. but if I minimize access and restore/maximize the chart appears with data/lines on it. I already change the windows theme to windows classic. Same result. What can it be? ...

Iserror, 0 #2
cool works perfect! The values are unpredictable, so I use ISERROR to clean it up. THANKS -- kkondrat ----------------------------------------------------------------------- kkondrat1's Profile: http://www.excelforum.com/member.php?action=getinfo&userid=600 View this thread: http://www.excelforum.com/showthread.php?threadid=26198 ...

Address Book #6
I am upgrading from Outlook Express to Outlook 2000. My address book in Outlook Express is very organized with about 15 different contact folders. When I import my address book to Outlook 2000, I have 2 problems. 1. Only the main folder imports and 2. I can't seem to figure out out to create other folders and subfolders in Outlook 2000. The way I see it, you can't. Please help me with this. I want to be able to have an unlimited amount of subfolder in my address book so that I can keep my contacts in order. Thank you ...

Where do I find the design mode in the File menu?
I'm creating a project to be used by other students. I'm creating the teacher's key first, with all the answers underlined. I want to create a student use version with only the underlines where the answers should go. I'm using Microsoft Word 2007 on Windows Vista. (Which may be part of the problem.) -- Jim Flowers There isn't any File menu in Word2007. If you're looking to create a form, then add the Developer tab to your Ribbon -- for some reason, you'll find it as an option under Office Button > Word Options > Popular. On Mar 18, 11:09...

Business Portal GP 9.0 compatible with MOSS2007
Bonjour! I would like to know if the business portal GP 9.0 is compatible or can we install it on the new Sharepoint 2007. Regards, Joel :) Nope, sorry. I asked the same question during Convergence. You will need BP 4.0, when it comes, out to work with WSS 3.0 or MOSS 2007. Too bad the current shipping Business Portal product is not compatible witht the current shipping Office Portal product... "Joel" wrote: > Bonjour! > > I would like to know if the business portal GP 9.0 is compatible or can we > install it on the new Sharepoint 2007. > > Regards, Joe...

formulas #6
I am trying to calculate the following: =SUM(F41-25)*5%+2*1.17 f41 - 33.99 I keep on getting 2.79 when the answer is 2.86. Can someone let me in on the right format to calculate this formula. thanks Hi! Try this: =(SUM(F41-25)*5%+2)*1.17 Returns: 2.865915 Biff "Bacchus" <kdoye2112@hotmail.com> wrote in message news:LYadnTzuQrHqv9_eRVn-sg@rogers.com... >I am trying to calculate the following: > > =SUM(F41-25)*5%+2*1.17 > > f41 - 33.99 > > I keep on getting 2.79 when the answer is 2.86. Can someone let me in on > the right format to calculat...

How time work with a file excel ?
Hello from Italy , i have an old five of excel (five years old) . I work with this every day , now i have the curiosity to know : how many hours it was open ? TIA Hi if I understood you correctly there is no chance to get this information :-) -- Regards Frank Kabel Frankfurt, Germany barbun wrote: > Hello from Italy , > i have an old five of excel (five years old) . > I work with this every day , now i have the curiosity to know : how > many hours it was open ? > > TIA Arbun; This is possible with a VBA macro, but I have to write that. Maybe google can serve you bett...

3.0 Lastname change ???
I made a new user and then changed the way it show lastname name to name lastname. How can I get the first user to be in this format ? Jack Can I just change the full name for the user en the table for systemusers ??? There hasn't been created other things than this user in the system ? "Jack" <jackdSPAM@jackd.dk> skrev i en meddelelse news:OUjgKfOeGHA.3388@TK2MSFTNGP05.phx.gbl... >I made a new user and then changed the way it show lastname name to name >lastname. > > How can I get the first user to be in this format ? > > Jack > You can...

IBF for CRM 3.0
Are there any changes with Information Bridge Framework in combination with MSCRM 3.0? Regards Max Hi Max, Microsoft CRM-Office Snap tool is the version that works with CRM 3.0. You can download it at http://codegallery.gotdotnet.com/dynamicssnap under the title Snap-in for Microsoft Dynamics CRM 3.0 - Business Data Lookup HTH. -- Manisha Powar (Madhusudanan) Program Manager Microsoft Dynamics - CRM This posting is provided "AS IS" with no warranties, and confers no rights. You assume all risk for your use. � 2005 Microsoft Corporation. All rights reserved. "MaxF."...

Exchange 5.5 Backup (Veritas 9.0)
Veritas Remote Engine for Excahange stopts when trying to backup Mailboxes Exchange 5.5 (SP4 Windows NT 4.0 (SP6a) Nasser <nsheleby@kvie.org> wrote: >Veritas Remote Engine for Excahange stopts when trying to backup Mailboxes. >Exchange 5.5 (SP4) >Windows NT 4.0 (SP6a) Best thing to do in the first instance is to see what error Veritas is throwing up and then report it to Veritas support. It's not a favourite practice to be doing mailbox level (also known as Bricks Level) backups. See link at signature for more information on Bricks Level Backups and why they are best avoi...

SSRS 2008 working with table of contents
I have the following questions about creating sql server 2008 reports: I am creating a report that will contain the following: a. page header with the title of the report, b. page footers that contain the page numbers, and c. table of contents to tie about 27 subreports together, d. several of the tables in the subreport will appear on more than one page. Thus, I would like to know how to tie all of this together. I am planning on doing the following: 1. Put the title of the report in a textbox control, 2. Somehow have logic in the tables to know to wrap to the next ...

AD Application Mode And Exchange 2003
Hi folks I have many contatct (email and fax address) in ADAM. Can I use this contact in Outlook/Exchnage application I can create an Exchnage Address List whit this ADAM Conctact Thanks forn any help Lorenzo Soncini ...

Work hour tracing program
Hi, Could anyone recommend a work hour tracing excel sheet for me? I like to find a good and free one. I should be able to define tasks and log tasks in hourly wise. Thanks. -- Life is the only flaw in an otherwise perfect nonexistence -- Schopenhauer narke On 2010-05-25, narke <narkewoody@gmail.com> wrote: > Hi, > > Could anyone recommend a work hour tracing excel sheet for me? I like to > find a good and free one. I should be able to define tasks and log tasks > in hourly wise. > > Thanks. > any result? -- Life is the on...

Hyperlink to case in 3.0
This question has been hinted around quite a bit but as of yet I don't see that it's been answered or followed up on...so here it is. It seems that prior to 3.0, quite a few people were creating links to a case within a workflow generated email. To do this, &incident.incidentid; would be used within the hyperlink to populate the appropriate case number. As of 3.0, the CRM servers expect the incident id (GUID or unique identifier) rather than the actual case number. Has anyone found a way to perform the same logic in 3.0 that &incident.incidentid; performed in previous ...

hyperlinks not working
Using vista home premium and office 2007. after last msn live update when i click on a hyperlink in outlook i get a pop up that states action cancelled due to restrictions on my computer. can not find any setting for this. how do i resolve it. forgot to mention i also have norton 360 for security no setting there either. It is an error caused by Internet Explorer http://www.slipstick.com/problems/link_restrict.htm -- Peter Please Reply to Newsgroup for the benefit of others Requests for assistance by email can not and will not be acknowledged. "James" &l...