Saturday, January 05, 2008
posted on 1/5/2008 10:00:57 PM (Eastern Standard Time, UTC-05:00)  #    Comments [1]
 Wednesday, November 07, 2007
I stumbled upon this link recently:

http://netcave.org/SpeakingAtMemphisDayOfNet2007.aspx

which took me to:
http://www.vfpstudio.com


People's going to start wondering what is this very soon.



posted on 11/7/2007 5:42:46 PM (Eastern Standard Time, UTC-05:00)  #    Comments [0]
 Friday, June 01, 2007
..that's what it looks like.

then VSLive! @ Brooklyn maybe an option...

posted on 6/1/2007 12:09:12 AM (Eastern Daylight Time, UTC-04:00)  #    Comments [0]
 Saturday, March 24, 2007
posted on 3/24/2007 12:44:05 AM (Eastern Daylight Time, UTC-04:00)  #    Comments [0]
 Thursday, November 09, 2006

I am currently testing MS Outlook, this text is highlighted.

 

For short posts Blogmailr looks like a pretty cool tool so far.

 

 

 

Published with BlogMailr

posted on 11/9/2006 1:40:39 PM (Eastern Standard Time, UTC-05:00)  #    Comments [0]
I am posting this from Windows Live Mail desktop beta.
If it makes it out there, then BlogMailR is super cool.

Published with BlogMailr

posted on 11/9/2006 12:45:07 PM (Eastern Standard Time, UTC-05:00)  #    Comments [0]
 Tuesday, September 12, 2006

I should've posted this earlier, but I’ve been running into some health issues lately that precluded me from doing it.

 

I was wrong when I said before that the RSS API (events interface) was not working with VFP; as a matter of fact,  Alan Griver indicated in my previous post that he had it working and was about to do a presentation with it, so to me that was the confirmation of my previous suspicions, i.e., that I was not using the right code.

 

Using the correct events interface invocation “made the trick” to make it work.

 

There is still an outstanding issue that I have to figure out: I get the same error described in previous posts that pops up after I try to download several feeds individually, I have a couple of things in mind that I am going to try.

 

Here’s a sample of the code that will allow you to see on the VFP screen the RSS activity and also record it to a csv file for later review in a table format (for example you could use these 2 lines of code

CREATE TABLE feedslog (Occurred t,EventMess c(150),FeedPath c(200),FeedOldpat c(200),ItemCount n(9),ErrorNo n(9))

APPEND FROM FeedEventsLog.CSV TYPE csv):

 

 

* RSS Events

CLEAR

 

#DEFINE FES_ALL 0

#DEFINE FES_SELF_ONLY 1

#DEFINE FES_SELF_AND_CHILDREN_ONLY  2

#DEFINE FEM_FOLDEREVENTS  0x00000001

#DEFINE FEM_FEEDEVENTS  0x00000002

 

PUBLIC FeedErrors

DIMENSION FeedErrors(13,2)

FeedErrors(1,1)= 0

FeedErrors(1,2)= "OK" 

FeedErrors(2,1)= 1

FeedErrors(2,2)= "DOWNLOAD FAILED" 

FeedErrors(3,1)= 2

FeedErrors(3,2)= "INVALID FEED FORMAT" 

FeedErrors(4,1)= 3

FeedErrors(4,2)= "NORMALIZATION FAILED" 

FeedErrors(5,1)= 4

FeedErrors(5,2)= "PERSISTENCE FAILED" 

FeedErrors(6,1)= 5

FeedErrors(6,2)= "DOWNLOAD BLOCKED" 

FeedErrors(7,1)= 6

FeedErrors(7,2)= "CANCELED" 

FeedErrors(8,1)= 7

FeedErrors(8,2)= "UNSUPPORTED AUTHENTICATION" 

FeedErrors(9,1)= 8

FeedErrors(9,2)= "BACKGROUND DOWNLOAD DISABLED" 

FeedErrors(10,1)= 9

FeedErrors(10,2)= "Feed Does NOT EXIST" 

FeedErrors(11,1)= 10

FeedErrors(11,2)= "UNSUPPORTED MSXML" 

FeedErrors(12,1)= 11

FeedErrors(12,2)= "UNSUPPORTED DTD" 

FeedErrors(13,1)= 12

FeedErrors(13,2)= "DOWNLOAD SIZE LIMIT EXCEEDED" 

 

oFeedMgr = NEWOBJECT("Microsoft.FeedsManager")

oRootFolder = oFeedMgr.RootFolder

oFeeds=oRootFolder.Feeds

 

 

x=NEWOBJECT("myFolderEvents")

 

IF EVENTHANDLER(oRootFolder.GetWatcher(FES_SELF_AND_CHILDREN_ONLY ,FEM_FEEDEVENTS  ),x)

     Wait window nowait  "Feeds Interface Instantiated!"

ELSE

     Wait window nowait  "Feeds Interface Instantiation FAILED!"

ENDIF

 

RETURN

 

DEFINE CLASS myFolderEvents AS session OLEPUBLIC

 

     IMPLEMENTS IFeedFolderEvents IN "c:\windows\system32\msfeeds.dll"

 

     PROCEDURE IFeedFolderEvents_Error() AS VOID;

                    HELPSTRING "Occurs when a feed folder event error occurs."

     * add user code here

                    EventsLogger("Folder Event Error","")

     ENDPROC

 

     PROCEDURE IFeedFolderEvents_FolderAdded(Path AS STRING) AS VOID;

                    HELPSTRING "Occurs when a folder or subfolder is added."

     * add user code here

                    EventsLogger("Folder "+PATH+" Added",PATH)

     ENDPROC

 

     PROCEDURE IFeedFolderEvents_FolderDeleted(Path AS STRING) AS VOID;

                    HELPSTRING "Occurs when a folder or subfolder is removed."

     * add user code here

                    EventsLogger("Folder/subfolder "+PATH+"removed.",PATH)

     ENDPROC

 

     PROCEDURE IFeedFolderEvents_FolderRenamed(Path AS STRING, oldPath AS STRING) AS VOID;

                    HELPSTRING "Occurs when a folder or subfolder is renamed."

     * add user code here

                    EventsLogger("Folder/subfolder "+oldPath+ " RENAMED to "+PATH,PATH,oldPath)

     ENDPROC

 

     PROCEDURE IFeedFolderEvents_FolderMovedFrom(Path AS STRING, oldPath AS STRING) AS VOID;

                    HELPSTRING "Occurs when a folder or subfolder is moved from this folder."

     * add user code here

                    EventsLogger("Folder/subfolder MOVED FROM "+oldPath+" to "+PATH,PATH,oldPAth)

     ENDPROC

 

     PROCEDURE IFeedFolderEvents_FolderMovedTo(Path AS STRING, oldPath AS STRING) AS VOID;

                    HELPSTRING "Occurs when a folder or subfolder is moved to this folder."

     * add user code here

                    EventsLogger("Folder/subfolder "+oldPath+" MOVED TO "+PATH,PATH,oldPAth)

     ENDPROC

 

     PROCEDURE IFeedFolderEvents_FolderItemCountChanged(Path AS STRING, itemCountType AS Number) AS VOID;

                    HELPSTRING "Occurs when the aggregated item count of a feed folder changes."

     * add user code here

                    EventsLogger("Folder ITEM COUNT for Folder "+PATH+" Changed to "+ALLTRIM(STR(itemCountType)),PATH,,itemCountType)

     ENDPROC

 

     PROCEDURE IFeedFolderEvents_FeedAdded(Path AS STRING) AS VOID;

                    HELPSTRING "Occurs when a feed is added to the folder."

     * add user code here

                    EventsLogger("Feed "+PATH+" Added",PATH)

 

     ENDPROC

 

     PROCEDURE IFeedFolderEvents_FeedDeleted(Path AS STRING) AS VOID;

                    HELPSTRING "Occurs when a feed is deleted from the folder."

     * add user code here

                    EventsLogger("Feed "+PATH+" Deleted",PATH)

     ENDPROC

 

     PROCEDURE IFeedFolderEvents_FeedRenamed(Path AS STRING, oldPath AS STRING) AS VOID;

                    HELPSTRING "Occurs when a feed is renamed."

     * add user code here

                    EventsLogger("Feed "+PATH+" Renamed",PATH)

     ENDPROC

 

     PROCEDURE IFeedFolderEvents_FeedUrlChanged(Path AS STRING) AS VOID;

                    HELPSTRING "Occurs when the URL of a feed is changed."

     * add user code here

                    EventsLogger("Feed "+PATH+" URL Changed",PATH)

     ENDPROC

 

     PROCEDURE IFeedFolderEvents_FeedMovedFrom(Path AS STRING, oldPath AS STRING) AS VOID;

                    HELPSTRING "Occurs when a feed is moved from this folder."

     * add user code here

          EventsLogger("Feed MOVED FROM "+oldPath+" TO "+PATH, PATH, oldpath )

     ENDPROC

 

     PROCEDURE IFeedFolderEvents_FeedMovedTo(Path AS STRING, oldPath AS STRING) AS VOID;

                    HELPSTRING "Occurs when a feed is moved to this folder."

     * add user code here

          EventsLogger("Feed MOVED TO "+oldPath+" FROM "+PATH, PATH, oldpath )

 

     ENDPROC

 

     PROCEDURE IFeedFolderEvents_FeedDownloading(Path AS STRING) AS VOID;

                    HELPSTRING "Occurs when a feed starts to download."

     * add user code here

          EventsLogger("Feed Download "+PATH+" STARTS",PATH)

     ENDPROC

 

     PROCEDURE IFeedFolderEvents_FeedDownloadCompleted(Path AS STRING, Error AS VARIANT) AS VOID;

                    HELPSTRING "Occurs when a feed has finished or failed downloading."

     * add user code here

 

          lcErrorMessage=FeedErrors(ASCAN(FeedErrors,Error)+1)

          EventsLogger("Feed "+PATH+" Download "+IIF(error=0,"FINISHED ","FAILED "+lcErrorMessage),PATH,,,Error)

         

     ENDPROC

 

     PROCEDURE IFeedFolderEvents_FeedItemCountChanged(Path AS STRING, itemCountType AS Number) AS VOID;

                    HELPSTRING "Occurs when the item count of a feed changed."

     * add user code here

          EventsLogger("Feed "+PATH+" ITEM COUNT Changed to "+ALLTRIM(STR(itemCountType)),PATH,,itemCountType)

         

     ENDPROC

 

ENDDEFINE

 

 

**********************

PROCEDURE eventslogger

**********************

LPARAMETERS tcEventMEssage, tcPAth,tcOldPath,tnItemCountType, tErr

 

lcLogMessage=TTOC(DATETIME())+[,]+;

                tcEventMEssage+[,]+;

                tcPath+[,]+;

                IIF(VARTYPE(tcOldPath)=[L],[],tcOldPath)+[,]+;

                IIF(VARTYPE(tnItemCountType)=[L],[],ALLTRIM(STR(tnItemCountType)))+[,]+;

                IIF(VARTYPE(tErr)=[L],[],ALLTRIM(STR(tErr)))

 

?lcLogMessage

STRTOFILE(lcLogMessage+CHR(13),"FeedEventsLog.CSV",1)

RETURN .t.

 

 [UPDATED 10-02-06] I've added 2 flash videos of about 3 mins each showing this code working on XP  SP2 and Vista RC1.

 

posted on 9/12/2006 2:48:54 PM (Eastern Daylight Time, UTC-04:00)  #    Comments [2]
 Friday, August 25, 2006

Despite what has been said before, nothing has changed, the same issues are still there.

Just to be on the safe side, I will continue to investigate whether I am using the correct code which, except for a property name that changed, it is pretty much the same as published before.

 

posted on 8/25/2006 3:22:02 PM (Eastern Daylight Time, UTC-04:00)  #    Comments [3]
 Wednesday, July 26, 2006

Here's a follow up responding to the overwhelming demand of my previous posts <g>:

I've just received the following notice from msconn

Entered by Microsoft on 7/26/2006 at 11:24 AM

We have fixed the problem of events in Visual FoxPro in a build post Beta 3. You should be seeing this fix in a future public release.
-Walter [MSFT]

Cheers.

Juan Calcagno
Certified MS Believer

posted on 7/26/2006 6:27:10 PM (Eastern Daylight Time, UTC-04:00)  #    Comments [3]