Friday, February 25, 2005

O/R Mappers and Code Generators

Here is List of ORM tools, code generators and related stuff shared by Rockford Lhotka. Hope it helps for anyone who is looking for framework of .NET framework.

Sunday, February 13, 2005

Comparing Web Connection and ASP + COM by Rick Strahl

Rick Strahl has posted a blog entry that Comparing Web Connection and ASP + COM. It also contains some info about background architecture of ASP, COM and WebConnect. Also, it mentioned some performance improvement of COM using VFP9.

Friday, February 11, 2005

Book : What's New in Nine Is Released

"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.

Sample chapters, detailed table of contents, index, and ordering info available
at:
http://www.hentzenwerke.com/catalog/wnvfp9.htm

[Source : Hentzenwerke Publishing NewsLetter]

Wednesday, February 09, 2005

SQL Server, why do you block me?

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.

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.

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!

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.

Of course, what we did is not a good programming practise. But, why it could happen?

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 Client-Server Applications with Visual FoxPro and SQL Server 7.0.

Any advise?

Tuesday, February 08, 2005

Not enough memory? Why do you need so much?

Just few minutes ago, I solved the problem of getting error
"Error Loading File ... Parent : Not enough memory to complete this operation"
when I try modify form.

After few hours researching at forum, google and discussion with colleagues, we know what is the mistake. It is because of cycling reference.

Don't know how, one of the class in my form subclass from a class that subclass itself.
ClassA->Superclass->ClassA->Superclass ... 
It is a infinite reference.


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.

Sunday, February 06, 2005

Where to get COM Automation class definition?

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?

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 http://fox.wikis.com/wc.dll?Wiki~AutomationObjects~SoftwareEng 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.

Am I miss out the feature? Else, I hope this feature would be available soon.

Nice Article from Eric Sink

Eric Sink's latest Business of Software article is available on MSDN online now. Good read!!