Message
From
11/04/2010 19:04:09
 
 
To
All
General information
Forum:
Visual FoxPro
Category:
Coding, syntax & commands
Title:
Takes Forever
Environment versions
Visual FoxPro:
VFP 9 SP2
OS:
Vista
Miscellaneous
Thread ID:
01459703
Message ID:
01459703
Views:
165
Hi All:

Consider the following code:
FUNCTION y2k(tcFieldName)

LOCAL ldDate

i = 0

SCAN
	i = i + 1
	IF MOD(i,1000) = 0
		WAIT WINDOW NOWAIT 'Y2K: Now processing record ' + ALLTRIM(STR(RECNO())) + ' of ' + ALLTRIM(STR(RECCOUNT()))
	ENDIF

	IF EMPTY(&tcFieldName)
	ELSE
		ldDate = &tcFieldName
		lcYear2 = SUBSTR(ALLTRIM(STR(YEAR(ldDate))),3,2)
		IF lcYear2 < '80'
			ldDate = DATE(2000 + VAL(lcYear2),MONTH(ldDate),DAY(ldDate))
		ELSE
			ldDate = DATE(1900 + VAL(lcYear2),MONTH(ldDate),DAY(ldDate))
		ENDIF
	ENDIF

	REPLACE &tcFieldName WITH ldDate

ENDSCAN

RETURN .T.
In VFP on my machine running Windows 7 it runs fine. On my client's machine running an EXE file in Vista, it takes FOREVER.

One thing I noticed is the I get a message in the status bar with EXE every time there is a replace. Why don't I get it in VFP?

In VFP it make no difference if NOTIFY CURSOR or NOTIFY is on or off!

Thanks,

Yossi
Next
Reply
Map
View