<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-7363605</id><updated>2011-07-29T04:47:29.124+08:00</updated><title type='text'>Kok Kiet's Blog</title><subtitle type='html'>About Programming, Visual FoxPro, .NET.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://ckkiet.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://ckkiet.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default?start-index=101&amp;max-results=100'/><author><name>Chan Kok Kiet (John Jones)</name><uri>http://www.blogger.com/profile/06724992491667347198</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>244</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7363605.post-115874851382060218</id><published>2006-09-20T17:31:00.002+08:00</published><updated>2006-10-10T15:11:04.260+08:00</updated><title type='text'>I am moving ...</title><content type='html'>After blogging here for almost two years, I have decided to move my weblog to weblogs.foxite.com.&lt;br /&gt;&lt;br /&gt;The reason I do so is because I faced difficulty to create post here. It always take very long time to load, sometime even failed to load.&lt;br /&gt;&lt;br /&gt;Anyhow, thank you blogger.com for providing free weblogs services.&lt;br /&gt;&lt;br /&gt;My new weblog is at &lt;a href="http://weblogs.foxite.com/kkchan/"&gt;http://weblogs.foxite.com/kkchan/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;See you there.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7363605-115874851382060218?l=ckkiet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ckkiet.blogspot.com/feeds/115874851382060218/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7363605&amp;postID=115874851382060218&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/115874851382060218'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/115874851382060218'/><link rel='alternate' type='text/html' href='http://ckkiet.blogspot.com/2006/09/i-am-moving_115874851382060218.html' title='I am moving ...'/><author><name>Chan Kok Kiet (John Jones)</name><uri>http://www.blogger.com/profile/06724992491667347198</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7363605.post-115874664009573378</id><published>2006-09-20T17:31:00.001+08:00</published><updated>2006-09-20T18:04:00.123+08:00</updated><title type='text'>I am moving ...</title><content type='html'>After blogging at blogger.com for two years, I decided to move to new weblog service provider - weblogs.foxite.com.&lt;br /&gt;&lt;br /&gt;The main reason for this decision is, it is very slow while I try to create new post here. Sometime, I even unable to create one.&lt;br /&gt;&lt;br /&gt;Anyhow, thank you blogger.com for providing free weblog service.&lt;br /&gt;&lt;br /&gt;My new weblog is at &lt;a target=_top href="http://weblogs.foxite.com/kkchan/&gt;http://weblogs.foxite.com/kkchan/&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;See you there ... :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7363605-115874664009573378?l=ckkiet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ckkiet.blogspot.com/feeds/115874664009573378/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7363605&amp;postID=115874664009573378&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/115874664009573378'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/115874664009573378'/><link rel='alternate' type='text/html' href='http://ckkiet.blogspot.com/2006/09/i-am-moving_20.html' title='I am moving ...'/><author><name>Chan Kok Kiet (John Jones)</name><uri>http://www.blogger.com/profile/06724992491667347198</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7363605.post-115874537805374100</id><published>2006-09-20T17:31:00.000+08:00</published><updated>2006-09-20T17:42:59.483+08:00</updated><title type='text'>I am moving ...</title><content type='html'>After blogging at blogger.com for two years, I decided to move to new weblog service provider - weblogs.foxite.com.&lt;br /&gt;&lt;br /&gt;The main reason for this decision is, it is very slow while I try to create new post here. Sometime, I even unable to create one.&lt;br /&gt;&lt;br /&gt;Anyhow, thank you blogger.com for providing free weblog service.&lt;br /&gt;&lt;br /&gt;My new weblog is at &lt;a target=_top href="http://weblogs.foxite.com/kkchan/&gt;http://weblogs.foxite.com/kkchan/&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;See you there ... :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7363605-115874537805374100?l=ckkiet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ckkiet.blogspot.com/feeds/115874537805374100/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7363605&amp;postID=115874537805374100&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/115874537805374100'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/115874537805374100'/><link rel='alternate' type='text/html' href='http://ckkiet.blogspot.com/2006/09/i-am-moving.html' title='I am moving ...'/><author><name>Chan Kok Kiet (John Jones)</name><uri>http://www.blogger.com/profile/06724992491667347198</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7363605.post-115839742647008996</id><published>2006-09-16T16:34:00.000+08:00</published><updated>2006-09-16T21:36:04.376+08:00</updated><title type='text'>Extending Data Explorer</title><content type='html'>As &lt;a href="http://ckkiet.blogspot.com/2006/07/small-try-on-vfp-dataexplorer.html#comments"&gt;mentioned&lt;/a&gt; in my previous blog, I have choosen VFP9 Data Explorer as data querying tool during testing.&lt;br /&gt;&lt;br /&gt;There are some features found in query analyzer but not in VFP data explorer.&lt;br /&gt;&lt;br /&gt;1. Execute highlighted script instead of all of them.&lt;br /&gt;2. Multi pages script editor.&lt;br /&gt;&lt;br /&gt;The more I use data explorer, the more I miss these features. Therefore, I decided to write a prototype as "addin" to enhance data explorer.&lt;br /&gt;&lt;br /&gt;Download the addin from &lt;a href="http://www.visualsolutions.com.my/blog/chankk/czui.zip"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;To add this "addin" to data explorer is easy.&lt;br /&gt;&lt;br /&gt;1. Extract data explorer project from xsource. &lt;br /&gt;2. Modify runqery.scx.&lt;br /&gt;3. Drag and drop dataexplorerplugin class from czui.vcx to runquery form.&lt;br /&gt;4. Recompile dataexplorer project to .app.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/6205/449/1600/dropaddin.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/blogger/6205/449/320/dropaddin.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Next, it is time to try it out.&lt;br /&gt;&lt;br /&gt;1. As usual, run the newly compiled dataexplorer.app from VFP IDE.&lt;br /&gt;2. Drill down to desired connection. List of databases will be shown.&lt;br /&gt;3. Select database, right click and select "Run Query" shortcut menu.&lt;br /&gt;(As figure1 shown)&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/6205/449/1600/runquery.jpg"&gt;&lt;img style="cursor: pointer;" src="http://photos1.blogger.com/blogger/6205/449/320/runquery.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Figure 1 Run Query shortcut menu&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;4. Query form will be shown as Figure 2.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/6205/449/1600/multipagequery.0.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/blogger/6205/449/320/multipagequery.0.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Figure 2 Query Form&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;5. As you can see the red rectangle area. It has multi pages. You can add/remove more pages by clicking the new page button and close page button at right top corner. (I just temporary use any icon at this moment)&lt;br /&gt;&lt;br /&gt;6. To remove particular page, select desired page and click close page button.&lt;br /&gt;&lt;br /&gt;7. To execute only part of script, highlight the script and press F5. You may notice that data explorer only have &lt;span style="font-weight:bold;"&gt;ONE&lt;/span&gt; result returned.&lt;br /&gt;(As shown as Figure3)&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/6205/449/1600/selectedquery.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/blogger/6205/449/320/selectedquery.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Figure 3 Execute highlighted script&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This also applicable to existing query addin. For example, if you highlight a line of script and run "clipboard as variable" addin, only highlighted script will be copied to clipboard as variable.&lt;br /&gt;&lt;br /&gt;As mentioned it is just a prototype. There are a lot of enhancements required.&lt;br /&gt;&lt;br /&gt;1. Refactor the code to be move extendable.&lt;br /&gt;2. Each query page has its own result panel.&lt;br /&gt;&lt;br /&gt;The other thing have to be considered is how to add new feature as above using addin approach;without need to recompile data explorer.&lt;br /&gt;&lt;br /&gt;Any comments are welcomed.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7363605-115839742647008996?l=ckkiet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ckkiet.blogspot.com/feeds/115839742647008996/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7363605&amp;postID=115839742647008996&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/115839742647008996'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/115839742647008996'/><link rel='alternate' type='text/html' href='http://ckkiet.blogspot.com/2006/09/extending-data-explorer.html' title='Extending Data Explorer'/><author><name>Chan Kok Kiet (John Jones)</name><uri>http://www.blogger.com/profile/06724992491667347198</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7363605.post-115787478066323128</id><published>2006-09-10T15:29:00.000+08:00</published><updated>2006-09-10T15:55:35.003+08:00</updated><title type='text'>TechEd2006 SEA</title><content type='html'>I just back from TechEd2006 SEA. Overally, I feel abit dissapointed on this year session. I attended Developer, Architecture or Enterprise Data Management tracks.&lt;br /&gt;&lt;br /&gt;I felt big dissapointed to developer track for this year because I didn't see any cool new features session. WPF is the one attract my interest mostly. However, it seem like more for UI designer rather than database developer like me. Topics on .NET 2.0 also are not new for me either (even though I didn't use it).&lt;br /&gt;&lt;br /&gt;I am big fan of Architeture track. However, all of the sessions are level 100-200. It just provides overview and couldn't help much in my job. I think presenter should provide more scenarios, when to use each approach, how to apply it and what is the best practise.&lt;br /&gt;&lt;br /&gt;The big new I get from here is IASA community is formed. It is community specially for anyone who interested on Software Architecture. It is run by IT industry expert, volunteery.&lt;br /&gt;&lt;br /&gt;This is my first time to attend EDM track session. Generally, I feel satisfy with it. I learnt a lot about new SQL Server 2005 features. For example, table partitioning, database snapshot, database encryption and database mirroring. I think Microsoft very focus on high availability feature in SQL Server 2005. It is covered in at least three sessions. Each of them provide deeper information. I am going to research more and observe how it could be applied in my job.&lt;br /&gt;&lt;br /&gt;Finally, I do feel the venue, facilities, crew services are good. But the foods .... hmmm... In fact, I never satisfy with TechEd food ever....&lt;br /&gt;&lt;br /&gt;Anyway, I will attend TechEd2007 (if any, and held in KL, Malaysia) either because it the the most affordable conference. See you again in TechEd2007.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7363605-115787478066323128?l=ckkiet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ckkiet.blogspot.com/feeds/115787478066323128/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7363605&amp;postID=115787478066323128&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/115787478066323128'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/115787478066323128'/><link rel='alternate' type='text/html' href='http://ckkiet.blogspot.com/2006/09/teched2006-sea.html' title='TechEd2006 SEA'/><author><name>Chan Kok Kiet (John Jones)</name><uri>http://www.blogger.com/profile/06724992491667347198</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7363605.post-115787307071052567</id><published>2006-09-10T14:40:00.000+08:00</published><updated>2006-09-10T15:24:31.170+08:00</updated><title type='text'>Why must you (VFP) setfocus to it?</title><content type='html'>I have a Visual Promatrix framework based application. It has few simple forms that consist of label_, textbox_ and textbox_output control(It is a textbox control that set readonly and return false in when event)&lt;br /&gt;&lt;br /&gt;If user click new button followed by restore in some of my forms that contains more than ONE textbox_output controls, VFP will fall into "infinite loop".&lt;br /&gt;&lt;br /&gt;There are many actions run while new and restore button clicked. Generally, it has common actions such as enable/disable controls during new/restore state.&lt;br /&gt;&lt;br /&gt;During debugging, I found that when restore button clicked, all texboxes are disabled. Current active control.lostfocus will be fired. VFP will then try to setfocus to other controls. If the target control is textbox_output (e.g. txtEmployee_Name), VFP will not able to do that since textbox_output.When() always  return False. Therefore, VFP would setfocus to next textbox_output control (if any). Of course VFP will fail to do that so. This action keeps happen to the rest of textbox_output controls and back to the txtEmployee_Name again and so on. VFP then falled into hang state.&lt;br /&gt;&lt;br /&gt;I debugged other forms that also contains more than one textbox_output controls also but never face this strange behavour. I found that they are fine because the control VFP tried to setfocus is not textbox_output.&lt;br /&gt;&lt;br /&gt;My current workaround is set all textbox_output.enabled = .F. However I feel curious on how VFP decide which control to setfocus? It doesn't follow tabindex nor record sequence in .scx.&lt;br /&gt;&lt;br /&gt;Anyone can give me some ideas?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7363605-115787307071052567?l=ckkiet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ckkiet.blogspot.com/feeds/115787307071052567/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7363605&amp;postID=115787307071052567&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/115787307071052567'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/115787307071052567'/><link rel='alternate' type='text/html' href='http://ckkiet.blogspot.com/2006/09/why-must-you-vfp-setfocus-to-it.html' title='Why must you (VFP) setfocus to it?'/><author><name>Chan Kok Kiet (John Jones)</name><uri>http://www.blogger.com/profile/06724992491667347198</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7363605.post-115526453633068829</id><published>2006-08-11T10:01:00.000+08:00</published><updated>2006-08-16T16:02:16.170+08:00</updated><title type='text'>Procedure is not cleared!</title><content type='html'>I have three classes written in a single .prg file. An Asbtract class and two concrete classes.&lt;br /&gt;&lt;pre&gt;AbstractClass&lt;br /&gt;|&lt;br /&gt;-&gt;ClassA&lt;br /&gt;|&lt;br /&gt;-&gt;ClassB&lt;/pre&gt;I creates an instance of each concrete class in my test program. At the end of program, I clean up them by&lt;br /&gt;&lt;pre&gt;loClassA = .NULL.&lt;br /&gt;loClassB = .NULL.&lt;br /&gt;&lt;br /&gt;RELEASE loClassA, loClassB&lt;br /&gt;RELEASE PROCEDURE myPrg&lt;/pre&gt;&lt;br /&gt;Then, I open up my .prg and try to change some code. VFP prompted me "Remove classes from memory?" Why would VFP still prompt message even though I have cleaned up? It happens for NEWOBJECT() and CREATEOBJECT(). I got to use CLEAR ALL to release it.&lt;br /&gt;&lt;br /&gt;I did another tests again.&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Test 1 - Only initiate classA&lt;/li&gt;&lt;li&gt;Test 2 - Initiate AbstractClass (ya, I know I shouldn't. It is just a test) and ClassA&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;Huh, VFP doesn't prompt "Remove classes from memory?"!!&lt;br /&gt;I guess that VFP doesn't release abstractclass from memory if we initiate more than one concrete class which derived from same superclass. Anyway to solve it?&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Update: Myron Kirby posted similar &lt;/span&gt;&lt;a style="color: rgb(255, 0, 0);" href="http://www.west-wind.com/wwthreads/Message1VD17SND6.wwt"&gt;question&lt;/a&gt;&lt;span style="color: rgb(255, 0, 0);"&gt; at &lt;/span&gt;&lt;a style="color: rgb(255, 0, 0);" href="http://www.west-wind.com/wwthreads/"&gt;west-wind.com forum&lt;/a&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;. Thank you Steven Black to provide the solution! :) It solved my problem too.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7363605-115526453633068829?l=ckkiet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ckkiet.blogspot.com/feeds/115526453633068829/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7363605&amp;postID=115526453633068829&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/115526453633068829'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/115526453633068829'/><link rel='alternate' type='text/html' href='http://ckkiet.blogspot.com/2006/08/procedure-is-not-cleared.html' title='Procedure is not cleared!'/><author><name>Chan Kok Kiet (John Jones)</name><uri>http://www.blogger.com/profile/06724992491667347198</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7363605.post-115267061525198491</id><published>2006-07-12T09:41:00.000+08:00</published><updated>2006-07-12T10:51:05.473+08:00</updated><title type='text'>Small try on VFP DataExplorer</title><content type='html'>DataExplorer (DE) is an addon tool come with VFP9. It allows us to access VFP/SQL database from single interface. It acts as same functionality as Server Explorer in VisualStudio.NET.&lt;br /&gt;&lt;br /&gt;I just have a small try on DE since last few days. The main reason I use it is, I want to check my data which stored in SQL Server 2005 for testing.&lt;br /&gt;&lt;br /&gt;I use Query Anaylyzer QA) for data checking in SQL Server 2000, and I like it so much. However, Query Analyzer (isqlw.exe) is no longer available in SQL Server 2005. It has been built-in to SQL Server Management Studio (SSMS). Loading time of SSMS is very slow  in my dual core processor, 1GB RAM machine. It becomes the reason for me to "abondon" SSMS and have a try with VFP DE.&lt;br /&gt;&lt;br /&gt;DE is not as powerful as Query Anaylzer nor SSMS. But it is enough for me to check data. Some features and suprises (at least for me) I found during my exploring : -&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Can use T-SQL such as USE myDatabase inside DataExplorer.&lt;br /&gt;&lt;li&gt;Supports F5 key to run "script".&lt;br /&gt;&lt;li&gt;Supports multiple return result sets.&lt;br /&gt;&lt;li&gt;Supports parameterized SQL statement. For example, VFP will prompt for input if we include "?mypara" in SQL.&lt;br /&gt;&lt;li&gt;Query result is much faster than SSMS.&lt;br /&gt;&lt;li&gt;Copy result to clipboard. Extremely fast!!&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;Although, most of the "suprises" mentioned above are part of VFP SPT functionality. That shouldn't be any suprise. However, when combine them to build a utility like DE, it gives me better perception of VFP. :)&lt;br /&gt;&lt;br /&gt;One wishlist for DE, make result set updatable would be wonderful world!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7363605-115267061525198491?l=ckkiet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ckkiet.blogspot.com/feeds/115267061525198491/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7363605&amp;postID=115267061525198491&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/115267061525198491'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/115267061525198491'/><link rel='alternate' type='text/html' href='http://ckkiet.blogspot.com/2006/07/small-try-on-vfp-dataexplorer.html' title='Small try on VFP DataExplorer'/><author><name>Chan Kok Kiet (John Jones)</name><uri>http://www.blogger.com/profile/06724992491667347198</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7363605.post-115184120756392055</id><published>2006-07-02T19:48:00.000+08:00</published><updated>2006-07-02T19:53:27.576+08:00</updated><title type='text'>Project D.O.A</title><content type='html'>One more video &lt;a href="http://weblogs.foxite.com/kevinragsdale/archive/2006/07/01/1936.aspx"&gt;posted&lt;/a&gt;, I was thinking it talks about how project manager would resolve their issues if they choose the wrong tool for their project.&lt;br /&gt;&lt;br /&gt;However, ... It suprises me!!! :))&lt;br /&gt;&lt;br /&gt;Direct link : &lt;a href="http://video.google.com/videoplay?docid=-5677850239779225290"&gt;http://video.google.com/videoplay?docid=-5677850239779225290&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7363605-115184120756392055?l=ckkiet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ckkiet.blogspot.com/feeds/115184120756392055/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7363605&amp;postID=115184120756392055&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/115184120756392055'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/115184120756392055'/><link rel='alternate' type='text/html' href='http://ckkiet.blogspot.com/2006/07/project-doa.html' title='Project D.O.A'/><author><name>Chan Kok Kiet (John Jones)</name><uri>http://www.blogger.com/profile/06724992491667347198</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7363605.post-115183880487530721</id><published>2006-07-02T19:09:00.000+08:00</published><updated>2006-07-02T19:13:24.890+08:00</updated><title type='text'>VFPX promo video</title><content type='html'>After VFP promo video, Kevin Ragsdale shared &lt;a href="http://weblogs.foxite.com/kevinragsdale/archive/2006/07/01/1935.aspx"&gt;VFPX promo video&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Direct link : &lt;a href="http://video.google.com/videoplay?docid=-8081999689198930750"&gt;http://video.google.com/videoplay?docid=-8081999689198930750&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7363605-115183880487530721?l=ckkiet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ckkiet.blogspot.com/feeds/115183880487530721/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7363605&amp;postID=115183880487530721&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/115183880487530721'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/115183880487530721'/><link rel='alternate' type='text/html' href='http://ckkiet.blogspot.com/2006/07/vfpx-promo-video.html' title='VFPX promo video'/><author><name>Chan Kok Kiet (John Jones)</name><uri>http://www.blogger.com/profile/06724992491667347198</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7363605.post-115176709847434606</id><published>2006-07-01T23:15:00.000+08:00</published><updated>2006-07-01T23:18:18.490+08:00</updated><title type='text'>Another VFP Promo Video</title><content type='html'>&lt;a href="http://video.google.com/videoplay?docid=7938811193423029576"&gt;Another VFP promo video&lt;/a&gt; posted by &lt;a href="http://weblogs.foxite.com/kevinragsdale/archive/2006/06/30/1930.aspx"&gt;Kevin Ragsdale&lt;/a&gt; at Goodle Video.&lt;br /&gt;&lt;br /&gt;Thank you, Kevin.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7363605-115176709847434606?l=ckkiet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ckkiet.blogspot.com/feeds/115176709847434606/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7363605&amp;postID=115176709847434606&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/115176709847434606'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/115176709847434606'/><link rel='alternate' type='text/html' href='http://ckkiet.blogspot.com/2006/07/another-vfp-promo-video.html' title='Another VFP Promo Video'/><author><name>Chan Kok Kiet (John Jones)</name><uri>http://www.blogger.com/profile/06724992491667347198</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7363605.post-115154800383205239</id><published>2006-06-29T09:51:00.000+08:00</published><updated>2006-06-29T10:26:43.856+08:00</updated><title type='text'>VFPX</title><content type='html'>&lt;a href="http://www.codeplex.com/Project/FileDownload.aspx?ProjectName=VFPX&amp;CountDownload=False&amp;DownloadId=343"&gt;&lt;img src="http://www.codeplex.com/Project/FileDownload.aspx?ProjectName=VFPX&amp;CountDownload=False&amp;DownloadId=343" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.codeplex.com/Wiki/View.aspx?ProjectName=VFPX"&gt;VFPX&lt;/a&gt; is now at CodePlex. Cool logo!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7363605-115154800383205239?l=ckkiet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ckkiet.blogspot.com/feeds/115154800383205239/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7363605&amp;postID=115154800383205239&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/115154800383205239'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/115154800383205239'/><link rel='alternate' type='text/html' href='http://ckkiet.blogspot.com/2006/06/vfpx.html' title='VFPX'/><author><name>Chan Kok Kiet (John Jones)</name><uri>http://www.blogger.com/profile/06724992491667347198</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7363605.post-114975132859884463</id><published>2006-06-08T14:35:00.000+08:00</published><updated>2006-06-08T16:34:26.140+08:00</updated><title type='text'>Application Loader, Self-Update</title><content type='html'>Upgrade is a very painful process for desktop application in multi-users environment. We got to update latest EXE, fxp, dbf and etc to ALL user machine by running upgrade program or xcopy them manually.&lt;br /&gt;&lt;br /&gt;Some time ago, VFP developers shared programs like "Application Loader" and "Application Updater" which automate the upgrade process. These programs check for any updated files available at LAN/Web server. If any, these files would be copied to local machine, register them if necessary.&lt;br /&gt;&lt;br /&gt;With this, users no longer launch our application. Instead, user only launch Application Loader. Application Loader would update files and launch the actual EXE.&lt;br /&gt;&lt;br /&gt;Application Loader should be a less maintainance program because we seldom change the logic. However, seldom change meant still got chance we need to change it. We may need to enhance or add more features to it. For example, current version doesn't support COM DLL registration. We wan to build this feature within next few months.&lt;br /&gt;&lt;br /&gt;OK, now we back to our old problem. How are we going to update our Application Loader?&lt;br /&gt;&lt;br /&gt;I borrowed Les Pinter idea to solve this problem.&lt;br /&gt;&lt;br /&gt;Below is the flowchart of my self-update Application Loader.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://photos1.blogger.com/blogger/6205/449/1600/apploader.jpg"&gt;&lt;img src="http://photos1.blogger.com/blogger/6205/449/320/apploader.jpg" alt="" border="1" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I am using ShellExec API to launch instance of "latest" Application Loader so that "older" Application loader able to get back control and exit immediatelly.&lt;br /&gt;&lt;br /&gt;If you have any comments or suggestions, pls email me. Thank you&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7363605-114975132859884463?l=ckkiet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ckkiet.blogspot.com/feeds/114975132859884463/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7363605&amp;postID=114975132859884463&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/114975132859884463'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/114975132859884463'/><link rel='alternate' type='text/html' href='http://ckkiet.blogspot.com/2006/06/application-loader-self-update.html' title='Application Loader, Self-Update'/><author><name>Chan Kok Kiet (John Jones)</name><uri>http://www.blogger.com/profile/06724992491667347198</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7363605.post-114969856783542166</id><published>2006-06-08T00:06:00.000+08:00</published><updated>2006-06-08T00:45:00.670+08:00</updated><title type='text'>Make VFP cool!</title><content type='html'>There are couple of blogs show how to make VFP look cool! For example : -&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://weblogs.foxite.com/bernardbout/archive/2006/06/07/1704.aspx"&gt;Recreating OneNoteTabs in VFP9&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://weblogs.foxite.com/vassilisaggelakos/archive/2006/05/18/1551.aspx"&gt;What I have done with VFP, GDI+, and a ton of help from VFP Community (OR why VFP is COOL)&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.goyanet.com.ar/vfp/ctl32_statusbar/"&gt;ctl32_statusbar - A Status Bar Control Class For Visual FoxPro 9&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Some of them are using &lt;span style="font-weight: bold;"&gt;pure VFP code&lt;/span&gt;, and some make use of &lt;span style="font-weight: bold;"&gt;WINAPI&lt;/span&gt;s call.&lt;br /&gt;&lt;br /&gt;It just remind me what I did two years ago. Image below is one of the screenshot of my application that make use of listbar control which can be downloaded from UT download section. I make some changes on it and use some bitmaps so that it look XP theme. It is just simple changes.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://photos1.blogger.com/blogger/6205/449/1600/Image6.jpg"&gt;&lt;img src="http://photos1.blogger.com/blogger/6205/449/320/Image6.jpg" alt="" border="1" /&gt;&lt;/a&gt;&lt;br /&gt;Figure 1 Outlook bar&lt;br /&gt;&lt;br /&gt;&lt;a href="http://photos1.blogger.com/blogger/6205/449/1600/Image9.jpg"&gt;&lt;img src="http://photos1.blogger.com/blogger/6205/449/320/Image9.jpg" alt="" border="1" /&gt;&lt;/a&gt;&lt;br /&gt;Figure 2 Mouse move over the option&lt;br /&gt;&lt;br /&gt;Does it really cool? Well, it may not as cool as other tool mentioned above. However,  at least, my customer impressed on it and asked : "Are you sure you are using VFP to do this?"&lt;g&gt;&lt;/g&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7363605-114969856783542166?l=ckkiet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ckkiet.blogspot.com/feeds/114969856783542166/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7363605&amp;postID=114969856783542166&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/114969856783542166'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/114969856783542166'/><link rel='alternate' type='text/html' href='http://ckkiet.blogspot.com/2006/06/make-vfp-cool.html' title='Make VFP cool!'/><author><name>Chan Kok Kiet (John Jones)</name><uri>http://www.blogger.com/profile/06724992491667347198</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7363605.post-114934499952364993</id><published>2006-06-03T22:19:00.000+08:00</published><updated>2006-06-03T22:29:59.540+08:00</updated><title type='text'>Reason to use ViewDBC</title><content type='html'>In my prior post, I mentioned I hit error in multi instances environment. Failure that I hit in second instance will cause exception in first instance also. I am not sure how VFP handle connection using dbc. But I am sure VFP update something to DBC when open view (That is why our DBC date is always "up-to-date").&lt;br /&gt;&lt;br /&gt;Use seperate copy of DBC for each instance would solve the issue. It has same reason of using ViewDBC in multi-user environment as recommded.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7363605-114934499952364993?l=ckkiet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ckkiet.blogspot.com/feeds/114934499952364993/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7363605&amp;postID=114934499952364993&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/114934499952364993'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/114934499952364993'/><link rel='alternate' type='text/html' href='http://ckkiet.blogspot.com/2006/06/reason-to-use-viewdbc.html' title='Reason to use ViewDBC'/><author><name>Chan Kok Kiet (John Jones)</name><uri>http://www.blogger.com/profile/06724992491667347198</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7363605.post-114934432248376146</id><published>2006-06-03T21:37:00.000+08:00</published><updated>2006-06-03T22:18:42.500+08:00</updated><title type='text'>SQL Connection property reset!</title><content type='html'>Recently, my team is testing our application to make sure it works fine in multi instances and Terminal Server environment.&lt;br /&gt;&lt;br /&gt;Once launch second instance of our application, we hit show stopper errors.&lt;br /&gt;&lt;br /&gt;Firstly, we hit error &lt;span style="font-style: italic;"&gt;"Invalid call issued while executing a SQLMORERESULTS( )  sequence."&lt;/span&gt; Thank you for UT member to give me hint. We set connection "BatchMode" in DBC to True and test the application. Hey, it still happen! After a lot of observations, trial and error we found that our connection property been reset by VFP.&lt;br /&gt;&lt;br /&gt;We are using remote view and SQL Passthrough to manipulate SQL Server data. We retrieve current view connection handle and use it in SPT to share connection among both. Don't know how VFP reset connection property. It causes BatchMode reset to False.&lt;br /&gt;&lt;br /&gt;OK, we add code to re-assign True to BatchMode after after retrieve remote view connection handle, before pass to SPT. Problem solved! We start to test our data entry form. Key in records, save them in both instance. Ooopss, we hit error &lt;span style="font-style:italic;"&gt;"ODBC error : Invalid transaction State"&lt;/span&gt; What is this error all about??!?!?!&lt;br /&gt;&lt;br /&gt;Yes, both of these error has cause. Connection transaction mode is reset to &lt;span style="font-weight:bold;"&gt;ZERO&lt;/span&gt;. By right, it should be 1 - AutoCommit or 2 - Manual.&lt;br /&gt;&lt;br /&gt;We tried to reproduce the bug in test project, but failed! We would report this to FoxTeam once we can reproduce it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7363605-114934432248376146?l=ckkiet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ckkiet.blogspot.com/feeds/114934432248376146/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7363605&amp;postID=114934432248376146&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/114934432248376146'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/114934432248376146'/><link rel='alternate' type='text/html' href='http://ckkiet.blogspot.com/2006/06/sql-connection-property-reset.html' title='SQL Connection property reset!'/><author><name>Chan Kok Kiet (John Jones)</name><uri>http://www.blogger.com/profile/06724992491667347198</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7363605.post-114934179469305681</id><published>2006-06-03T21:33:00.000+08:00</published><updated>2006-06-03T21:36:34.716+08:00</updated><title type='text'>VFP raise again in TIOBE index</title><content type='html'>Visual FoxPro is at position &lt;span style="font-weight: bold; color: rgb(51, 51, 255);"&gt;12&lt;/span&gt; on the &lt;a href="http://www.sweetpotatosoftware.com/SPSBlog/ct.ashx?id=32407483-6292-47e8-863e-c9100fc9bac0&amp;url=http%3a%2f%2fwww.tiobe.com%2ftpci.htm"&gt;TIOBE Index&lt;/a&gt;. It is rate "&lt;span style="color: rgb(255, 0, 0);"&gt;A&lt;/span&gt;" now!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7363605-114934179469305681?l=ckkiet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ckkiet.blogspot.com/feeds/114934179469305681/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7363605&amp;postID=114934179469305681&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/114934179469305681'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/114934179469305681'/><link rel='alternate' type='text/html' href='http://ckkiet.blogspot.com/2006/06/vfp-raise-again-in-tiobe-index.html' title='VFP raise again in TIOBE index'/><author><name>Chan Kok Kiet (John Jones)</name><uri>http://www.blogger.com/profile/06724992491667347198</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7363605.post-114933394003919218</id><published>2006-06-03T19:15:00.000+08:00</published><updated>2006-06-03T19:25:40.040+08:00</updated><title type='text'>Multi-Threading in VFP</title><content type='html'>Calvin Hsia posted sample code to run VFP in multi-threading mode.&lt;br /&gt;&lt;br /&gt;[Calvin Hsia :]&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://blogs.msdn.com/calvin_hsia/archive/2006/05/11/595562.aspx"&gt;Sample program to create multiple threads&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://blogs.msdn.com/calvin_hsia/archive/2006/05/16/599108.aspx"&gt;Create multiple threads from within your application&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://blogs.msdn.com/calvin_hsia/archive/2006/05/23/605465.aspx"&gt;More Multithread capabilities: interthread synchronization, error checking&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;Hopefully, this class would be enhanced to enable VFP to have robust multi-threading feature later.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7363605-114933394003919218?l=ckkiet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ckkiet.blogspot.com/feeds/114933394003919218/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7363605&amp;postID=114933394003919218&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/114933394003919218'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/114933394003919218'/><link rel='alternate' type='text/html' href='http://ckkiet.blogspot.com/2006/06/multi-threading-in-vfp.html' title='Multi-Threading in VFP'/><author><name>Chan Kok Kiet (John Jones)</name><uri>http://www.blogger.com/profile/06724992491667347198</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7363605.post-114933325280909475</id><published>2006-06-03T19:04:00.000+08:00</published><updated>2006-06-03T19:14:12.826+08:00</updated><title type='text'>Simple steps, are they really simple?</title><content type='html'>Ted &lt;a href="http://radio.weblogs.com/0117767/2006/06/01.html#a1981"&gt;pointed out&lt;/a&gt; a &lt;a href="http://www.flickr.com/photo_zoom.gne?id=151250154&amp;size=o"&gt;link&lt;/a&gt; that show how to delete a desktop shortcut in &lt;span style="font-weight:bold;"&gt;seven&lt;/span&gt; &lt;span style="font-style:italic;"&gt;simple steps&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;It remind me one of the product installation procedure. In order to deploy the application to customer, it requires only &lt;span style="font-weight:bold;"&gt;firty&lt;/span&gt; easy steps. Well, the steps are really easy, frankly.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7363605-114933325280909475?l=ckkiet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ckkiet.blogspot.com/feeds/114933325280909475/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7363605&amp;postID=114933325280909475&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/114933325280909475'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/114933325280909475'/><link rel='alternate' type='text/html' href='http://ckkiet.blogspot.com/2006/06/simple-steps-are-they-really-simple.html' title='Simple steps, are they really simple?'/><author><name>Chan Kok Kiet (John Jones)</name><uri>http://www.blogger.com/profile/06724992491667347198</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7363605.post-114681590833119689</id><published>2006-05-05T15:08:00.000+08:00</published><updated>2006-05-05T15:58:28.360+08:00</updated><title type='text'>How to make Visual FoxPro cool from  Craig Bailey</title><content type='html'>Craig Bailey has an excellent post, "&lt;a href="http://craigbailey.blogspot.com/2006/05/vfp-how-to-make-visual-foxpro-cool.html"&gt;How to make Visual FoxPro cool&lt;/a&gt;".&lt;br /&gt;&lt;br /&gt;Totally agree with him, perception to VFP outside of VFP community is the main problem.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;How to make VFP cool&lt;/span&gt;&lt;br /&gt;Andrew MacNeill has couple of &lt;a href="http://craigbailey.blogspot.com/2006/05/vfp-how-to-make-visual-foxpro-cool.html"&gt;suggestions&lt;/a&gt;, such as using ActiveX to improve UI, write custom tool to replace the native tools using MENUHIT and etc. &lt;br /&gt;&lt;br /&gt;My question are : -&lt;br /&gt;&lt;br /&gt;1. Why 3rd party tool? Remember most of them are not free. Why does .NET provide these tools natively but VFP got to use external tool?&lt;br /&gt;2. Why do VFP developers alway required to write tool for it? VFP is designed to be flexible, customizable, provide good function and hook to bind windows event. Does it meant developer got to write tool themselves?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7363605-114681590833119689?l=ckkiet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ckkiet.blogspot.com/feeds/114681590833119689/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7363605&amp;postID=114681590833119689&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/114681590833119689'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/114681590833119689'/><link rel='alternate' type='text/html' href='http://ckkiet.blogspot.com/2006/05/how-to-make-visual-foxpro-cool-from.html' title='How to make Visual FoxPro cool from  Craig Bailey'/><author><name>Chan Kok Kiet (John Jones)</name><uri>http://www.blogger.com/profile/06724992491667347198</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7363605.post-114681286566631275</id><published>2006-05-05T15:00:00.000+08:00</published><updated>2006-05-05T15:07:45.683+08:00</updated><title type='text'>VFP at TIOBE</title><content type='html'>VFP has been staying in TIOBE top 20 list since January 2006. It is at the position 13th with status 'A-'.&lt;br /&gt;&lt;br /&gt;It shows the influence of VFP community.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7363605-114681286566631275?l=ckkiet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ckkiet.blogspot.com/feeds/114681286566631275/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7363605&amp;postID=114681286566631275&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/114681286566631275'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/114681286566631275'/><link rel='alternate' type='text/html' href='http://ckkiet.blogspot.com/2006/05/vfp-at-tiobe.html' title='VFP at TIOBE'/><author><name>Chan Kok Kiet (John Jones)</name><uri>http://www.blogger.com/profile/06724992491667347198</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7363605.post-113880236925263731</id><published>2006-02-01T21:46:00.000+08:00</published><updated>2006-02-01T21:59:32.273+08:00</updated><title type='text'>Ken Levy goes Windows Live</title><content type='html'>Ken Levy, VS Data Group Product Manager announced to accept an offer to work be a product planner Windows Live division.&lt;br /&gt;&lt;br /&gt;Is it a good/bad news for VFP community?&lt;br /&gt;&lt;br /&gt;Anyway, congratulation Ken!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7363605-113880236925263731?l=ckkiet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ckkiet.blogspot.com/feeds/113880236925263731/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7363605&amp;postID=113880236925263731&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/113880236925263731'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/113880236925263731'/><link rel='alternate' type='text/html' href='http://ckkiet.blogspot.com/2006/02/ken-levy-goes-windows-live.html' title='Ken Levy goes Windows Live'/><author><name>Chan Kok Kiet (John Jones)</name><uri>http://www.blogger.com/profile/06724992491667347198</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7363605.post-113689139234722167</id><published>2006-01-10T19:05:00.000+08:00</published><updated>2006-01-10T19:09:52.360+08:00</updated><title type='text'>Which is your favorite Fox head?</title><content type='html'>Craig Boyd - &lt;a href="http://www.sweetpotatosoftware.com/SPSBlog/PermaLink,guid,55eed756-353c-4086-9a2e-7c52ac926611.aspx"&gt;Creating our own Fox logos&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7363605-113689139234722167?l=ckkiet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ckkiet.blogspot.com/feeds/113689139234722167/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7363605&amp;postID=113689139234722167&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/113689139234722167'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/113689139234722167'/><link rel='alternate' type='text/html' href='http://ckkiet.blogspot.com/2006/01/which-is-your-favorite-fox-head.html' title='Which is your favorite Fox head?'/><author><name>Chan Kok Kiet (John Jones)</name><uri>http://www.blogger.com/profile/06724992491667347198</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7363605.post-113523698610699715</id><published>2005-12-22T15:13:00.000+08:00</published><updated>2005-12-22T15:36:26.116+08:00</updated><title type='text'>SQLRollBack() reset error</title><content type='html'>Just found out that SQLRollBack() will reset error occured during SQL Server transaction. IOW, we would not able to get the error occured during transaction after rollback.&lt;br /&gt;I believe it is design of ODBC driver, nothing to do with VFP. (Is it true?)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7363605-113523698610699715?l=ckkiet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ckkiet.blogspot.com/feeds/113523698610699715/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7363605&amp;postID=113523698610699715&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/113523698610699715'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/113523698610699715'/><link rel='alternate' type='text/html' href='http://ckkiet.blogspot.com/2005/12/sqlrollback-reset-error.html' title='SQLRollBack() reset error'/><author><name>Chan Kok Kiet (John Jones)</name><uri>http://www.blogger.com/profile/06724992491667347198</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7363605.post-113463903210614173</id><published>2005-12-15T17:01:00.000+08:00</published><updated>2005-12-15T17:30:32.160+08:00</updated><title type='text'>Visual FoxPro is a Rising Star</title><content type='html'>A report from TIOBE Programming Community indicates that Visual FoxPro has raised its position from 51 to 20.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-style:italic;"&gt;Rising star this month is Visual FoxPro. It jumped in one year time from position 51 to 20! It is interesting to see that there is a whole bunch of "new" programming languages (such as Visual FoxPro, ColdFusion, Ruby, D, and ActionScript) trying to get in the major league, &lt;span style="font-weight:bold;"&gt;but none of them is capable of holding a top 20 position for more than a couple of months&lt;/span&gt;.&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Huh? Is it a predication or what? Why can't VFP stay for more than couple of months?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7363605-113463903210614173?l=ckkiet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ckkiet.blogspot.com/feeds/113463903210614173/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7363605&amp;postID=113463903210614173&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/113463903210614173'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/113463903210614173'/><link rel='alternate' type='text/html' href='http://ckkiet.blogspot.com/2005/12/visual-foxpro-is-rising-star.html' title='Visual FoxPro is a Rising Star'/><author><name>Chan Kok Kiet (John Jones)</name><uri>http://www.blogger.com/profile/06724992491667347198</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7363605.post-113429895874600504</id><published>2005-12-11T18:55:00.000+08:00</published><updated>2005-12-11T19:02:40.606+08:00</updated><title type='text'>Visual FoxPro 9 SP1 Release</title><content type='html'>MS Fox Team has released &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=1C06E35D-10A2-4A05-84FC-495B3A73ECF7&amp;displaylang=en"&gt;VFP9 SP1&lt;/a&gt; officially. &lt;br /&gt;&lt;br /&gt;From Ken Levy December Letter, &lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-style:italic;"&gt;in-depth details on Sedna, both on specific features and status of a soon to be released community technical preview (CTP) free download of Sedna components on next month&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Waiting for Sedna!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7363605-113429895874600504?l=ckkiet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ckkiet.blogspot.com/feeds/113429895874600504/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7363605&amp;postID=113429895874600504&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/113429895874600504'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/113429895874600504'/><link rel='alternate' type='text/html' href='http://ckkiet.blogspot.com/2005/12/visual-foxpro-9-sp1-release.html' title='Visual FoxPro 9 SP1 Release'/><author><name>Chan Kok Kiet (John Jones)</name><uri>http://www.blogger.com/profile/06724992491667347198</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7363605.post-113367459263492631</id><published>2005-12-04T13:24:00.000+08:00</published><updated>2005-12-04T13:36:32.646+08:00</updated><title type='text'>FoxPro Not an Endangered Species</title><content type='html'>Mary Jo Foley published a great article about VFP in Microsoft on RedmondMag.com - &lt;a href="http://www.redmondmag.com/columns/article.asp?EditorialsID=1166"&gt;FoxPro Not an Endangered Species&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;Visual FoxPro is the Rodney Dangerfield of Microsoft. It doesn't get a lot of respect. But I think this situation may soon change. Microsoft decided a while ago to keep FoxPro outside the .Net and Visual-Studio hen houses, leading many to question its viability.&lt;br /&gt;&lt;br /&gt;I believe the opposite is true. I think FoxPro is about to get a lot more relevant to Microsoft and its customers, and not just because Microsoft exec Eric Rudder (who some claim is Chairman Bill Gates' heir apparent) served as the architect of Visual FoxPro 3.0.&lt;br /&gt;&lt;br /&gt;It seems like Microsoft is bending over backwards to keep FoxPro from ending up as part of a musty fur coat. I can't help but wonder if it has shown Microsoft that there's value still in non-.Net-based products. In the same way that the success of Ajax applications led Microsoft to reevaluate its "smart-client-or-nothing” strategy, the hardiness of FoxPro and its users has led the Redmondites to give the Fox a second look.&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Mary Jo Foley encourage VFP users to email her regarding VFP. Has anyone send Mary Jo Foley regarding &lt;a href="http://www.gotdotnet.com/codegallery/codegallery.aspx?id=0826d7a6-1dab-4a71-8e70-f2170c3c1661"&gt;SednaX&lt;/a&gt;?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7363605-113367459263492631?l=ckkiet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ckkiet.blogspot.com/feeds/113367459263492631/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7363605&amp;postID=113367459263492631&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/113367459263492631'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/113367459263492631'/><link rel='alternate' type='text/html' href='http://ckkiet.blogspot.com/2005/12/foxpro-not-endangered-species.html' title='FoxPro Not an Endangered Species'/><author><name>Chan Kok Kiet (John Jones)</name><uri>http://www.blogger.com/profile/06724992491667347198</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7363605.post-113124312258989210</id><published>2005-11-06T10:10:00.000+08:00</published><updated>2005-11-06T10:12:02.590+08:00</updated><title type='text'>David Stevenson steps down as FoxTalk editor</title><content type='html'>Thank you David Steveson for his great job.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7363605-113124312258989210?l=ckkiet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ckkiet.blogspot.com/feeds/113124312258989210/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7363605&amp;postID=113124312258989210&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/113124312258989210'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/113124312258989210'/><link rel='alternate' type='text/html' href='http://ckkiet.blogspot.com/2005/11/david-stevenson-steps-down-as-foxtalk.html' title='David Stevenson steps down as FoxTalk editor'/><author><name>Chan Kok Kiet (John Jones)</name><uri>http://www.blogger.com/profile/06724992491667347198</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7363605.post-113124294692496471</id><published>2005-11-06T09:56:00.000+08:00</published><updated>2005-11-06T10:09:06.936+08:00</updated><title type='text'>ORM for VFP</title><content type='html'>Just found &lt;a href="http://www.foxdataobjects.com"&gt;this&lt;/a&gt; at &lt;a href="http://fox.wikis.com/wc.dll?Wiki~FoxDataObjects"&gt;fox.wikis.com&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;This is a ORM (Object-relational mapping) engine for Visual Foxpro. I breifly go thru the documentation. It is not a complete framework like MM, VMP and etc, instead it is an object persistent framework. It only take care of business object and data access layer. The core library is written using C++ but higher level class provided as a wrapper of FLL API. GUI provided for mapping.&lt;br /&gt;&lt;br /&gt;This product has two edition. Personal and professional edition. Personal edition is FREE! however limited to 10 persistent classes per Session. I tried to to download it for a try but couldn't made it. May be because it is still under beta testing.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.foxdataobjects.com/"&gt;FoxDataObject.com&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7363605-113124294692496471?l=ckkiet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ckkiet.blogspot.com/feeds/113124294692496471/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7363605&amp;postID=113124294692496471&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/113124294692496471'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/113124294692496471'/><link rel='alternate' type='text/html' href='http://ckkiet.blogspot.com/2005/11/orm-for-vfp.html' title='ORM for VFP'/><author><name>Chan Kok Kiet (John Jones)</name><uri>http://www.blogger.com/profile/06724992491667347198</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7363605.post-113124199782182163</id><published>2005-11-06T09:48:00.000+08:00</published><updated>2005-11-06T09:55:58.373+08:00</updated><title type='text'>ProFox map</title><content type='html'>Add your location to &lt;a href="http://www.frappr.com/profox"&gt;ProFox map&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;It is abit tricky when key in city during regisration. Just key first few characters of the city name and wait ... a drop down list will be appeared (I think it is using AJAX).&lt;br /&gt;&lt;br /&gt;Fox everywhere!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7363605-113124199782182163?l=ckkiet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ckkiet.blogspot.com/feeds/113124199782182163/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7363605&amp;postID=113124199782182163&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/113124199782182163'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/113124199782182163'/><link rel='alternate' type='text/html' href='http://ckkiet.blogspot.com/2005/11/profox-map.html' title='ProFox map'/><author><name>Chan Kok Kiet (John Jones)</name><uri>http://www.blogger.com/profile/06724992491667347198</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7363605.post-113047700242052650</id><published>2005-10-28T12:51:00.000+08:00</published><updated>2005-10-28T15:21:28.346+08:00</updated><title type='text'>MultiClipboard</title><content type='html'>Someone proposed to implement MultiClipboard feature in VFP just like MS Office does. I feel it is interesting and I started to do some research on it and develop a small prototype.&lt;br /&gt;&lt;br /&gt;1. I use VS tool Spy++ to get know what window message would be sent out.&lt;br /&gt;2. I searched for some related &lt;a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/dataexchange/clipboard/clipboardreference/clipboardmessages/wm_drawclipboard.asp"&gt;info&lt;/a&gt; from MSDN library. I found a &lt;a href="http://msdn.microsoft.com/library/en-us/winui/winui/windowsuserinterface/dataexchange/clipboard/usingtheclipboard.asp?frame=true"&gt;clipboard example&lt;/a&gt; but written in VC++.&lt;br /&gt;3. I tried to translate the code to VFP.&lt;br /&gt;&lt;br /&gt;Thank you for VFP9 enhancement of BindEvent() made us easy to respond to Windows Message.&lt;br /&gt;&lt;br /&gt;The code below respond to Clipboard Content Changed event and add it to collection.&lt;br /&gt;&lt;br /&gt;Limitation&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;It only supports Text format.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;It doesn't handle PASTE "event". I personally feel that we got to implement replacement of edit menu and subclass VFP native controls in order to "respond" to PASTE "event". For example, getting string from collection and show in textbox. Any advice?&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;Enhancment&lt;br /&gt;We can use enhanced collection control to have stack feature - LIFO.&lt;br /&gt;&lt;br /&gt;I am willing to share this code for SednaX project if it is useful for anyone.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;#&lt;span style="color: rgb(0, 0, 255);"&gt;DEFINE&lt;/span&gt; GWL_WNDPROC        (-4)&lt;br /&gt;#&lt;span style="color: rgb(0, 0, 255);"&gt;DEFINE&lt;/span&gt; WM_DRAWCLIPBOARD   0x0308&lt;br /&gt;#&lt;span style="color: rgb(0, 0, 255);"&gt;DEFINE&lt;/span&gt; CF_TEXT            1&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;PUBLIC&lt;/span&gt; loClipEN&lt;br /&gt;&lt;br /&gt;loClipEN = &lt;span style="color: rgb(0, 0, 255);"&gt;CREATEOBJECT&lt;/span&gt;("ClipboardEvent")&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;DEFINE CLASS&lt;/span&gt; ClipboardEvent &lt;span style="color: rgb(0, 0, 255);"&gt;AS Custom&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;nOldProc=0&lt;br /&gt;colClipboard = .NULL.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;PROCEDURE INIT&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;*--------------------------------------------------&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;DECLARE LONG&lt;/span&gt; SendMessage &lt;span style="color: rgb(0, 0, 255);"&gt;IN&lt;/span&gt; WIN32API ;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;LONG&lt;/span&gt;, &lt;span style="color: rgb(0, 0, 255);"&gt;LONG&lt;/span&gt;, &lt;span style="color: rgb(0, 0, 255);"&gt;LONG&lt;/span&gt;, &lt;span style="color: rgb(0, 0, 255);"&gt;LONG&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;DECLARE LONG&lt;/span&gt; GetWindow &lt;span style="color: rgb(0, 0, 255);"&gt;IN&lt;/span&gt; Win32API &lt;span style="color: rgb(0, 0, 255);"&gt;LONG&lt;/span&gt;, &lt;span style="color: rgb(0, 0, 255);"&gt;LONG&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;DECLARE INTEGER&lt;/span&gt; GetWindowLong &lt;span style="color: rgb(0, 0, 255);"&gt;IN&lt;/span&gt; WIN32API ;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;INTEGER&lt;/span&gt; nHWND, &lt;span style="color: rgb(0, 0, 255);"&gt;INTEGER&lt;/span&gt; nIndex&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;DECLARE INTEGER&lt;/span&gt; CallWindowProc &lt;span style="color: rgb(0, 0, 255);"&gt;IN&lt;/span&gt; WIN32API ;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;INTEGER&lt;/span&gt; lpPrevWndFunc, ;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;INTEGER&lt;/span&gt; nHWND, ;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;INTEGER&lt;/span&gt; nMsg, ;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;INTEGER&lt;/span&gt; wParam, ;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;INTEGER&lt;/span&gt; lParam&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;DECLARE INTEGER&lt;/span&gt; IsClipboardFormatAvailable &lt;span style="color: rgb(0, 0, 255);"&gt;IN&lt;/span&gt; WIN32API ;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;INTEGER&lt;/span&gt; uFormat&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;DECLARE INTEGER&lt;/span&gt; OpenClipboard &lt;span style="color: rgb(0, 0, 255);"&gt;IN&lt;/span&gt; WIN32API ;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;INTEGER&lt;/span&gt; nHWND&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;DECLARE INTEGER&lt;/span&gt; GetClipboardData &lt;span style="color: rgb(0, 0, 255);"&gt;IN&lt;/span&gt; WIN32API ;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;INTEGER&lt;/span&gt; uFormat&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;DECLARE STRING&lt;/span&gt; GlobalLock &lt;span style="color: rgb(0, 0, 255);"&gt;IN&lt;/span&gt; WIN32API ;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;INTEGER&lt;/span&gt; hglb&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;DECLARE INTEGER&lt;/span&gt; GlobalUnlock &lt;span style="color: rgb(0, 0, 255);"&gt;IN&lt;/span&gt; WIN32API ;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;INTEGER&lt;/span&gt; hglb&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;DECLARE INTEGER&lt;/span&gt; CloseClipboard &lt;span style="color: rgb(0, 0, 255);"&gt;IN&lt;/span&gt; WIN32API&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;THIS&lt;/span&gt;.nOldProc=GetWindowLong(&lt;span style="color: rgb(0, 0, 255);"&gt;_VFP.HWND&lt;/span&gt;, GWL_WNDPROC)&lt;br /&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;SET LIBRARY TO Home&lt;/span&gt;() + 'FoxTools.fll'&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;THIS&lt;/span&gt;.colClipboard = &lt;span style="color: rgb(0, 0, 255);"&gt;CREATEOBJECT&lt;/span&gt;("Collection")&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;*--Bind the main VFP window to WM_DRAWCLIPBOARD&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;   BindEvent&lt;/span&gt;(&lt;span style="color: rgb(0, 0, 255);"&gt;_VFP.Hwnd&lt;/span&gt;,WM_DRAWCLIPBOARD,&lt;span style="color: rgb(0, 0, 255);"&gt;This&lt;/span&gt;,'HandleMsg')&lt;br /&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;ENDPROC&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;PROCEDURE DESTROY&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;   UNBINDEVENTS&lt;/span&gt;(&lt;span style="color: rgb(0, 0, 255);"&gt;_VFP.Hwnd&lt;/span&gt;,WM_DRAWCLIPBOARD)&lt;br /&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;ENDPROC&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;PROCEDURE&lt;/span&gt; HandleMsg&lt;br /&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;LPARAMETERS&lt;/span&gt; nHWND,nMsg,wParam,lParam&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;LOCAL&lt;/span&gt; lptstr, hglb, lnRetVal&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;*-- Only handle Text format clipboard&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;IF&lt;/span&gt; IsClipboardFormatAvailable(CF_TEXT) = 1 &lt;span style="color: rgb(0, 0, 255);"&gt; ;&lt;br /&gt; AND&lt;/span&gt; OpenClipboard(nHWND) = 1&lt;br /&gt;hglb = GetClipboardData(CF_TEXT)&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;IF&lt;/span&gt; NOT &lt;span style="color: rgb(0, 0, 255);"&gt;ISNULL&lt;/span&gt;(hglb)&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;*-- Get the text from clipboard, _CLIPTEXT always return single line text&lt;br /&gt;*-- This will return multiline text.&lt;br /&gt;&lt;/span&gt;  lptstr = GlobalLock(hglb)&lt;br /&gt;GlobalUnlock(hglb)&lt;br /&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;ENDIF&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;CloseClipboard()&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;*-- Add clipboard to collection&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;THIS&lt;/span&gt;.colClipboard.&lt;span style="color: rgb(0, 0, 255);"&gt;Add&lt;/span&gt;(lptstr)&lt;br /&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;ENDIF&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;*-- Must call SendMessage function to pass the message on to&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt; *-- the next window in the clipboard viewer chain&lt;/span&gt;&lt;br /&gt;lnRetVal = SendMessage(nHWND, nMsg,wParam,lParam )&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;RETURN&lt;/span&gt; CallWindowProc(&lt;span style="color: rgb(0, 0, 255);"&gt;THIS&lt;/span&gt;.nOldProc,nHWND,nMsg,wParam,lParam)&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;ENDPROC&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;ENDDEFINE&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7363605-113047700242052650?l=ckkiet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ckkiet.blogspot.com/feeds/113047700242052650/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7363605&amp;postID=113047700242052650&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/113047700242052650'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/113047700242052650'/><link rel='alternate' type='text/html' href='http://ckkiet.blogspot.com/2005/10/multiclipboard.html' title='MultiClipboard'/><author><name>Chan Kok Kiet (John Jones)</name><uri>http://www.blogger.com/profile/06724992491667347198</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7363605.post-112999614210827157</id><published>2005-10-22T23:42:00.000+08:00</published><updated>2005-10-22T23:49:02.113+08:00</updated><title type='text'>FoxTab Screen cast</title><content type='html'>Still remember a utility called &lt;a href="http://ckkiet.blogspot.com/2005/10/first-look-at-vfp-solution-explorer.html"&gt;FoxTab&lt;/a&gt;?  &lt;a href="http://akselsoft.blogspot.com/"&gt;Andrew MacNeill&lt;/a&gt; has recorded a &lt;a href="http://www.projectstreamer.com/users/aksel/FoxTabs/FoxTabs.html"&gt;screen cast&lt;/a&gt; to show its features.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7363605-112999614210827157?l=ckkiet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ckkiet.blogspot.com/feeds/112999614210827157/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7363605&amp;postID=112999614210827157&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/112999614210827157'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/112999614210827157'/><link rel='alternate' type='text/html' href='http://ckkiet.blogspot.com/2005/10/foxtab-screen-cast.html' title='FoxTab Screen cast'/><author><name>Chan Kok Kiet (John Jones)</name><uri>http://www.blogger.com/profile/06724992491667347198</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7363605.post-112997674628895053</id><published>2005-10-22T18:16:00.000+08:00</published><updated>2005-10-22T18:25:46.293+08:00</updated><title type='text'>OzFoxRock!</title><content type='html'>Do you know &lt;a href="http://akselsoft.libsyn.com/"&gt;The FoxShow&lt;/a&gt;? It is VFP podcast.&lt;br /&gt;&lt;a href="http://www.ozfoxrocks.com/"&gt;OzFoxRock!&lt;/a&gt; is another VFP podcast, based in Australia.&lt;br /&gt;&lt;br /&gt;Fox Community Rock!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7363605-112997674628895053?l=ckkiet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ckkiet.blogspot.com/feeds/112997674628895053/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7363605&amp;postID=112997674628895053&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/112997674628895053'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/112997674628895053'/><link rel='alternate' type='text/html' href='http://ckkiet.blogspot.com/2005/10/ozfoxrock.html' title='OzFoxRock!'/><author><name>Chan Kok Kiet (John Jones)</name><uri>http://www.blogger.com/profile/06724992491667347198</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7363605.post-112968848612685088</id><published>2005-10-19T10:11:00.000+08:00</published><updated>2005-10-19T10:21:26.130+08:00</updated><title type='text'>SednaX</title><content type='html'>&lt;a href="http://www.sweetpotatosoftware.com/SPSBlog/default.aspx"&gt;Craig Boyd&lt;/a&gt; announced &lt;a href="http://www.gotdotnet.com/codegallery/codegallery.aspx?id=0826d7a6-1dab-4a71-8e70-f2170c3c1661"&gt;SednaX&lt;/a&gt; project and inviting all of VFP developers to join. The objective is to build tools, add-on for Visual FoxPro 9 and new Sedna features.&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Build by community and shared among community&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7363605-112968848612685088?l=ckkiet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ckkiet.blogspot.com/feeds/112968848612685088/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7363605&amp;postID=112968848612685088&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/112968848612685088'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/112968848612685088'/><link rel='alternate' type='text/html' href='http://ckkiet.blogspot.com/2005/10/sednax.html' title='SednaX'/><author><name>Chan Kok Kiet (John Jones)</name><uri>http://www.blogger.com/profile/06724992491667347198</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7363605.post-112881315487637273</id><published>2005-10-09T07:05:00.000+08:00</published><updated>2005-10-09T07:12:34.883+08:00</updated><title type='text'>First look at VFP Solution Explorer</title><content type='html'>Two months ago, Scott Scovell demo VFP solution explorer at Sydney UG. Now, that is &lt;a href="http://www.vfpsolutionexplorer.com"&gt;VFP Solution Explorer home page&lt;/a&gt;. Check out the screen shot.&lt;br /&gt;&lt;br /&gt;A new VFP utility tool FoxTab, part of SE project is released as Alpha version and available for download.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7363605-112881315487637273?l=ckkiet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ckkiet.blogspot.com/feeds/112881315487637273/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7363605&amp;postID=112881315487637273&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/112881315487637273'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/112881315487637273'/><link rel='alternate' type='text/html' href='http://ckkiet.blogspot.com/2005/10/first-look-at-vfp-solution-explorer.html' title='First look at VFP Solution Explorer'/><author><name>Chan Kok Kiet (John Jones)</name><uri>http://www.blogger.com/profile/06724992491667347198</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7363605.post-112841248475240945</id><published>2005-10-04T15:48:00.000+08:00</published><updated>2005-10-04T15:54:44.753+08:00</updated><title type='text'>INSERT xBase command</title><content type='html'>Few years ago, my colleague introduced me mystery INSERT xbase command that able to insert a record physically between two other records. I just unable to make it works after that.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.rickschummer.com/blog/"&gt;Rick Schummer&lt;/a&gt; tell you the answer.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7363605-112841248475240945?l=ckkiet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ckkiet.blogspot.com/feeds/112841248475240945/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7363605&amp;postID=112841248475240945&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/112841248475240945'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/112841248475240945'/><link rel='alternate' type='text/html' href='http://ckkiet.blogspot.com/2005/10/insert-xbase-command.html' title='INSERT xBase command'/><author><name>Chan Kok Kiet (John Jones)</name><uri>http://www.blogger.com/profile/06724992491667347198</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7363605.post-112841200581469228</id><published>2005-10-04T15:45:00.000+08:00</published><updated>2005-10-04T15:46:45.816+08:00</updated><title type='text'>What's New in Nine: Visual FoxPro's Latest Hits is online!</title><content type='html'>&lt;a href="http://foxcentral.net/microsoft/WhatsNewInVFP9.htm"&gt;What's New in Nine: Visual FoxPro's Latest Hits&lt;/a&gt; is online for FREE!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7363605-112841200581469228?l=ckkiet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ckkiet.blogspot.com/feeds/112841200581469228/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7363605&amp;postID=112841200581469228&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/112841200581469228'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/112841200581469228'/><link rel='alternate' type='text/html' href='http://ckkiet.blogspot.com/2005/10/whats-new-in-nine-visual-foxpros.html' title='What&apos;s New in Nine: Visual FoxPro&apos;s Latest Hits is online!'/><author><name>Chan Kok Kiet (John Jones)</name><uri>http://www.blogger.com/profile/06724992491667347198</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7363605.post-112841187959146614</id><published>2005-10-04T15:41:00.000+08:00</published><updated>2005-10-04T15:44:40.316+08:00</updated><title type='text'>New VFP MVP</title><content type='html'>&lt;a href="http://www.sweetpotatosoftware.com/SPSBlog/default.aspx"&gt;Craig Boyd&lt;/a&gt; as new VFP MVP. Congratulation! &lt;br /&gt;&lt;br /&gt;Check out Craig's blog, you may find alot of treasures from there.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7363605-112841187959146614?l=ckkiet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ckkiet.blogspot.com/feeds/112841187959146614/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7363605&amp;postID=112841187959146614&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/112841187959146614'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/112841187959146614'/><link rel='alternate' type='text/html' href='http://ckkiet.blogspot.com/2005/10/new-vfp-mvp.html' title='New VFP MVP'/><author><name>Chan Kok Kiet (John Jones)</name><uri>http://www.blogger.com/profile/06724992491667347198</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7363605.post-112756063429758214</id><published>2005-09-24T19:13:00.000+08:00</published><updated>2005-09-24T19:17:14.303+08:00</updated><title type='text'>VFP 9 SP1 beta released</title><content type='html'>VFP9 SP1 beta is now available for &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=1C06E35D-10A2-4A05-84FC-495B3A73ECF7&amp;displaylang=en"&gt;download&lt;/a&gt; at msdn.com. Full list of bug fixed could be found &lt;a href="http://www.microsoft.com/downloads/info.aspx?na=46&amp;p=1&amp;SrcDisplayLang=en&amp;SrcCategoryId=&amp;SrcFamilyId=1C06E35D-10A2-4A05-84FC-495B3A73ECF7&amp;u=http%3a%2f%2fdownload.microsoft.com%2fdownload%2fc%2f7%2fb%2fc7b400fa-ff4f-43d3-ada1-8d0ea0e6803e%2fVFP9BETA_BugFixList.txt"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7363605-112756063429758214?l=ckkiet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ckkiet.blogspot.com/feeds/112756063429758214/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7363605&amp;postID=112756063429758214&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/112756063429758214'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/112756063429758214'/><link rel='alternate' type='text/html' href='http://ckkiet.blogspot.com/2005/09/vfp-9-sp1-beta-released.html' title='VFP 9 SP1 beta released'/><author><name>Chan Kok Kiet (John Jones)</name><uri>http://www.blogger.com/profile/06724992491667347198</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7363605.post-112709264569006296</id><published>2005-09-19T09:12:00.000+08:00</published><updated>2005-09-19T09:17:25.696+08:00</updated><title type='text'>Drew Speedie Tragedy</title><content type='html'>Drew Speedie, the architect and primary developer of the Visual Maxframe Professional VFP framework and his son found dead under the bridge in Yellowstone Park. :'(&lt;br /&gt;&lt;br /&gt;Till now, Park is still seeking on how their died.&lt;br /&gt;&lt;br /&gt;[Source : &lt;a href="http://fox.wikis.com/wc.dll?Wiki~DrewSpeedieTragedy"&gt;Drew Speedie Tragedy&lt;/a&gt;]&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7363605-112709264569006296?l=ckkiet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ckkiet.blogspot.com/feeds/112709264569006296/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7363605&amp;postID=112709264569006296&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/112709264569006296'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/112709264569006296'/><link rel='alternate' type='text/html' href='http://ckkiet.blogspot.com/2005/09/drew-speedie-tragedy.html' title='Drew Speedie Tragedy'/><author><name>Chan Kok Kiet (John Jones)</name><uri>http://www.blogger.com/profile/06724992491667347198</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7363605.post-112677704670350040</id><published>2005-09-15T17:27:00.000+08:00</published><updated>2005-09-15T17:37:26.706+08:00</updated><title type='text'>Project LINQ</title><content type='html'>Native 'data engine' in .NET?&lt;br /&gt;Yag &lt;a href="http://blogs.msdn.com/vsdata/archive/2005/09/12/Announcing_Linq.aspx"&gt;blogged&lt;/a&gt;&lt;br /&gt;&lt;blockquote&gt;The Language Integrated Query framework (the LINQ Project) is a set of language extensions to C# and VB and a unified programming model that extends the .NET Framework to offer integrated querying for objects, databases and XML. Basically, instead of writing your queries in strings, you can now do them directly in the language of your choice.&lt;br /&gt;&lt;br /&gt;Dim SmallCountries = Select Country _&lt;br /&gt;From Country In Countries _&lt;br /&gt;Where Country.Population &lt; 1000000&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;This VB9 syntax look like SQL statement, and look similar as what we are doing now in VFP. I like it! However, C# is abit un-readable for me. Why? Is C developer using special way to read code?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7363605-112677704670350040?l=ckkiet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ckkiet.blogspot.com/feeds/112677704670350040/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7363605&amp;postID=112677704670350040&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/112677704670350040'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/112677704670350040'/><link rel='alternate' type='text/html' href='http://ckkiet.blogspot.com/2005/09/project-linq.html' title='Project LINQ'/><author><name>Chan Kok Kiet (John Jones)</name><uri>http://www.blogger.com/profile/06724992491667347198</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7363605.post-112452036551127664</id><published>2005-08-20T14:39:00.000+08:00</published><updated>2005-08-20T14:46:05.530+08:00</updated><title type='text'>GKK ProjectManager</title><content type='html'>An alternative project manager - GKK ProjectManager from Greg Green is avaiable for download via Universalthread download section. &lt;a href="http://www.universalthread.com/wconnect/wc.dll?LevelExtreme~2,2,28120"&gt;link&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This project manager combines a lot of the needed features found in separate tools such as built-in search, file compare, todo list, custom editors and more. Take a look at the &lt;a href="http://www.projectstreamer.com/users/aksel/GKKProject/GKKProject.html"&gt;screencast&lt;/a&gt; to learn how to use it.&lt;br /&gt;&lt;br /&gt;[Source :  &lt;a href="http://akselsoft.blogspot.com/2005/08/screencast-gkk-projectmanager.html#comments"&gt;Andrew MacNeill&lt;/a&gt;]&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7363605-112452036551127664?l=ckkiet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ckkiet.blogspot.com/feeds/112452036551127664/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7363605&amp;postID=112452036551127664&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/112452036551127664'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/112452036551127664'/><link rel='alternate' type='text/html' href='http://ckkiet.blogspot.com/2005/08/gkk-projectmanager.html' title='GKK ProjectManager'/><author><name>Chan Kok Kiet (John Jones)</name><uri>http://www.blogger.com/profile/06724992491667347198</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7363605.post-112451807930194458</id><published>2005-08-20T13:41:00.000+08:00</published><updated>2005-08-20T14:11:36.573+08:00</updated><title type='text'>Online Conference - The End</title><content type='html'>My four day .NET online training class has been ended. Frankly speaking, it is a great class. Good .NET framwork overview is delivered. The contents are easy to understand with simple example. Presenter's presentation is loud and clear. I would rate it 4 stars. I learn alot from the class.&lt;br /&gt;&lt;br /&gt;Anyhow, that are also some weaknesses. Beside of what I mentioned in &lt;a href="http://ckkiet.blogspot.com/2005/08/online-conference-part-ii.html#comments"&gt;Online Conference - Part II&lt;/a&gt;, :&lt;br /&gt;&lt;ol&gt;&lt;li&gt;We faced problem of phone dead. We lost presenter's voice sometime.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Presenter's screen "hang" at client site. Presenter got to create a new meeting and we got to re-join it. Some time was wasted here and cause we run out of time. I think it would be &lt;a href="http://www.gotomeeting.com/"&gt;gotomeeting.com&lt;/a&gt; technical problem.&lt;/li&gt;&lt;/ol&gt; More testing should be taken before the training go live!&lt;br /&gt;&lt;br /&gt;My wish list :&lt;br /&gt;&lt;ol&gt;&lt;li&gt;More similar online trainings (got practically would be the best) such as MM.NET course.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Organizer can provides recording service, allow attendees to download it for review later.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Having the conference in the morning (9am - 1pm EST), then I don't have to work "night shift". My local time is exactly twelve hours ahead of US -New York time. You can imagine I was attending training while my colleagues were sleeping sweetly. :'( &lt;/li&gt;&lt;/ol&gt;Conclusion, good experience!!!!!! Thank you.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7363605-112451807930194458?l=ckkiet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ckkiet.blogspot.com/feeds/112451807930194458/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7363605&amp;postID=112451807930194458&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/112451807930194458'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/112451807930194458'/><link rel='alternate' type='text/html' href='http://ckkiet.blogspot.com/2005/08/online-conference-end.html' title='Online Conference - The End'/><author><name>Chan Kok Kiet (John Jones)</name><uri>http://www.blogger.com/profile/06724992491667347198</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7363605.post-112446368901799094</id><published>2005-08-19T22:53:00.000+08:00</published><updated>2005-08-19T23:01:29.023+08:00</updated><title type='text'>Online Conference - Part II</title><content type='html'>I miss out my third day training class :(&lt;br /&gt;&lt;br /&gt;I never know that the conference access code is changing everyday. And, I didn't receive any email or notification about it. I suspected the email is filtered somewhere.&lt;br /&gt;&lt;br /&gt;Last night, I keep sending direct email to organizer and his company. Also, I make an international call to the organizer's company but no luck. I couldn't get them. Organizer noticed my email only after the class. Everything is over!&lt;br /&gt;&lt;br /&gt;From this lesson, I would suggest to ask for alternative way to contact organizer such as MSN/Yahoo messager ID, in case we need helps on connecting to the training.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7363605-112446368901799094?l=ckkiet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ckkiet.blogspot.com/feeds/112446368901799094/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7363605&amp;postID=112446368901799094&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/112446368901799094'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/112446368901799094'/><link rel='alternate' type='text/html' href='http://ckkiet.blogspot.com/2005/08/online-conference-part-ii.html' title='Online Conference - Part II'/><author><name>Chan Kok Kiet (John Jones)</name><uri>http://www.blogger.com/profile/06724992491667347198</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7363605.post-112435666961279848</id><published>2005-08-18T16:12:00.000+08:00</published><updated>2005-08-18T17:25:10.426+08:00</updated><title type='text'>Online Conference</title><content type='html'>I am attending online training - &lt;a href="http://www.oakleafsd.com/pgTraining_NETforVFP.htm"&gt;.NET for VFP developer&lt;/a&gt; for four days, from August 16-19 2005, 1-5pm EST.&lt;br /&gt;&lt;br /&gt;It is my first experienced online conference. It is a great. I learn alot not only about .NET framework. I do feel that the concept of online conference is workable. I wish VFP DevCon can be online either, especially good for peoples like me has no opportunity to attend DevCon live!&lt;br /&gt;&lt;br /&gt;There are some preparations need to be done to attend online conference :&lt;br /&gt;&lt;ol&gt;   &lt;li&gt;Check out the corresponding conference date and time at your location. Check out &lt;a href="http://www.timeanddate.com/worldclock/"&gt;The World Clock - Time Zones&lt;/a&gt; for more info.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Determine whether the conference organizer provides recording setup. You may appreciate it if you feel want to download and review the conference session later.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;What if conference organizer is not recording the session? Then it is important to get the permission from organizer in order for you to record it at your side. Get ready some of the software for recording. &lt;a href="http://www.camtasia.com/"&gt;Camtasia&lt;/a&gt; is a great recording tool that you can consider. Also, make sure you have enough hard disk spaces. Four hours conference may take out 800MB of spaces&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Some conference required conference joiner to dial call (international call, may be) in order to get voice (Just like this training). Check out the rate from your telekom. &lt;a href="http://www.skype.com/"&gt;Skype&lt;/a&gt; is a excellent tool to use for this purpose. The audio quality is good. Most importantly, it save you alot of money if you need to make international call. SkypeOut Rate is &lt;a href="http://www.skype.com/products/skypeout/rates/all_rates.html"&gt;here&lt;/a&gt;. You may required to have authenication upon calling in order to get into it. Download the latest version of Skype, currently is 1.3. Prior to Skype 1.3, you may not able to get the authenication done correctly at remote site.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Go to Volumn Control | Options | Properties, select you mixer device, recording option. Make sure Stereo Mix is selected. It is necessary to record audio, then only the speaker output could be recorded. Otherwise, you would need to place your microphone beside of speaker.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Get your microphone, speaker or headset ready.&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;Ok, go back for training! :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7363605-112435666961279848?l=ckkiet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ckkiet.blogspot.com/feeds/112435666961279848/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7363605&amp;postID=112435666961279848&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/112435666961279848'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/112435666961279848'/><link rel='alternate' type='text/html' href='http://ckkiet.blogspot.com/2005/08/online-conference.html' title='Online Conference'/><author><name>Chan Kok Kiet (John Jones)</name><uri>http://www.blogger.com/profile/06724992491667347198</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7363605.post-112397753732199393</id><published>2005-08-14T07:54:00.000+08:00</published><updated>2005-08-14T07:58:57.320+08:00</updated><title type='text'>New ReportPreview App for Visual FoxPro - Craig Boyd</title><content type='html'>Take a look &lt;a href="http://www.sweetpotatosoftware.com/SPSBlog/PermaLink,guid,26acb331-c0fa-4e67-bd06-bb7569e2a3a3.aspx"&gt;here&lt;/a&gt;, how to customize reportpreviewer.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7363605-112397753732199393?l=ckkiet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ckkiet.blogspot.com/feeds/112397753732199393/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7363605&amp;postID=112397753732199393&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/112397753732199393'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/112397753732199393'/><link rel='alternate' type='text/html' href='http://ckkiet.blogspot.com/2005/08/new-reportpreview-app-for-visual.html' title='New ReportPreview App for Visual FoxPro - Craig Boyd'/><author><name>Chan Kok Kiet (John Jones)</name><uri>http://www.blogger.com/profile/06724992491667347198</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7363605.post-112397703541546592</id><published>2005-08-14T07:43:00.000+08:00</published><updated>2005-08-14T07:50:35.420+08:00</updated><title type='text'>Skinning a form in Visual FoxPro - Craig Boyd</title><content type='html'>Check out this &lt;a href="http://www.sweetpotatosoftware.com/SPSBlog/PermaLink,guid,9a91dea3-6413-42e9-aeff-f0097937474d.aspx"&gt;simpler and straightforward way to skin VFP form&lt;/a&gt;. Download the &lt;a href="http://www.sweetpotatosoftware.com/files/greenscreen.zip"&gt;sample&lt;/a&gt;, and follow the intructions to skin form with your own skin.&lt;br /&gt;&lt;br /&gt;It only skin your form, but not other controls such as command button as &lt;a href="http://www.vfpskin.com.ar/"&gt;VFPSkin&lt;/a&gt; does.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7363605-112397703541546592?l=ckkiet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ckkiet.blogspot.com/feeds/112397703541546592/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7363605&amp;postID=112397703541546592&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/112397703541546592'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/112397703541546592'/><link rel='alternate' type='text/html' href='http://ckkiet.blogspot.com/2005/08/skinning-form-in-visual-foxpro-craig.html' title='Skinning a form in Visual FoxPro - Craig Boyd'/><author><name>Chan Kok Kiet (John Jones)</name><uri>http://www.blogger.com/profile/06724992491667347198</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7363605.post-112307864742660955</id><published>2005-08-03T22:14:00.000+08:00</published><updated>2005-08-03T22:17:27.426+08:00</updated><title type='text'>August 2005 - Letter from the Editor</title><content type='html'>it is online now!&lt;br /&gt;Exciting news, &lt;span style="font-style:italic;"&gt;Calvin will present the new language features being added to a future version of Visual Basic for data-centric .NET programming significantly based on Visual FoxPro technology in Southwest Fox 2005 conference!&lt;/span&gt;&lt;span style="font-weight:bold;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7363605-112307864742660955?l=ckkiet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ckkiet.blogspot.com/feeds/112307864742660955/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7363605&amp;postID=112307864742660955&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/112307864742660955'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/112307864742660955'/><link rel='alternate' type='text/html' href='http://ckkiet.blogspot.com/2005/08/august-2005-letter-from-editor.html' title='August 2005 - Letter from the Editor'/><author><name>Chan Kok Kiet (John Jones)</name><uri>http://www.blogger.com/profile/06724992491667347198</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7363605.post-112307846084582409</id><published>2005-08-03T22:03:00.000+08:00</published><updated>2005-08-03T22:14:20.850+08:00</updated><title type='text'>What's after VFP9?</title><content type='html'>David Stevenson - Editor of Foxtalk 2.0 had an interview with Alan Griver and Ken Levy regarding the future of VFP. &lt;a href="http://foxcentral.net/microsoft/VFPDevCon2005_Interview_AlanGriver_KenLevy.htm"&gt;Click here to read&lt;/a&gt;.&lt;br /&gt;Ken Levy and Alan Griver have clearly clarified the future of VFP. Conclusion, MS expect VFP developer to start using Windows more. .NET is the underlying platform for everything we’re doing over the next 10+ years.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7363605-112307846084582409?l=ckkiet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ckkiet.blogspot.com/feeds/112307846084582409/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7363605&amp;postID=112307846084582409&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/112307846084582409'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/112307846084582409'/><link rel='alternate' type='text/html' href='http://ckkiet.blogspot.com/2005/08/whats-after-vfp9.html' title='What&apos;s after VFP9?'/><author><name>Chan Kok Kiet (John Jones)</name><uri>http://www.blogger.com/profile/06724992491667347198</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7363605.post-112282133172347754</id><published>2005-07-31T22:45:00.000+08:00</published><updated>2005-07-31T22:48:51.730+08:00</updated><title type='text'>Spelling Checker for Visual FoxPro</title><content type='html'>A free and open source VFP project - &lt;a href="http://www.sweetpotatosoftware.com/SPSBlog/PermaLink,guid,8800bdb9-a9c2-484f-942f-6a08947d903a.aspx"&gt;Spelling Checker for Visual FoxPro&lt;/a&gt; created by &lt;a href="http://www.sweetpotatosoftware.com/SPSBlog/"&gt;Craig Boyd&lt;/a&gt; is now available for &lt;a href="http://www.sweetpotatosoftware.com/files/spellcheck.zip"&gt;download&lt;/a&gt;. You can download the dictionary &lt;a href="http://www.sweetpotatosoftware.com/files/dictlarge.zip"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Thank you Craig Boyd.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7363605-112282133172347754?l=ckkiet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ckkiet.blogspot.com/feeds/112282133172347754/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7363605&amp;postID=112282133172347754&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/112282133172347754'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/112282133172347754'/><link rel='alternate' type='text/html' href='http://ckkiet.blogspot.com/2005/07/spelling-checker-for-visual-foxpro.html' title='Spelling Checker for Visual FoxPro'/><author><name>Chan Kok Kiet (John Jones)</name><uri>http://www.blogger.com/profile/06724992491667347198</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7363605.post-112262101542871580</id><published>2005-07-29T14:55:00.000+08:00</published><updated>2005-07-29T15:10:15.443+08:00</updated><title type='text'>VFP Solution Explorer</title><content type='html'>Scott Scovell is working on VFP solution explorer, and Craig Bernston is going to the same direction as he mentioned before.&lt;br /&gt;&lt;br /&gt;Lets download this &lt;a href="http://www.svfpug.com.au/assets/2005Jul/SolutionExplorer/Solution%20Explorer%20Project.ppt"&gt;powerpoint&lt;/a&gt; to have a first look on Scott's Solution Explorer. It allows extensibility as much as possible, provides testing add-ins, deployment add-ins and etc.&lt;br /&gt;&lt;br /&gt;[Source :  &lt;a href="http://craigbailey.blogspot.com/"&gt;Craig Bailey's thoughts&lt;/a&gt;]&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7363605-112262101542871580?l=ckkiet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ckkiet.blogspot.com/feeds/112262101542871580/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7363605&amp;postID=112262101542871580&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/112262101542871580'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/112262101542871580'/><link rel='alternate' type='text/html' href='http://ckkiet.blogspot.com/2005/07/vfp-solution-explorer.html' title='VFP Solution Explorer'/><author><name>Chan Kok Kiet (John Jones)</name><uri>http://www.blogger.com/profile/06724992491667347198</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7363605.post-112104602978018627</id><published>2005-07-11T09:27:00.000+08:00</published><updated>2005-07-11T12:42:36.286+08:00</updated><title type='text'>DBF Support for Pocket PC</title><content type='html'>&lt;a href="http://akselsoft.blogspot.com/"&gt;Andrew MacNeill&lt;/a&gt; pointed out an interesting link - &lt;a href="http://www.fivetechsoft.com/english/fwppc.html"&gt;FiveWin for Pocket PC - FWPPC &lt;/a&gt;. It let us create true Pocket PC 32 bit applications for Microsoft Windows Mobile (Pocket PC and SmartPhone). Most importantly, &lt;span style="font-weight:bold;"&gt;it is OOP, xBase syntax and concept, supports DBF files and similar indexes (CDXs)&lt;/span&gt;. &lt;br /&gt;&lt;br /&gt;I have downloaded a few demo sample code from the website, and the syntax look very familiar with VFP one. Of course, I am expecting more here. Is it possible customize the compiler to match back to VFP syntax such as DBSeek() to SEEK(), DBCreate() to SQL-CREATE statement? How to subclass the UI control and etc? I hope to have more resource for this and willing to see any articles about it published in FPA/Foxtalk.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7363605-112104602978018627?l=ckkiet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ckkiet.blogspot.com/feeds/112104602978018627/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7363605&amp;postID=112104602978018627&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/112104602978018627'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/112104602978018627'/><link rel='alternate' type='text/html' href='http://ckkiet.blogspot.com/2005/07/dbf-support-for-pocket-pc.html' title='DBF Support for Pocket PC'/><author><name>Chan Kok Kiet (John Jones)</name><uri>http://www.blogger.com/profile/06724992491667347198</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7363605.post-112032167377582620</id><published>2005-07-03T00:24:00.000+08:00</published><updated>2005-07-03T00:27:53.780+08:00</updated><title type='text'>John Koziol is resigning from FoxTeam</title><content type='html'>John Koziol, Testing Engineer of FoxTeam announced to resign from FoxTeam and Microsoft effective July 15th and get back into the consulting world.&lt;br /&gt;&lt;br /&gt;Good Luck, John!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7363605-112032167377582620?l=ckkiet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ckkiet.blogspot.com/feeds/112032167377582620/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7363605&amp;postID=112032167377582620&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/112032167377582620'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/112032167377582620'/><link rel='alternate' type='text/html' href='http://ckkiet.blogspot.com/2005/07/john-koziol-is-resigning-from-foxteam.html' title='John Koziol is resigning from FoxTeam'/><author><name>Chan Kok Kiet (John Jones)</name><uri>http://www.blogger.com/profile/06724992491667347198</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7363605.post-111940212327042916</id><published>2005-06-22T08:54:00.000+08:00</published><updated>2005-06-22T09:02:03.273+08:00</updated><title type='text'>July 2005 - Letter from the Editor</title><content type='html'>It is an early coming letter from editor.&lt;br /&gt;Ken Levy [MS] mentioned that, Sedna = Extensibility, interoperability, and stability. However, UT member Jim Nelson think it should be &lt;span style="font-weight:bold;"&gt;S&lt;/span&gt;tability and &lt;span style="font-weight:bold;"&gt;E&lt;/span&gt;xploitation of &lt;span style="font-weight:bold;"&gt;d&lt;/span&gt;ot &lt;span style="font-weight:bold;"&gt;N&lt;/span&gt;et &lt;span style="font-weight:bold;"&gt;A&lt;/span&gt;rchitecture. &lt;g&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7363605-111940212327042916?l=ckkiet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ckkiet.blogspot.com/feeds/111940212327042916/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7363605&amp;postID=111940212327042916&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/111940212327042916'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/111940212327042916'/><link rel='alternate' type='text/html' href='http://ckkiet.blogspot.com/2005/06/july-2005-letter-from-editor.html' title='July 2005 - Letter from the Editor'/><author><name>Chan Kok Kiet (John Jones)</name><uri>http://www.blogger.com/profile/06724992491667347198</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7363605.post-111907674763006348</id><published>2005-06-18T14:31:00.000+08:00</published><updated>2005-06-18T14:39:07.636+08:00</updated><title type='text'>Channel 9 video on VFP 9.0 interop with VS 2005</title><content type='html'>Miss out Advisor DevCon for VFP keynote demo? A new &lt;a href="http://channel9.msdn.com/ShowPost.aspx?PostID=78519"&gt;Channel 9 Video&lt;/a&gt; posted, showing demos of new ideas for upcoming Sedna (see Microsoft Visual FoxPro Roadmap) as well as examples of usages of VFP 9.0 interop with .NET today by Ken Levy [MS]. These demos and a few others were shown in the keynote session at the recent Advisor DevCon for VFP.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7363605-111907674763006348?l=ckkiet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ckkiet.blogspot.com/feeds/111907674763006348/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7363605&amp;postID=111907674763006348&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/111907674763006348'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/111907674763006348'/><link rel='alternate' type='text/html' href='http://ckkiet.blogspot.com/2005/06/channel-9-video-on-vfp-90-interop-with.html' title='Channel 9 video on VFP 9.0 interop with VS 2005'/><author><name>Chan Kok Kiet (John Jones)</name><uri>http://www.blogger.com/profile/06724992491667347198</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7363605.post-111905438320061197</id><published>2005-06-18T08:22:00.000+08:00</published><updated>2005-06-19T20:05:24.503+08:00</updated><title type='text'>Another angle to see Sedna</title><content type='html'>Drew Speedie posts his thoughts about the &lt;a href="http://visionpace.typepad.com/visionpace/2005/06/visual_foxpro_w.html"&gt;VFP Roadmap on the Visionpace Blog&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;[Source : &lt;a href="http://www.blogger.com/comment.g?blogID=10906063&amp;postID=111902904709422376"&gt;Shedding Some Light&lt;/a&gt;]&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7363605-111905438320061197?l=ckkiet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ckkiet.blogspot.com/feeds/111905438320061197/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7363605&amp;postID=111905438320061197&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/111905438320061197'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/111905438320061197'/><link rel='alternate' type='text/html' href='http://ckkiet.blogspot.com/2005/06/another-angle-to-see-sedna.html' title='Another angle to see Sedna'/><author><name>Chan Kok Kiet (John Jones)</name><uri>http://www.blogger.com/profile/06724992491667347198</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7363605.post-111879886505867246</id><published>2005-06-15T09:23:00.000+08:00</published><updated>2005-06-15T09:27:45.063+08:00</updated><title type='text'>Andrew MacNeill show how to use CommandBars Library</title><content type='html'>&lt;a href="http://akselsoft.blogspot.com/"&gt;Andrew MacNeill&lt;/a&gt; created a &lt;a href="http://www.aksel.com/screencasts/commandbars.html"&gt;movie&lt;/a&gt; to show how to setup &lt;a href="http://www.arg.kirov.ru/products/cmdbars/index.aspx"&gt;CommandBars Library&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Thank you.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7363605-111879886505867246?l=ckkiet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ckkiet.blogspot.com/feeds/111879886505867246/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7363605&amp;postID=111879886505867246&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/111879886505867246'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/111879886505867246'/><link rel='alternate' type='text/html' href='http://ckkiet.blogspot.com/2005/06/andrew-macneill-show-how-to-use.html' title='Andrew MacNeill show how to use CommandBars Library'/><author><name>Chan Kok Kiet (John Jones)</name><uri>http://www.blogger.com/profile/06724992491667347198</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7363605.post-111872970165978879</id><published>2005-06-14T14:10:00.000+08:00</published><updated>2005-06-14T14:15:01.666+08:00</updated><title type='text'>Blog on DevCon keynote link</title><content type='html'>&lt;a href="http://www.bloglines.com/blog/AlexFeldstein?id=418"&gt;Alex Feldstein&lt;/a&gt;, &lt;a href="http://www.blogger.com/comment.g?blogID=13366864&amp;postID=111864645611230870"&gt;David Stevenson&lt;/a&gt; and &lt;a href="http://www.craigberntson.com/blog/blogger.asp"&gt;Craig&lt;/a&gt; has blogged about VFP DevCon keynote.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7363605-111872970165978879?l=ckkiet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ckkiet.blogspot.com/feeds/111872970165978879/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7363605&amp;postID=111872970165978879&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/111872970165978879'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/111872970165978879'/><link rel='alternate' type='text/html' href='http://ckkiet.blogspot.com/2005/06/blog-on-devcon-keynote-link.html' title='Blog on DevCon keynote link'/><author><name>Chan Kok Kiet (John Jones)</name><uri>http://www.blogger.com/profile/06724992491667347198</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7363605.post-111848829943037872</id><published>2005-06-11T19:06:00.000+08:00</published><updated>2005-06-11T19:11:39.433+08:00</updated><title type='text'>DevCon, one more time</title><content type='html'>VFP DevCon is at the corner. Many VFPer will be attending it on this coming Sunday such as David Stevenson, Andy Kramek and etc.&lt;br /&gt;&lt;br /&gt;I would not able to attend it again. Attend VFP DevCon is always my dream. It is my higest priority wish of year. I miss it again :(&lt;br /&gt;&lt;br /&gt;Anyway, I would keep checking blogs and UT forum to get the first hand DevCon news. :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7363605-111848829943037872?l=ckkiet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ckkiet.blogspot.com/feeds/111848829943037872/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7363605&amp;postID=111848829943037872&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/111848829943037872'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/111848829943037872'/><link rel='alternate' type='text/html' href='http://ckkiet.blogspot.com/2005/06/devcon-one-more-time.html' title='DevCon, one more time'/><author><name>Chan Kok Kiet (John Jones)</name><uri>http://www.blogger.com/profile/06724992491667347198</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7363605.post-111848796817868599</id><published>2005-06-11T18:46:00.000+08:00</published><updated>2005-06-11T19:06:08.186+08:00</updated><title type='text'>VFP 2005 survey results summary</title><content type='html'>Ken Levy [MS] just posted partial of the VFP 2005 survey result summary at UT, ProFox. According to him, Visual FoxPro survey online world-wide taken by 5600+ participants (over double that took the Visual FoxPro survey in 2002 and in 2003).&lt;br /&gt;&lt;pre&gt;51% have used Visual FoxPro over 10 years&lt;br /&gt;33% are now using Visual FoxPro 9.0&lt;br /&gt;75% integrate Office with Visual FoxPro apps&lt;br /&gt;31% plan to use VS.NET within next 2 years&lt;br /&gt;98% plan to be using Visual FoxPro within next 12 months&lt;br /&gt;80% small company,    68% mid-size,   27% enterprise&lt;br /&gt;71% maintaining apps, 69% new apps,   25% web apps&lt;br /&gt;89% DBFs,             55% SQL Server, 22% MSDE&lt;br /&gt;11% apps 1000+ users, 43% 100+,       30% under 25&lt;br /&gt;26% VS.NET,           21% XML WS,     25% ASP/ASP.NET, 35% COM&lt;br /&gt;20% VB6,              13% VB.NET,     12% C#,          10% Java, 8% C++&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;As we can see 51% of participants have been VFP developers for more than 10 years and 98% will still using VFP for next 2 years. Great! Fox community is strong!&lt;br /&gt;&lt;br /&gt;From the survery, seem like VFP built applications are rarely used in enterprise company. It mostly caused by "un-welcome" action from IT departments. However, recently I saw many companies actually don't care is it a VFP or .NET application. They want an application that able to solve their problem, that all! So, pls don't feel dissapointed.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7363605-111848796817868599?l=ckkiet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ckkiet.blogspot.com/feeds/111848796817868599/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7363605&amp;postID=111848796817868599&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/111848796817868599'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/111848796817868599'/><link rel='alternate' type='text/html' href='http://ckkiet.blogspot.com/2005/06/vfp-2005-survey-results-summary.html' title='VFP 2005 survey results summary'/><author><name>Chan Kok Kiet (John Jones)</name><uri>http://www.blogger.com/profile/06724992491667347198</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7363605.post-111828018891145320</id><published>2005-06-09T09:18:00.000+08:00</published><updated>2005-06-09T09:23:08.916+08:00</updated><title type='text'>Sedna is not at the end of galaxy</title><content type='html'>As I blogged &lt;a href="http://ckkiet.blogspot.com/2005/06/microsoft-visual-foxpro-roadmap.html#comments"&gt;here&lt;/a&gt;, recently announched VFP roadmap make many peoples think that Sedna is the end of VFP road. Ken Levy [MS], try to correct this misunderstanding at &lt;a href="http://www.universalthread.com"&gt;UT&lt;/a&gt; forum.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;while we do not have specific plans for Visual FoxPro beyond Sedna, the roadmap does not close the door to Microsoft options to enhance Visual FoxPro beyond that.&lt;br /&gt;&lt;br /&gt;It is obvious that how we plan to enhance Visual FoxPro over the next few years is not traditional from the past new version updates. We have not decided on every little specific thing, we are still in early planning phase but we have a solid outline of our goals, guidelines, limitations, resources, and timelines. All of the packaging and naming details for Sedna will be determined closer to the time it is released in 2007, so there is some confusion on packaging since a lot of guessing and assumptions are being made at this time. The goal of the transparency efforts is to let people know what were are thinking, planning, doing, etc. on a regular basis going forward.&lt;br /&gt;&lt;br /&gt;We will continue to disclose more on a monthly basis. There are times when someone can re-phrase things in a negative way "like no new version" which has to be clarified. I believe Markus fully understands what our goals and objectives are for Sedna, I have talked to him at length about our plans recently. And while we are being transparent with our Visual FoxPro plans, we have to be cautious and sensitive to the Visual FoxPro job market, vendors, businesses, etc. which depend on Visual FoxPro long term.&lt;br /&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7363605-111828018891145320?l=ckkiet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ckkiet.blogspot.com/feeds/111828018891145320/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7363605&amp;postID=111828018891145320&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/111828018891145320'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/111828018891145320'/><link rel='alternate' type='text/html' href='http://ckkiet.blogspot.com/2005/06/sedna-is-not-at-end-of-galaxy.html' title='Sedna is not at the end of galaxy'/><author><name>Chan Kok Kiet (John Jones)</name><uri>http://www.blogger.com/profile/06724992491667347198</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7363605.post-111827925777050540</id><published>2005-06-09T09:04:00.000+08:00</published><updated>2005-06-09T09:17:43.770+08:00</updated><title type='text'>VFP features going to .NET (eWeek article)</title><content type='html'>Thank you David Stevenson for sharing this info.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.eweek.com/article2/0,1759,1825081,00.asp"&gt;http://www.eweek.com/article2/0,1759,1825081,00.asp&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;ources said high-level Microsoft architects are focusing on how "Orcas," the follow-on version of Visual Studio, will more easily and efficiently handle data via future versions of both Visual Basic and Visual C#. In fact, Anders Hejlsberg, a top Microsoft software architect, is working on Visual C# 3.0 and has produced compiler technology that accelerates data integration. &lt;span style="font-style:italic;"&gt;&lt;span style="font-weight:bold;"&gt;The Visual Basic team is working to deliver similar functionality, based on Microsoft's FoxPro technology base, sources said&lt;/span&gt;&lt;/span&gt;.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Even VFP.NET is no hope, but we still able to see the VFP "shadow" in VB.NET. Not a bad new!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7363605-111827925777050540?l=ckkiet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ckkiet.blogspot.com/feeds/111827925777050540/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7363605&amp;postID=111827925777050540&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/111827925777050540'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/111827925777050540'/><link rel='alternate' type='text/html' href='http://ckkiet.blogspot.com/2005/06/vfp-features-going-to-net-eweek.html' title='VFP features going to .NET (eWeek article)'/><author><name>Chan Kok Kiet (John Jones)</name><uri>http://www.blogger.com/profile/06724992491667347198</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7363605.post-111786347926959291</id><published>2005-06-04T13:01:00.000+08:00</published><updated>2005-06-04T13:37:59.276+08:00</updated><title type='text'>Sedna ideas requested</title><content type='html'>A new section Sedna has been created in &lt;a href="http://www.universalthread.com/"&gt;UT&lt;/a&gt; forum for us to post any feedback and idea of upcoming version of &lt;a href="http://msdn.microsoft.com/vfoxpro"&gt;VFP&lt;/a&gt;. Feel free to post your ideas.&lt;br /&gt;&lt;br /&gt;I am currently working on ASP.NET + VFP web application. Here are my wish list to Sedna :&lt;br /&gt;&lt;ol&gt;   &lt;li&gt;Ability to pass my cursor to .NET object method. Serialize my cursor to dataset or xml transparently and vice-versa.&lt;br /&gt;  &lt;/li&gt;   &lt;li&gt;Provide better COM interop help docs. For example, decimal data type should be used in .NET to store numeric return value from VFP object.&lt;/li&gt;   &lt;li&gt;COM debugger integrated with VS.NET environment. Support fix and continue.&lt;/li&gt;   &lt;li&gt;Ability to subclass .NET classes to have some un-existence feature in VFP such as developing multithreading application, ASP.NET WebApp, Windows Services, Web Services (without SOAP toolkit) and etc.&lt;br /&gt;  &lt;/li&gt; &lt;/ol&gt; I am not sure my wish list is practical and do able or not. But in my mind, I am thinking to use VFP to develop my core and use .NET to extend its capability.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7363605-111786347926959291?l=ckkiet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ckkiet.blogspot.com/feeds/111786347926959291/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7363605&amp;postID=111786347926959291&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/111786347926959291'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/111786347926959291'/><link rel='alternate' type='text/html' href='http://ckkiet.blogspot.com/2005/06/sedna-ideas-requested.html' title='Sedna ideas requested'/><author><name>Chan Kok Kiet (John Jones)</name><uri>http://www.blogger.com/profile/06724992491667347198</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7363605.post-111769365626951302</id><published>2005-06-02T14:17:00.000+08:00</published><updated>2005-06-02T17:07:41.783+08:00</updated><title type='text'>Microsoft Visual Foxpro Roadmap</title><content type='html'>&lt;a href="http://msdn.microsoft.com/vfoxpro/roadmap/"&gt;Microsoft Visual Foxpro roadmap&lt;/a&gt; is online, nothing special for me since Ken Levy already gave some hints in his blog.&lt;br /&gt;&lt;br /&gt;In fact, I just feel abit dissapointed at the beginning because it really seem like it is "The Last Fox" we may get. However, the enhancements mentioned are quite interesting either. VFP will be compatible with Longhorn with advanced features such as Indigo, Avalon and etc integrated.&lt;br /&gt;&lt;br /&gt;VFP seem to be dead soon. We have about 5 years time to learn for another development platform, .NET, python, Java or ... whatever. We better start learning from today.&lt;br /&gt;&lt;br /&gt;Anyhow, I will be using VFP as my core programming tool as much as possible because I still can't find any other tools that as flexible and easy to use as VFP.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0); font-style: italic;"&gt;Update&lt;/span&gt; : If VFP able to integrated with Avalon/XAML, does it meant we will be able to develop WebApp from VFP?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7363605-111769365626951302?l=ckkiet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ckkiet.blogspot.com/feeds/111769365626951302/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7363605&amp;postID=111769365626951302&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/111769365626951302'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/111769365626951302'/><link rel='alternate' type='text/html' href='http://ckkiet.blogspot.com/2005/06/microsoft-visual-foxpro-roadmap.html' title='Microsoft Visual Foxpro Roadmap'/><author><name>Chan Kok Kiet (John Jones)</name><uri>http://www.blogger.com/profile/06724992491667347198</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7363605.post-111769302338963729</id><published>2005-06-02T14:08:00.000+08:00</published><updated>2005-06-02T14:17:03.403+08:00</updated><title type='text'>.NET for Visual FoxPro Developers book online for free</title><content type='html'>If you haven't get this book, but insterested to look into it, now you can do so online for FREE at &lt;a href="http://foxcentral.net/microsoft/NETforVFPDevelopers.htm"&gt;here&lt;/a&gt; through the cooperation between Hentzenwerke Publishing, Microsoft Corporation, and the book author Kevin McNeish!&lt;br /&gt;&lt;br /&gt;It is HTML version. To order printed or PDF copy, visit &lt;a href="http://www.hentzenwerke.com/catalog/netvfp.htm"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7363605-111769302338963729?l=ckkiet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ckkiet.blogspot.com/feeds/111769302338963729/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7363605&amp;postID=111769302338963729&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/111769302338963729'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/111769302338963729'/><link rel='alternate' type='text/html' href='http://ckkiet.blogspot.com/2005/06/net-for-visual-foxpro-developers-book.html' title='.NET for Visual FoxPro Developers book online for free'/><author><name>Chan Kok Kiet (John Jones)</name><uri>http://www.blogger.com/profile/06724992491667347198</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7363605.post-111598940445346073</id><published>2005-05-13T21:03:00.000+08:00</published><updated>2005-05-13T21:03:24.460+08:00</updated><title type='text'>Update XML datasource, why does it different with other?</title><content type='html'>CursorAdapter and XMLAdapter were introduced in VFP8. However, I just try it out recently. I plan to use XML file as data source for my system configuration. Thank you Cetin Basoz for helping me to make my code works.&lt;br /&gt;&lt;pre&gt;CA=&lt;span style="color: rgb(51, 51, 255);"&gt;CREATEOBJECT&lt;/span&gt;(&lt;span style="color: rgb(255, 0, 0);"&gt;"CURSORADAPTER"&lt;/span&gt;)&lt;br /&gt;xa=&lt;span style="color: rgb(51, 51, 255);"&gt;CREATEOBJECT&lt;/span&gt;(&lt;span style="color: rgb(255, 0, 0);"&gt;"xmladapter"&lt;/span&gt;)&lt;br /&gt;xa.&lt;span style="color: rgb(51, 51, 255);"&gt;LoadXML&lt;/span&gt;(&lt;span style="color: rgb(255, 0, 0);"&gt;"myxml.xml"&lt;/span&gt;,.T.)&lt;br /&gt;ca.&lt;span style="color: rgb(51, 51, 255);"&gt;SelectCmd&lt;/span&gt;=&lt;span style="color: rgb(255, 0, 0);"&gt;"xa.tables.item(1)"&lt;/span&gt;&lt;br /&gt;ca.&lt;span style="color: rgb(51, 51, 255);"&gt;DataSourceType&lt;/span&gt;=&lt;span style="color: rgb(255, 0, 0);"&gt;"XML"&lt;/span&gt;&lt;br /&gt;ca.&lt;span style="color: rgb(51, 51, 255);"&gt;CursorFill&lt;/span&gt;() &lt;br /&gt;xa.&lt;span style="color: rgb(51, 51, 255);"&gt;Tables&lt;/span&gt;.&lt;span style="color: rgb(51, 51, 255);"&gt;Item&lt;/span&gt;(1).&lt;span style="color: rgb(51, 51, 255);"&gt;ToCursor&lt;/span&gt;()&lt;br /&gt;xa.&lt;span style="color: rgb(51, 51, 255);"&gt;ReleaseXML&lt;/span&gt;(.F.)&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;*-- Make some changes here&lt;/span&gt;&lt;br /&gt;xa.&lt;span style="color: rgb(51, 51, 255);"&gt;ToXML&lt;/span&gt;(&lt;span style="color: rgb(255, 0, 0);"&gt;'updated.xml'&lt;/span&gt;,&lt;span style="color: rgb(255, 0, 0);"&gt;''&lt;/span&gt;,.T.)&lt;br /&gt;&lt;/pre&gt;Why couldn't we just call &lt;span style="color: rgb(51, 51, 255);"&gt;TABLEUPDATE&lt;/span&gt;() to commit changes?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7363605-111598940445346073?l=ckkiet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ckkiet.blogspot.com/feeds/111598940445346073/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7363605&amp;postID=111598940445346073&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/111598940445346073'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/111598940445346073'/><link rel='alternate' type='text/html' href='http://ckkiet.blogspot.com/2005/05/update-xml-datasource-why-does-it.html' title='Update XML datasource, why does it different with other?'/><author><name>Chan Kok Kiet (John Jones)</name><uri>http://www.blogger.com/profile/06724992491667347198</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7363605.post-111598849804975338</id><published>2005-05-13T20:45:00.000+08:00</published><updated>2005-05-13T20:48:18.060+08:00</updated><title type='text'>VFP9 third party patch to work on NT4 released</title><content type='html'>Do you believe that the patch is relaesed by third party?&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;Here's the release information:&lt;br /&gt;&lt;span style="font-style:italic;"&gt;&lt;br /&gt;    "..a free patch for VFP 9.0 is available to run it on NT 4.0. The patch has been&lt;br /&gt;    created by the German FoxPro User Group (www.dfpug.de) and can be found at&lt;br /&gt;    the dFPUG document portal in the directory&lt;br /&gt;    http://portal.dfpug.de/dFPUG/Dokumente/Freeware/ so VFP-developers do not&lt;br /&gt;    need to wait any more to buy an update of VFP 9.0 if they or their customers&lt;br /&gt;    still use NT4.&lt;br /&gt;&lt;br /&gt;    Some Technical details what the patch program does:&lt;br /&gt;&lt;br /&gt;    1. vfp90nt4.dll is copied to Windows system directory&lt;br /&gt;    2. vfp9r.dll and vfp9t.dll in VFP-Runtime folder at "Shared Files" are&lt;br /&gt;    patched.&lt;br /&gt;    3. vfp9.exe in VFP-program directory is patched.&lt;br /&gt;    4. vfp9.exe, vfp9r.dll, vfp9t.dll in same directory are patched.&lt;br /&gt;    5. backup copies of all files are made (extension .001, .002 and so on)&lt;br /&gt;&lt;br /&gt;    A patched VFP9 file will run on any operating system as long as it can find&lt;br /&gt;    vfp90nt4.dll in the windows system directory or the current directory. The&lt;br /&gt;    patch program can be forwarded to users if needed but you are not allowed to&lt;br /&gt;    offer it as an [sic] own download - please link to the above mentionend [sic] directory&lt;br /&gt;    instead. Patching executables might cause problems with virus filters and/or&lt;br /&gt;    licence agreements. No garantues [sic] whatsoever for patch programs and results."&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;[Source : &lt;a href="http://www.bloglines.com/blog/AlexFeldstein?id=385"&gt;Alex Feldstein&lt;/a&gt;]&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7363605-111598849804975338?l=ckkiet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ckkiet.blogspot.com/feeds/111598849804975338/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7363605&amp;postID=111598849804975338&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/111598849804975338'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/111598849804975338'/><link rel='alternate' type='text/html' href='http://ckkiet.blogspot.com/2005/05/vfp9-third-party-patch-to-work-on-nt4.html' title='VFP9 third party patch to work on NT4 released'/><author><name>Chan Kok Kiet (John Jones)</name><uri>http://www.blogger.com/profile/06724992491667347198</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7363605.post-111598821670373300</id><published>2005-05-13T20:39:00.000+08:00</published><updated>2005-05-13T20:43:36.706+08:00</updated><title type='text'>Visual Foxpro 9.0 more SQL Server friendly</title><content type='html'>A news &lt;a href="http://searchsqlserver.techtarget.com/originalContent/0,289142,sid87_gci1087865,00.html"&gt;Visual Foxpro 9.0 more SQL Server friendly&lt;/a&gt; published at &lt;a href="http://searchsqlserver.techtarget.com/"&gt;SearchSQLServer.com&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-style:italic;"&gt;FoxPro now supports a lot of the SQL data types that it didn't support before.&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7363605-111598821670373300?l=ckkiet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ckkiet.blogspot.com/feeds/111598821670373300/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7363605&amp;postID=111598821670373300&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/111598821670373300'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/111598821670373300'/><link rel='alternate' type='text/html' href='http://ckkiet.blogspot.com/2005/05/visual-foxpro-90-more-sql-server.html' title='Visual Foxpro 9.0 more SQL Server friendly'/><author><name>Chan Kok Kiet (John Jones)</name><uri>http://www.blogger.com/profile/06724992491667347198</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7363605.post-111581891933532933</id><published>2005-05-11T21:38:00.000+08:00</published><updated>2005-05-11T21:41:59.456+08:00</updated><title type='text'>Free ebook - COM and .NET Interoperability</title><content type='html'>&lt;a href="http://www.apress.com"&gt;Apress Publishing&lt;/a&gt; has provided &lt;a href="http://www.theserverside.net/articles/showarticle.tss?id=ComAndDotNetInterop_Book&amp;News05_10_05-click"&gt;TheServerSide.NET with COM and .NET Interoperability&lt;/a&gt; for free download.&lt;br /&gt;&lt;br /&gt;Thank you Martín Salías for posting at &lt;a href="http://www.universalthread.com"&gt;UT&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7363605-111581891933532933?l=ckkiet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ckkiet.blogspot.com/feeds/111581891933532933/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7363605&amp;postID=111581891933532933&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/111581891933532933'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/111581891933532933'/><link rel='alternate' type='text/html' href='http://ckkiet.blogspot.com/2005/05/free-ebook-com-and-net.html' title='Free ebook - COM and .NET Interoperability'/><author><name>Chan Kok Kiet (John Jones)</name><uri>http://www.blogger.com/profile/06724992491667347198</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7363605.post-111542568331511996</id><published>2005-05-07T08:22:00.000+08:00</published><updated>2005-05-07T08:28:03.413+08:00</updated><title type='text'>May 2005 - Letter from the Editor is online!</title><content type='html'>May 2005 VFP Monthly Letter is online.  It &lt;span style="font-style:italic;"&gt;contains a summary of some recent Visual FoxPro news such as unofficial and partial result of VFP survery 2005.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-weight:bold;"&gt;Visual FoxPro team is busy working on future plans for Visual FoxPro to be announced next month&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Stay tuned!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7363605-111542568331511996?l=ckkiet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ckkiet.blogspot.com/feeds/111542568331511996/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7363605&amp;postID=111542568331511996&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/111542568331511996'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/111542568331511996'/><link rel='alternate' type='text/html' href='http://ckkiet.blogspot.com/2005/05/may-2005-letter-from-editor-is-online.html' title='May 2005 - Letter from the Editor is online!'/><author><name>Chan Kok Kiet (John Jones)</name><uri>http://www.blogger.com/profile/06724992491667347198</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7363605.post-111483633769968903</id><published>2005-04-30T12:34:00.000+08:00</published><updated>2005-04-30T12:45:37.700+08:00</updated><title type='text'>Bug tracking software</title><content type='html'>Kevin Wright posted url of bug tracking tool - Gemini &lt;a href="www.countersoft.com"&gt;www.countersoft.com&lt;/a&gt; at &lt;a href="http://www.universalthread.com"&gt;UT&lt;/a&gt; forum. Thank you for sharing.&lt;br /&gt;&lt;br /&gt;I have downloaded and installed it. I haven't go into deepth of this tool. I simply navigate to each page and seem it is very comprehensive and fullfil my requirements. The most impressive is, it is &lt;span style="font-weight:bold;"&gt;"FREE"&lt;/span&gt; :P&lt;br /&gt;&lt;br /&gt;It required Microsoft .Net Framework and SQL Server/MSDE to be installed.&lt;br /&gt;&lt;br /&gt;A brief features of Gemini listed in their web site :&lt;br /&gt;&lt;blockquote&gt;FREE  10-user license!&lt;br /&gt; ASP.NET web-based&lt;br /&gt; Maintain multiple projects&lt;br /&gt; Automatic project Change Log and Road Map&lt;br /&gt; Track issues by component and version&lt;br /&gt; Time tracking&lt;br /&gt; Source Code Control integration&lt;br /&gt; Event API&lt;br /&gt; Windows authentication support&lt;br /&gt; Web Services integration&lt;br /&gt; Custom fields support&lt;br /&gt; Support for FireFox browser, and more...&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Will post more after I wet my hands on it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7363605-111483633769968903?l=ckkiet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ckkiet.blogspot.com/feeds/111483633769968903/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7363605&amp;postID=111483633769968903&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/111483633769968903'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/111483633769968903'/><link rel='alternate' type='text/html' href='http://ckkiet.blogspot.com/2005/04/bug-tracking-software.html' title='Bug tracking software'/><author><name>Chan Kok Kiet (John Jones)</name><uri>http://www.blogger.com/profile/06724992491667347198</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7363605.post-111383175388930780</id><published>2005-04-18T21:32:00.000+08:00</published><updated>2005-04-18T21:42:33.890+08:00</updated><title type='text'>CTOD()</title><content type='html'>VFP CTOD() function converts a character expression to a date expression.&lt;br /&gt;Example :&lt;br /&gt;?CTOD('12/31/2005')&lt;br /&gt;&lt;br /&gt;Do you know what would be returned CTOD() if omitted year part of the character expression?&lt;br /&gt;Example :&lt;br /&gt;?CTOD('12/31')&lt;br /&gt;&lt;br /&gt;Let's try it out!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7363605-111383175388930780?l=ckkiet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ckkiet.blogspot.com/feeds/111383175388930780/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7363605&amp;postID=111383175388930780&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/111383175388930780'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/111383175388930780'/><link rel='alternate' type='text/html' href='http://ckkiet.blogspot.com/2005/04/ctod.html' title='CTOD()'/><author><name>Chan Kok Kiet (John Jones)</name><uri>http://www.blogger.com/profile/06724992491667347198</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7363605.post-111301960485780177</id><published>2005-04-09T11:54:00.000+08:00</published><updated>2005-04-09T12:06:44.856+08:00</updated><title type='text'>VS .NET documentation updated for VFP 9.0 language comparisons</title><content type='html'>Ken Levy, VFP Product Manager has &lt;a href="http://blogs.msdn.com/klevy/archive/2005/04/08/406409.aspx"&gt;blogged&lt;/a&gt; that all the descriptions and source code references for Visual FoxPro of &lt;a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vsintro7/html/vxorilanguageequivalentskeywords.asp"&gt;Keywords Compared in Different Languages&lt;/a&gt; has been updated to up to date and accurate relative to Visual FoxPro 9.0 - This topic lists common programming tasks that can be summarized with a language (VB, VJ#, C++, C#, JScript, and VFP) keyword.&lt;br /&gt;&lt;br /&gt;I visited the Keywords Compared in Different Languages link just now, but I still see some outdated info. For instance, VFP code reference is missing in &lt;a href="http://msdn.microsoft.com/library/en-us/vsintro7/html/vxgrfLanguageEquivalentsCodeExamples.asp?frame=true#vxgrflanguageequivalentscodeexamplesanchorstructuredexceptionhandling"&gt;Structured Exception Handling section&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Has the content of the link been updated? Is it Internet cache problem? Or, Am I getting problem with my eyes? :P&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7363605-111301960485780177?l=ckkiet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ckkiet.blogspot.com/feeds/111301960485780177/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7363605&amp;postID=111301960485780177&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/111301960485780177'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/111301960485780177'/><link rel='alternate' type='text/html' href='http://ckkiet.blogspot.com/2005/04/vs-net-documentation-updated-for-vfp.html' title='VS .NET documentation updated for VFP 9.0 language comparisons'/><author><name>Chan Kok Kiet (John Jones)</name><uri>http://www.blogger.com/profile/06724992491667347198</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7363605.post-111301778796012855</id><published>2005-04-09T11:22:00.000+08:00</published><updated>2005-04-09T11:36:27.960+08:00</updated><title type='text'>Foxtalk Online only subscription</title><content type='html'>&lt;a href="http://www.pinpub.com/ME2/Audiences/Default.asp"&gt;Foxtalk&lt;/a&gt; magazine has an new subcription option - Online Only. It is only $79 per year, 50% cheaper than print + online price.&lt;br /&gt;&lt;br /&gt;It is good for those who&lt;br /&gt;&lt;ol&gt;   &lt;li&gt;Prefer to  read magazine online instead of waiting the printed copy which may be delayed for few weeks or months or even missing (especially outside of US).&lt;/li&gt;   &lt;li&gt;Want to save money.&lt;/li&gt; &lt;/ol&gt; I think I will subscribe the Online Only package once my current print + online pakcage expired.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7363605-111301778796012855?l=ckkiet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ckkiet.blogspot.com/feeds/111301778796012855/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7363605&amp;postID=111301778796012855&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/111301778796012855'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/111301778796012855'/><link rel='alternate' type='text/html' href='http://ckkiet.blogspot.com/2005/04/foxtalk-online-only-subscription.html' title='Foxtalk Online only subscription'/><author><name>Chan Kok Kiet (John Jones)</name><uri>http://www.blogger.com/profile/06724992491667347198</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7363605.post-111274984692440871</id><published>2005-04-06T09:09:00.000+08:00</published><updated>2005-04-07T10:13:00.570+08:00</updated><title type='text'>FoxCast presentation on "Test Driven Development in VFP"</title><content type='html'>Another great &lt;a href="http://www.foxcast.org"&gt;Foxcast&lt;/a&gt; is coming soon! Register now.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;BurtRosen will do a FoxCast presentation on "Test Driven Development in VFP" on Tuesday, April 12 at 7:00 pm Eastern. You can register for this FoxCast at www.foxcast.org. Save time, money, and headaches by delivering solid code the first time! FoxUnit is a framework for doing Test Driven Development in a VFP environment. In this session, Burt will introduce you to Test Driven Development and how to use FoxUnit to implement TDD in your daily software development. You will see how the use of FoxUnit will actually save development time and result in cleaner, more dependable code. Burt will also show how you can use a testing framework to rapidly change or refactor your code without accidentally introducing bugs. This is not some theoretical idea. This is a practical way to vastly improve your software and slash debug time.&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7363605-111274984692440871?l=ckkiet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ckkiet.blogspot.com/feeds/111274984692440871/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7363605&amp;postID=111274984692440871&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/111274984692440871'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/111274984692440871'/><link rel='alternate' type='text/html' href='http://ckkiet.blogspot.com/2005/04/foxcast-presentation-on-test-driven.html' title='FoxCast presentation on &quot;Test Driven Development in VFP&quot;'/><author><name>Chan Kok Kiet (John Jones)</name><uri>http://www.blogger.com/profile/06724992491667347198</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7363605.post-111274965259868508</id><published>2005-04-06T09:01:00.000+08:00</published><updated>2005-04-06T09:07:32.600+08:00</updated><title type='text'>Visual FoxPro Survey 2005</title><content type='html'>&lt;blockquote&gt;&lt;span style="font-weight: bold;"&gt;Invitation to take the Visual FoxPro Survey 2005&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;   &lt;span style="font-style: italic;"&gt;The Visual FoxPro Team at Microsoft invites you to participate in our brief survey for Visual FoxPro. This survey only takes a few minutes to complete and you will have the opportunity to win a great prize. This is also a great opportunity for you to provide important information to Microsoft about your needs and usage of Visual FoxPro.&lt;br /&gt;&lt;br /&gt;   We encourage you to take a few moments and participate in the new survey at:&lt;br /&gt;&lt;br /&gt;   &lt;a href="http://www.researchhq.com/softdev/default.asp?name=site4"&gt;http://www.researchhq.com/softdev/default.asp?name=site4&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;As a thank you for your time, you will be entered in a prize drawing. There will be one prize of a free registration pass to Visual FoxPro DevCon 2005 worth over $1300, one cash prize of $500, and five cash prizes of $100. You must complete the survey by midnight on May 1st, 2005 to be eligible for the drawing. Winners will be notified by e-mail by May 13, 2005.&lt;br /&gt;&lt;br /&gt;Thank you for participating in this survey to assist Microsoft in better serving your needs of Visual FoxPro and other technologies.&lt;br /&gt;   &lt;br /&gt;   The Visual FoxPro Team&lt;br /&gt;   Microsoft&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;I have taken the survey, but not because of the prizes. I just want to tell FoxTeam that I am supporting VFP!&lt;br /&gt;&lt;br /&gt;Lets take the survey now!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7363605-111274965259868508?l=ckkiet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ckkiet.blogspot.com/feeds/111274965259868508/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7363605&amp;postID=111274965259868508&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/111274965259868508'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/111274965259868508'/><link rel='alternate' type='text/html' href='http://ckkiet.blogspot.com/2005/04/visual-foxpro-survey-2005.html' title='Visual FoxPro Survey 2005'/><author><name>Chan Kok Kiet (John Jones)</name><uri>http://www.blogger.com/profile/06724992491667347198</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7363605.post-111214863632191782</id><published>2005-03-30T10:08:00.000+08:00</published><updated>2005-03-30T10:10:36.320+08:00</updated><title type='text'>FoxCast Event - Getting the most out of IntelliSense</title><content type='html'>Another great &lt;a href="http://www.foxcast.org"&gt;Foxcast&lt;/a&gt; event on "Getting the most out of IntelliSense" on Thursday, April 21 at 7:00 pm Eastern by Visual FoxPro MVP Andy Kramek.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7363605-111214863632191782?l=ckkiet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ckkiet.blogspot.com/feeds/111214863632191782/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7363605&amp;postID=111214863632191782&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/111214863632191782'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/111214863632191782'/><link rel='alternate' type='text/html' href='http://ckkiet.blogspot.com/2005/03/foxcast-event-getting-most-out-of.html' title='FoxCast Event - Getting the most out of IntelliSense'/><author><name>Chan Kok Kiet (John Jones)</name><uri>http://www.blogger.com/profile/06724992491667347198</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7363605.post-111145328005412017</id><published>2005-03-22T08:58:00.000+08:00</published><updated>2005-03-22T09:02:54.773+08:00</updated><title type='text'>.NET crow surprised to know there is an xUnit tool for VFP! by msalias</title><content type='html'>&lt;blockquote&gt;Hi, everybody.&lt;br /&gt;&lt;br /&gt;Last Friday I presented a session on TDD at Microsoft Argentina, using nUnit and ReSharper. There were about 100 people there, and when I arrived to the slide on Unit Testing tools, where I listed tools for several platforms:&lt;br /&gt;&lt;br /&gt;jUnit for Java&lt;br /&gt;cppUnit for C++&lt;br /&gt;nUnit for .NET&lt;br /&gt;vbUnit for VB6&lt;br /&gt;FoxUnit for Visual FoxPro&lt;br /&gt;&lt;br /&gt;many people opened their eyes wide seeing VFP in the list. 8-)&lt;br /&gt;&lt;br /&gt;As usual, one of the guys asked me if FoxPro was still around, and everybody laughed when I told them that it was alive and kicking, and the really weird on this list was the VB6 tools.&lt;br /&gt;&lt;br /&gt;Aren't these moments great?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Martín Salías&lt;br /&gt;Buenos Aires, Argentina&lt;br /&gt;Microsoft MVP - www.Salias.com.ar&lt;/blockquote&gt;To view the complete thread and reply, please visit:&lt;br /&gt;&lt;a href="http://www.foxunit.org/default.aspx?tabid=42&amp;view=topic&amp;forumid=5&amp;postid=271"&gt;here&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7363605-111145328005412017?l=ckkiet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ckkiet.blogspot.com/feeds/111145328005412017/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7363605&amp;postID=111145328005412017&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/111145328005412017'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/111145328005412017'/><link rel='alternate' type='text/html' href='http://ckkiet.blogspot.com/2005/03/net-crow-surprised-to-know-there-is.html' title='.NET crow surprised to know there is an xUnit tool for VFP! by msalias'/><author><name>Chan Kok Kiet (John Jones)</name><uri>http://www.blogger.com/profile/06724992491667347198</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7363605.post-111086480385515829</id><published>2005-03-15T13:27:00.000+08:00</published><updated>2005-03-15T13:33:23.860+08:00</updated><title type='text'>FoxCast.org Event - Extending the VFP 9 Reporting System at Run-Time</title><content type='html'>An upcoming &lt;a href="https://secure.visionpace.com/webinars/WebinarSchedule.aspx?Mode=Dsp&amp;WebinarScheduleID=32"&gt;FoxCast.org Event - Extending the VFP 9 Reporting System at Run-Time&lt;/a&gt; is schduled to be lived on March 21, 2005 at 7:00 pm Eastern, presented by Doug Hennig of &lt;a href="http://www.stonefield.com/"&gt;Stonefield Systems Group Inc.&lt;/a&gt; and one of the authors &lt;a href="http://www.hentzenwerke.com/catalog/wnvfp9.htm"&gt;What's New in Nine: Visual FoxPro's Latest Hits&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I hope Doug Hennig will show us how to use reportlistener to convert VFP report to other report type such as PDF. At this moment, this topic only been discussed in user group meeting but not in any online article or magazine.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7363605-111086480385515829?l=ckkiet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ckkiet.blogspot.com/feeds/111086480385515829/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7363605&amp;postID=111086480385515829&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/111086480385515829'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/111086480385515829'/><link rel='alternate' type='text/html' href='http://ckkiet.blogspot.com/2005/03/foxcastorg-event-extending-vfp-9.html' title='FoxCast.org Event - Extending the VFP 9 Reporting System at Run-Time'/><author><name>Chan Kok Kiet (John Jones)</name><uri>http://www.blogger.com/profile/06724992491667347198</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7363605.post-111085208453442003</id><published>2005-03-15T09:57:00.000+08:00</published><updated>2005-03-15T10:06:04.576+08:00</updated><title type='text'>Robert Scoble wears a Visual FoxPro 9.0 shirt on the red couch</title><content type='html'>&lt;a href="http://scoble.weblogs.com/"&gt;Robert Scoble&lt;/a&gt; is sitting on the the &lt;a href="http://redcouch.typepad.com/"&gt;red couch&lt;/a&gt; working on his Tablet PC while &lt;a href="http://scobleizer.textamerica.com/?r=1678321"&gt;wearing the limited edition navy blue Visual FoxPro 9.0 polo shirt&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7363605-111085208453442003?l=ckkiet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ckkiet.blogspot.com/feeds/111085208453442003/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7363605&amp;postID=111085208453442003&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/111085208453442003'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/111085208453442003'/><link rel='alternate' type='text/html' href='http://ckkiet.blogspot.com/2005/03/robert-scoble-wears-visual-foxpro-90.html' title='Robert Scoble wears a Visual FoxPro 9.0 shirt on the red couch'/><author><name>Chan Kok Kiet (John Jones)</name><uri>http://www.blogger.com/profile/06724992491667347198</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7363605.post-111085112418786473</id><published>2005-03-15T09:19:00.000+08:00</published><updated>2005-03-15T09:49:19.870+08:00</updated><title type='text'>Visual FoxPro 9.0 Featured on Microsoft PressPass</title><content type='html'>&lt;span style="color: rgb(0, 0, 0);"&gt;A press announcement has been released called &lt;a href="http://www.microsoft.com/presspass/features/2005/mar05/03-14VFoxPro.asp"&gt;Developers Report on Power, Productivity and Extensibility of New Visual FoxPro 9.0&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;VFP is alway been considered as an "old" programming language, "outdated" technology. Many developers feel very suprise if they read any articles that mentioned VFP. They thought VFP is not longer in market. Some of them even NEVER heard of VFP. Many IT managers don't accept VFP written applications. Many customers are thinking that VFP written applications are "cheap". Only .NET, Java written applications are high end application.&lt;br /&gt;&lt;br /&gt;This &lt;a href="http://www.microsoft.com/presspass/features/2005/mar05/03-14VFoxPro.asp"&gt;press&lt;/a&gt; released by Microsoft mentioned some applications written using VFP 9.0. How does VFP 9.0 helps in their development and also end user. Whats so cool about VFP 9.0. Take a read!&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;VFP is not outdated technology!&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-style: italic;"&gt;VFP 9.0 in box&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.microsoft.com/presspass/images/gallery/boxshots/web/vfp9.jpg" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7363605-111085112418786473?l=ckkiet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ckkiet.blogspot.com/feeds/111085112418786473/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7363605&amp;postID=111085112418786473&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/111085112418786473'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/111085112418786473'/><link rel='alternate' type='text/html' href='http://ckkiet.blogspot.com/2005/03/visual-foxpro-90-featured-on-microsoft.html' title='Visual FoxPro 9.0 Featured on Microsoft PressPass'/><author><name>Chan Kok Kiet (John Jones)</name><uri>http://www.blogger.com/profile/06724992491667347198</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7363605.post-111003307958762322</id><published>2005-03-05T22:09:00.000+08:00</published><updated>2005-03-08T09:17:13.950+08:00</updated><title type='text'>Quick &amp; Dirty Hook Program</title><content type='html'>Most of the time, we need hook(s) to allow custom program to be run before/after certain process. There are many ways to accomplish it in VFP, ex. add-in manager (as class browser does), &lt;span style="color: rgb(51, 51, 255);"&gt;EXECSCRIPT&lt;/span&gt;() to run code stored in memo field or external app.&lt;br /&gt;&lt;br /&gt;However, we need some time to design and implement add-in manager. Also, &lt;span style="color: rgb(51, 51, 255);"&gt;EXECSCRIPT&lt;/span&gt;() function only available in VFP8 and later. A quick and dirty way to do this is to create an external .app and call it using &lt;span style="color: rgb(51, 51, 255);"&gt;DO&lt;/span&gt; statement.&lt;br /&gt;&lt;pre&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;IF FILE&lt;/span&gt;("&lt;span style="color: rgb(255, 0, 0);"&gt;premyprcs.app&lt;/span&gt;")&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;DO&lt;/span&gt; ("&lt;span style="color: rgb(255, 0, 0);"&gt;premyprcs&lt;/span&gt;") &lt;span style="color: rgb(51, 51, 255);"&gt;WITH&lt;/span&gt; &lt;span style="color: rgb(204, 51, 204);"&gt;para1&lt;/span&gt;, &lt;span style="color: rgb(204, 51, 204);"&gt;para2&lt;/span&gt;, ...&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;ENDIF&lt;/span&gt;&lt;/pre&gt;The downside of doing this is we can't return value from external .app to report status. The workaround is, pass an additional parameter by reference and assign the return value to it within the external .app.&lt;br /&gt;&lt;br /&gt;BTW, remember to use &lt;span style="color: rgb(51, 51, 255); font-style: italic;"&gt;DO&lt;/span&gt;&lt;span style="font-style: italic;"&gt; ("&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0); font-style: italic;"&gt;premyprcs&lt;/span&gt;&lt;span style="font-style: italic;"&gt;")&lt;/span&gt; instead of &lt;span style="color: rgb(51, 51, 255); font-style: italic;"&gt;DO&lt;/span&gt;&lt;span style="font-style: italic;"&gt; &lt;/span&gt;&lt;span style="color: rgb(204, 51, 204); font-style: italic;"&gt;premyprcs&lt;/span&gt; to prevent VFP project manager to search for the external .app file and return error during compilation.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7363605-111003307958762322?l=ckkiet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ckkiet.blogspot.com/feeds/111003307958762322/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7363605&amp;postID=111003307958762322&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/111003307958762322'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/111003307958762322'/><link rel='alternate' type='text/html' href='http://ckkiet.blogspot.com/2005/03/quick-dirty-hook-program.html' title='Quick &amp; Dirty Hook Program'/><author><name>Chan Kok Kiet (John Jones)</name><uri>http://www.blogger.com/profile/06724992491667347198</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7363605.post-110929365999849879</id><published>2005-02-25T09:03:00.000+08:00</published><updated>2005-02-25T09:07:40.000+08:00</updated><title type='text'>O/R Mappers and Code Generators</title><content type='html'>Here is &lt;a href="http://blog.hundhausen.com/PermaLink.aspx?guid=4c0b610f-46a6-41e4-9635-a582fde8a0fc"&gt;List of ORM tools, code generators and related stuff&lt;/a&gt; shared by &lt;a href="http://www.lhotka.net/WeBlog/"&gt;Rockford Lhotka&lt;/a&gt;. Hope it helps for anyone who is looking for framework of .NET framework.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7363605-110929365999849879?l=ckkiet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ckkiet.blogspot.com/feeds/110929365999849879/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7363605&amp;postID=110929365999849879&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/110929365999849879'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/110929365999849879'/><link rel='alternate' type='text/html' href='http://ckkiet.blogspot.com/2005/02/or-mappers-and-code-generators.html' title='O/R Mappers and Code Generators'/><author><name>Chan Kok Kiet (John Jones)</name><uri>http://www.blogger.com/profile/06724992491667347198</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7363605.post-110829404037477208</id><published>2005-02-13T19:20:00.000+08:00</published><updated>2005-02-13T19:27:20.376+08:00</updated><title type='text'>Comparing Web Connection and ASP + COM by Rick Strahl</title><content type='html'>&lt;a href="http://west-wind.com/weblog/"&gt;Rick Strahl&lt;/a&gt; has posted a blog entry that &lt;a href="http://west-wind.com/weblog/posts/1475.aspx"&gt;Comparing Web Connection and ASP + COM&lt;/a&gt;. It also contains some info about background architecture of ASP, COM and &lt;a href="http://west-wind.com/webconnection/"&gt;WebConnect&lt;/a&gt;. Also, it mentioned some performance improvement of COM using &lt;a href="http://msdn.microsoft.com/vfoxpro"&gt;VFP9&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7363605-110829404037477208?l=ckkiet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ckkiet.blogspot.com/feeds/110829404037477208/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7363605&amp;postID=110829404037477208&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/110829404037477208'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/110829404037477208'/><link rel='alternate' type='text/html' href='http://ckkiet.blogspot.com/2005/02/comparing-web-connection-and-asp-com.html' title='Comparing Web Connection and ASP + COM by Rick Strahl'/><author><name>Chan Kok Kiet (John Jones)</name><uri>http://www.blogger.com/profile/06724992491667347198</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7363605.post-110808547111071754</id><published>2005-02-11T09:27:00.000+08:00</published><updated>2005-02-11T11:04:37.266+08:00</updated><title type='text'>Book : What's New in Nine Is Released</title><content type='html'>&lt;blockquote&gt;"What's New in Nine: Visual FoxPro's Latest Hits" by Tamar E. Granor, Doug Hennig, Rick Schummer, Toni Feltman and Jim Slater is at the printer and will be shipping on February 26. The final ebook will be available for download on Sunday, February 13. &lt;br /&gt;&lt;br /&gt;Sample chapters, detailed table of contents, index, and ordering info available&lt;br /&gt;at:&lt;br /&gt;  &lt;a href="http://www.hentzenwerke.com/catalog/wnvfp9.htm"&gt;http://www.hentzenwerke.com/catalog/wnvfp9.htm&lt;/a&gt;&lt;/blockquote&gt;&lt;br /&gt;[Source : Hentzenwerke Publishing NewsLetter]&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7363605-110808547111071754?l=ckkiet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ckkiet.blogspot.com/feeds/110808547111071754/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7363605&amp;postID=110808547111071754&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/110808547111071754'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/110808547111071754'/><link rel='alternate' type='text/html' href='http://ckkiet.blogspot.com/2005/02/book-whats-new-in-nine-is-released.html' title='Book : What&apos;s New in Nine Is Released'/><author><name>Chan Kok Kiet (John Jones)</name><uri>http://www.blogger.com/profile/06724992491667347198</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7363605.post-110793434219121059</id><published>2005-02-09T15:11:00.000+08:00</published><updated>2005-02-09T15:34:27.483+08:00</updated><title type='text'>SQL Server, why do you block me?</title><content type='html'>Our tester complaint that our latest client server application hang. It happens if more than one user access the same record, ex. UserA and UserB. Once userA lookup record1, modify it and then save it. UserB will not able to access the same record anymore unless UserA exit from his application.&lt;br /&gt;&lt;br /&gt;After some observation, we found that UserA process locked record1 and UserB is waiting for it. Since we use the default lock_timeout (wait infinite), so no error returned.&lt;br /&gt;&lt;br /&gt;The application is written using VFP8 SP1, remote view with optimistic table buffering, automatic trasaction. We can't see anything could cause this problem. By using SQL Server Enterprise, we figure out the table and key being locked. After some trial and error, we able to solve it finally. However, we still not sure why!&lt;br /&gt;&lt;br /&gt;The cause of problem is, we tried to requery the remote view in form.refresh(). In fact, this remote is not used during refresh but only useful in post save event. We moved out the requery code from form.refresh to post save event then it works fine.&lt;br /&gt;&lt;br /&gt;Of course, what we did is not a good programming practise. But, why it could happen?&lt;br /&gt;&lt;br /&gt;From forum, some members mentioned that using remote view with table buffering would cause such problem. I couldn't find any related info from VFP help and also &lt;a href="http://www.hentzenwerke.com/catalog/csvfp.htm"&gt;Client-Server Applications with Visual FoxPro and SQL Server 7.0&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Any advise?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7363605-110793434219121059?l=ckkiet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ckkiet.blogspot.com/feeds/110793434219121059/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7363605&amp;postID=110793434219121059&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/110793434219121059'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/110793434219121059'/><link rel='alternate' type='text/html' href='http://ckkiet.blogspot.com/2005/02/sql-server-why-do-you-block-me.html' title='SQL Server, why do you block me?'/><author><name>Chan Kok Kiet (John Jones)</name><uri>http://www.blogger.com/profile/06724992491667347198</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7363605.post-110784217884734034</id><published>2005-02-08T13:29:00.000+08:00</published><updated>2005-02-08T14:00:41.693+08:00</updated><title type='text'>Not enough memory? Why do you need so much?</title><content type='html'>Just few minutes ago, I solved the problem of getting error &lt;blockquote&gt;"Error Loading File ... Parent : Not enough memory to complete this operation"&lt;/blockquote&gt; when I try modify form.&lt;br /&gt;&lt;br /&gt;After few hours researching at forum, google and discussion with colleagues, we know what is the mistake. It is because of cycling reference.&lt;br /&gt;&lt;br /&gt;Don't know how, one of the class in my form subclass from a class that subclass itself.&lt;br /&gt;&lt;pre&gt;ClassA-&gt;Superclass-&gt;ClassA-&gt;Superclass ... &lt;/pre&gt; It is a infinite reference.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Ok, the error message is "correct", since cycling reference may take out all the memory. However, I do hope more helpful error message. At least it should be like class browser which able to catch this exception, prompt me unable to display hierarchy, class name and parent class. Then we won't waste our time to guess what is going on.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7363605-110784217884734034?l=ckkiet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ckkiet.blogspot.com/feeds/110784217884734034/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7363605&amp;postID=110784217884734034&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/110784217884734034'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/110784217884734034'/><link rel='alternate' type='text/html' href='http://ckkiet.blogspot.com/2005/02/not-enough-memory-why-do-you-need-so.html' title='Not enough memory? Why do you need so much?'/><author><name>Chan Kok Kiet (John Jones)</name><uri>http://www.blogger.com/profile/06724992491667347198</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7363605.post-110766166926449181</id><published>2005-02-06T11:10:00.000+08:00</published><updated>2005-02-06T11:47:49.263+08:00</updated><title type='text'>Where to get COM Automation class definition?</title><content type='html'>VFP intellisense is a great feature that allow us to get list of object PEM easily. It is helpful especially in COM automation. Beside, VFP also has object browser which we can get rid of PEM, constant, class, enum and etc. But, where to get the class deinifition to initialize COM object for example MS Word (Word.Application), SourceSafe (SourceSafe) and etc?&lt;br /&gt;&lt;br /&gt;Without knowing the class definition, Intellisense and object browser is useless becuase we can't even initialize it. I know that is web site such as &lt;a href="http://fox.wikis.com/wc.dll?Wiki~AutomationObjects~SoftwareEng"&gt;http://fox.wikis.com/wc.dll?Wiki~AutomationObjects~SoftwareEng&lt;/a&gt; listed out some popular COM automation class defiition. However, why doesn't VFP provide feature like VB, which able to manipulate COM object directly? At least, VFP should provide a way for us to get know of the class definition that we can follow or drag and drop from object browser. &lt;br /&gt;&lt;br /&gt;Am I miss out the feature? Else, I hope this feature would be available soon.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7363605-110766166926449181?l=ckkiet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ckkiet.blogspot.com/feeds/110766166926449181/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7363605&amp;postID=110766166926449181&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/110766166926449181'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/110766166926449181'/><link rel='alternate' type='text/html' href='http://ckkiet.blogspot.com/2005/02/where-to-get-com-automation-class.html' title='Where to get COM Automation class definition?'/><author><name>Chan Kok Kiet (John Jones)</name><uri>http://www.blogger.com/profile/06724992491667347198</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7363605.post-110765934399907002</id><published>2005-02-06T11:05:00.000+08:00</published><updated>2005-02-06T11:09:04.000+08:00</updated><title type='text'>Nice Article from Eric Sink</title><content type='html'>&lt;a href="http://software.ericsink.com/"&gt;Eric Sink&lt;/a&gt;'s latest Business of Software &lt;a href="http://msdn.microsoft.com/longhorn/default.aspx?pull=/library/en-us/dnsoftware/html/software02052005.asp"&gt;article&lt;/a&gt; is available on MSDN online now. Good read!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7363605-110765934399907002?l=ckkiet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ckkiet.blogspot.com/feeds/110765934399907002/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7363605&amp;postID=110765934399907002&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/110765934399907002'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/110765934399907002'/><link rel='alternate' type='text/html' href='http://ckkiet.blogspot.com/2005/02/nice-article-from-eric-sink.html' title='Nice Article from Eric Sink'/><author><name>Chan Kok Kiet (John Jones)</name><uri>http://www.blogger.com/profile/06724992491667347198</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7363605.post-110710065653550379</id><published>2005-01-30T23:36:00.000+08:00</published><updated>2005-01-30T23:59:54.550+08:00</updated><title type='text'>Missing feature of VFP web tools</title><content type='html'>There are couples of 3rd party VFP web tools available in market. &lt;a href="http://fox.wikis.com/wc.dll?Wiki%7EComparisonOfVFPWebTools"&gt;Comparison Of VFP Web Tools&lt;/a&gt; can be found at &lt;a href="http://fox.wikis.com/"&gt;Fox Wikis&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Each of the VFP web tools have its own strength and weakness. They focus on middle and backend. Only &lt;a href="http://www.eps-software.com/voodoo/"&gt;Voodoo web controls&lt;/a&gt; from &lt;a href="http://www.eps-software.com/"&gt;EPS&lt;/a&gt; focus on UI layer. Why doesn't other web tools vendor like web UI control? &lt;br /&gt;&lt;br /&gt;Voodoo allows developer to reuse the UI code, but still need to write many code. Also, as mentioned in my &lt;a href="http://ckkiet.blogspot.com/2005/01/visual-extend-90-and-afp.html"&gt;previous post&lt;/a&gt;, VFX has a new AFP builder to generate HTML from VFP form. It is a greate feature, but still not enough.&lt;br /&gt;&lt;br /&gt;I do feel that it still miss out one important feature, that is Visual designer. With visual designer like ASP.NET, it would make VFP web apps developer life easier. Is it a hard work?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7363605-110710065653550379?l=ckkiet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ckkiet.blogspot.com/feeds/110710065653550379/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7363605&amp;postID=110710065653550379&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/110710065653550379'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/110710065653550379'/><link rel='alternate' type='text/html' href='http://ckkiet.blogspot.com/2005/01/missing-feature-of-vfp-web-tools.html' title='Missing feature of VFP web tools'/><author><name>Chan Kok Kiet (John Jones)</name><uri>http://www.blogger.com/profile/06724992491667347198</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7363605.post-110709935134927694</id><published>2005-01-30T23:19:00.000+08:00</published><updated>2005-01-30T23:35:51.350+08:00</updated><title type='text'>Visual Extend 9.0 and AFP</title><content type='html'>&lt;a href="http://www.visualextend.com/visualextend_en/default.htm"&gt;Visual Extend (VFX)&lt;/a&gt; - one of the most popular VFP framework owned by the &lt;a href="http://www.dfpug.de/"&gt;FoxPro User Group of German language Inc., dFPUG&lt;/a&gt; has released latest version VFX 9.0. You can get &lt;a href="http://www.visualextend.com/visualextend_en/advertise.htm"&gt;some infos for the latest version&lt;/a&gt; and &lt;a href="http://files.visualextend.de/files90/VFX90Setup.exe"&gt;download&lt;/a&gt; it.&lt;br /&gt;&lt;br /&gt;One of the enhancements I excited would be &lt;span style="font-weight: bold;"&gt;AFP-Builder for HTML generation&lt;/span&gt;. As I remember, one of the dFPUG members used to mention that, this new builder would be able to generate HTML from VFP form. Don't you think it is amazing? However, it would not be sold as seperate products. In other word, only VFX 9.0 users have chance to use it. :(&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7363605-110709935134927694?l=ckkiet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ckkiet.blogspot.com/feeds/110709935134927694/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7363605&amp;postID=110709935134927694&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/110709935134927694'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/110709935134927694'/><link rel='alternate' type='text/html' href='http://ckkiet.blogspot.com/2005/01/visual-extend-90-and-afp.html' title='Visual Extend 9.0 and AFP'/><author><name>Chan Kok Kiet (John Jones)</name><uri>http://www.blogger.com/profile/06724992491667347198</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7363605.post-110698907868975283</id><published>2005-01-29T16:49:00.000+08:00</published><updated>2005-01-29T19:16:23.596+08:00</updated><title type='text'>VFP web site is updated</title><content type='html'>As promised by Ken Levy [MS], &lt;a href="http://msdn.microsoft.com/vfoxpro"&gt;VFP web site&lt;/a&gt; is updated. Link VFP9 related articles and  resources are posted.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/vfoxpro/letters/"&gt;January Monthly Letter&lt;/a&gt; is released but not much info. More content and news will be posted in Febuary according to the letter. Hope we don't have to wait for too long.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7363605-110698907868975283?l=ckkiet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ckkiet.blogspot.com/feeds/110698907868975283/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7363605&amp;postID=110698907868975283&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/110698907868975283'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/110698907868975283'/><link rel='alternate' type='text/html' href='http://ckkiet.blogspot.com/2005/01/vfp-web-site-is-updated.html' title='VFP web site is updated'/><author><name>Chan Kok Kiet (John Jones)</name><uri>http://www.blogger.com/profile/06724992491667347198</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7363605.post-110638774895211584</id><published>2005-01-22T17:51:00.000+08:00</published><updated>2005-01-23T09:02:08.886+08:00</updated><title type='text'>Best Solution for VFP Web Apps</title><content type='html'>&lt;span style="color: rgb(255, 0, 0);"&gt;[Edited]&lt;/span&gt; Calvin Hsia's contention is that the best solution for vfp web apps as far as performance and ease of use and installation is to go with VFP mtdlls(&lt;a href="http://www.activevfp.com/"&gt;ActiveVFP&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;[Source : &lt;a href="http://fox.wikis.com/wc.dll?Wiki%7EComparisonOfVFPWebTools"&gt;Camparison of VFP Web Tools&lt;/a&gt;]&lt;br /&gt;&lt;br /&gt;However, I do feel that each of VFP web tools in market have their own strength. For example the ability to debug and run VFP web apps within VFP IDE by &lt;a href="http://www.afp.de/"&gt;AFP&lt;/a&gt;. So, try it before make any decisions. Everybody has their oen preferences.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7363605-110638774895211584?l=ckkiet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ckkiet.blogspot.com/feeds/110638774895211584/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7363605&amp;postID=110638774895211584&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/110638774895211584'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/110638774895211584'/><link rel='alternate' type='text/html' href='http://ckkiet.blogspot.com/2005/01/best-solution-for-vfp-web-apps.html' title='Best Solution for VFP Web Apps'/><author><name>Chan Kok Kiet (John Jones)</name><uri>http://www.blogger.com/profile/06724992491667347198</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7363605.post-110631331218906212</id><published>2005-01-21T21:12:00.000+08:00</published><updated>2005-01-21T21:15:12.190+08:00</updated><title type='text'>"What's New In Nine" Shipping in Early February</title><content type='html'>I have long waited for this &lt;a href="http://www.hentzenwerke.com/catalog/wnvfp9.htm"&gt;book&lt;/a&gt;. Happy to able to get it soon.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7363605-110631331218906212?l=ckkiet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ckkiet.blogspot.com/feeds/110631331218906212/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7363605&amp;postID=110631331218906212&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/110631331218906212'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/110631331218906212'/><link rel='alternate' type='text/html' href='http://ckkiet.blogspot.com/2005/01/whats-new-in-nine-shipping-in-early.html' title='&quot;What&apos;s New In Nine&quot; Shipping in Early February'/><author><name>Chan Kok Kiet (John Jones)</name><uri>http://www.blogger.com/profile/06724992491667347198</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7363605.post-110630604639617170</id><published>2005-01-21T19:01:00.000+08:00</published><updated>2005-01-21T19:15:14.936+08:00</updated><title type='text'>GOF's Design Patterns Book - 2nd Edition</title><content type='html'>Bestseller computer book &lt;span style="font-weight:bold;"&gt;Design Patterns: Elements of Reusable Object-Oriented Software&lt;/span&gt; by Gang of Four is in the progress to publish 2nd Edition.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.devx.com/DevX/Article/26755"&gt;Link&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I hope they would use simpler/plain english for 2nd Edition. It would make readers who not good in english like me able to understand it better.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7363605-110630604639617170?l=ckkiet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ckkiet.blogspot.com/feeds/110630604639617170/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7363605&amp;postID=110630604639617170&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/110630604639617170'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/110630604639617170'/><link rel='alternate' type='text/html' href='http://ckkiet.blogspot.com/2005/01/gofs-design-patterns-book-2nd-edition.html' title='GOF&apos;s Design Patterns Book - 2nd Edition'/><author><name>Chan Kok Kiet (John Jones)</name><uri>http://www.blogger.com/profile/06724992491667347198</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7363605.post-110630392090789443</id><published>2005-01-21T18:34:00.000+08:00</published><updated>2005-01-21T18:38:40.906+08:00</updated><title type='text'>Article OzFox conference in ComputerWorld </title><content type='html'>An&lt;a href="http://www.computerworld.com.au/index.php/id;594349567;fp;16;fpid;0"&gt; article&lt;/a&gt; in &lt;a href="http://www.computerworld.com.au/index.php"&gt;ComputerWorld&lt;/a&gt; about OzFox conference.&lt;br /&gt;&lt;br /&gt;I like this sentence:&lt;br /&gt;&lt;blockquote&gt;"We're very focused on keeping it alive."&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7363605-110630392090789443?l=ckkiet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ckkiet.blogspot.com/feeds/110630392090789443/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7363605&amp;postID=110630392090789443&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/110630392090789443'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/110630392090789443'/><link rel='alternate' type='text/html' href='http://ckkiet.blogspot.com/2005/01/article-ozfox-conference-in.html' title='Article OzFox conference in ComputerWorld '/><author><name>Chan Kok Kiet (John Jones)</name><uri>http://www.blogger.com/profile/06724992491667347198</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7363605.post-110630287940880879</id><published>2005-01-21T18:17:00.000+08:00</published><updated>2005-01-21T18:21:19.406+08:00</updated><title type='text'>How garbage collection works in VFP</title><content type='html'>Calvin Hsia &lt;a href="http://weblogs.asp.net/calvin_hsia/archive/2005/01/20/357388.aspx"&gt;blogged&lt;/a&gt; about how garbage collection works in VFP.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7363605-110630287940880879?l=ckkiet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ckkiet.blogspot.com/feeds/110630287940880879/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7363605&amp;postID=110630287940880879&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/110630287940880879'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/110630287940880879'/><link rel='alternate' type='text/html' href='http://ckkiet.blogspot.com/2005/01/how-garbage-collection-works-in-vfp.html' title='How garbage collection works in VFP'/><author><name>Chan Kok Kiet (John Jones)</name><uri>http://www.blogger.com/profile/06724992491667347198</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7363605.post-110563286376535158</id><published>2005-01-14T01:06:00.000+08:00</published><updated>2005-01-14T00:14:23.766+08:00</updated><title type='text'>VFP9 Publicity at VB home page</title><content type='html'>&lt;a href=" http://msdn.microsoft.com/vbasic"&gt;Visual Basic Home Page&lt;/a&gt;&lt;br /&gt;&lt;a href="http://blogs.duncanmackenzie.net/duncanma/archive/2005/01/06/976.aspx"&gt;Direct link&lt;/a&gt;&lt;br /&gt;[Source : Bill Anderson (&lt;a href="http://leafe.com"&gt;leafe.com&lt;/a&gt;)]&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7363605-110563286376535158?l=ckkiet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ckkiet.blogspot.com/feeds/110563286376535158/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7363605&amp;postID=110563286376535158&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/110563286376535158'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/110563286376535158'/><link rel='alternate' type='text/html' href='http://ckkiet.blogspot.com/2005/01/vfp9-publicity-at-vb-home-page.html' title='VFP9 Publicity at VB home page'/><author><name>Chan Kok Kiet (John Jones)</name><uri>http://www.blogger.com/profile/06724992491667347198</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7363605.post-110561561364315003</id><published>2005-01-13T19:22:00.000+08:00</published><updated>2005-01-13T19:32:37.720+08:00</updated><title type='text'>MS-Tech Fest 2005-Visual Foxpro is Included</title><content type='html'>Jan. 26 to 27, Microsoft Philippines will be having TechFest 2005 at Edsa Shangri-La, and a VFP session is included. It is a one hour session.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.microsoft.com/Philippines/trainingandevents/techfest_001_sched.asp"&gt;TechFest 2005&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;[Source : &lt;a href="http://www.foxite.com"&gt;Foxite.com&lt;/a&gt;]&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7363605-110561561364315003?l=ckkiet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ckkiet.blogspot.com/feeds/110561561364315003/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7363605&amp;postID=110561561364315003&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/110561561364315003'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/110561561364315003'/><link rel='alternate' type='text/html' href='http://ckkiet.blogspot.com/2005/01/ms-tech-fest-2005-visual-foxpro-is.html' title='MS-Tech Fest 2005-Visual Foxpro is Included'/><author><name>Chan Kok Kiet (John Jones)</name><uri>http://www.blogger.com/profile/06724992491667347198</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7363605.post-110483084570053908</id><published>2005-01-04T16:44:00.000+08:00</published><updated>2005-01-04T17:27:25.700+08:00</updated><title type='text'>NET I/O</title><content type='html'>I am not sure, if is that a term called "NET I/O". But I heard this from my boss. For those who wnat to know, according to my boss this term meant that:&lt;br /&gt;&lt;blockquote&gt;Avoid I/O activities if possible. I/O here meant read/write data back to harddisk.&lt;/blockquote&gt;&lt;span style="font-weight: bold;"&gt;Why do we need it?&lt;/span&gt;&lt;br /&gt;Of course, you and me may know that it is for improving application perfromance.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;How to avoid I/O?&lt;/span&gt;&lt;br /&gt;Very easy. Compare the original and new field value (REPLACE, UPDATE). If both values are difference then only we replace/update it.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;How much does it improve the performance?&lt;/span&gt;&lt;br /&gt;According to my testing, NET I/O is at least 20% faster.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;When should we implement NET I/O into our application?&lt;/span&gt;&lt;br /&gt;Batch Processing. As usual, Batch Processing may take up to few minutes, hours or days to accomplish its task such as calculating payroll, account posting or etc. Assume we have 1,000,000 records to be processed, and we can save 10 miliseconds per update, then we would be able to save 16.6667 minutes.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;When should we NOT to implement NET I/O into our application?&lt;/span&gt;&lt;br /&gt;Data entry and process that only involve few records update. Unless your users complaint that your application is very very very slow.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Drawback&lt;/span&gt;&lt;br /&gt;It will complicate our coding. Even though we only required to write code to compare (IF ... ELSE ... ENDIF) before update, however, if there are more than ten fields to be updated, then we may need to have ten IF to compare each field value, or, one very long IF condition to compare all fields in advance. It is not a easy maintain code.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Additional Info&lt;/span&gt;&lt;br /&gt;A tip published in FoxProAdvisor (can't remember which issue), assign a value to a property is &lt;span style="font-weight: bold;"&gt;FOUR&lt;/span&gt; times slower than read value from a property. I think it would be the almost the same for read/write data to table.&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7363605-110483084570053908?l=ckkiet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ckkiet.blogspot.com/feeds/110483084570053908/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7363605&amp;postID=110483084570053908&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/110483084570053908'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7363605/posts/default/110483084570053908'/><link rel='alternate' type='text/html' href='http://ckkiet.blogspot.com/2005/01/net-io.html' title='NET I/O'/><author><name>Chan Kok Kiet (John Jones)</name><uri>http://www.blogger.com/profile/06724992491667347198</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
