PDA

View Full Version : List of Functions & Commands Where Lianja is Different from VFP



Jeff_Stone
2013-05-31, 13:35
Hi All,

While Lianja folks are working hard on Lianja and trying to make it as VFP compliant as possible, there are a fair number of Lianja functions and commands which have differences from VFP. To help ourselves, perhaps we should create of list of these differences to share. I'm not quite sure how we'll keep this an easily searchable list as well as be able to update it if Barry and company subsequently make Lianja compliant for some of the noted issues, but I figure this is as good a place to start as any. I will post what I have noticed below.

Regards,

Jeff

Function/Command Noted Difference(s)
============= =============
getfile() Argument syntax difference especially in listing desired file type
VFP example: getfile('CSV:csv;DBF:dbf', 'Load CSV or DBF File', 'Load File', 0, 'Load Monthly Update')
Lianja example: getfile('CSV(*.csv);;DBF(*.dbf);;', 'Load CSV or DBF File', 'Load File', 0, 'Load Monthly Update')

curdir() VFP does not return the drive letter and required SYS(5), Lianja includes the drive letter as part of the result
VFP returns: \Lianja\data\southwind
Lianja returns: C:\Lianja\data\southwind

HankFay
2013-06-01, 00:10
Hi Jeff,

and the present-forever but undocumented set("directory") in VFP does the same as curdir() in Lianja.

I'm in the VFP-minority on this issue: I only care that I can get there from here, not whether they are the same. And for users coming from other languages, I think most of the Lianja differences are to the better. When they aren't an improvement, I do my best to explain why in my ER, so there's a reason besides VFP-compatibility motivating the change I'm requesting. Just a suggestion.

Hank

yvonne.milne
2013-06-03, 04:48
Hi Jeff,

We do have a dedicated, though currently unpopulated, area of the Documentation Wiki for Visual FoxPro compatibility. It has pages for functions (http://www.lianja.com/doc/index.php/Category:VFP_Function_Differences) and commands (http://www.lianja.com/doc/index.php/Category:VFP_Command_differences).

If you want to post differences you find to this thread or to me directly, I'll get them added to this area of the Wiki.

As Hank says, if it's a difference you feel is important, then please submit an Enhancement Request (sign in to the lianja.com website, then from the Support menu: Submit a Ticket) and let us know why you think it is important. The Enhancements Request Forum (http://www.lianja.com/community/forumdisplay.php?31-Enhancement-Requests) can also be used to drum up support for changes.

Thanks,

Yvonne

Jeff_Stone
2013-06-03, 10:09
Hi Hank and Yvonne,

I'm not of the mindset that Lianja should be 100% VFP compliant. However, I think that for VFPers who intend to port applications over to Lianja, a readily available list of command/function differences is extremely helpful and for some may even be a requirement. Additionally, since Lianja is still in beta phase and some commands/functions are subject to change based on testers' requests, keeping a running difference list may be even more helpful.

Another thing to consider is that when people do a google search on Visual FoxPro, they so the following Lianja ad: 313

So, if Lianja is being pitched as VFP 10, command and function differences should be limited and clearly listed or Lianja will lose out on potential users. My guess is that most of the differences are not significant and people can build a conversion routine to either automate code changes or at least pinpoint where changes will need to be made.

Regards,

Jeff

barrymavin
2013-06-03, 10:18
We are working towards providing as much command/function compatibility as is practical.

That ad is correct. Desktop, Web and mobile with many modern language extensions. Moving existing VFP apps is getting closer. Apart from that there is the Lianja SQL Server and the Lianja Cloud Server -- and let's not forget its cross-platform with full 64-bit huge file support.

If you find something thats not "quite right" let us know (as you have been doing). We do listen.

Lianja takes a different approach to development so that you can move into new devices. There are some trade-offs to achieve that and also it is fully supported with regular updates / bug-fixes and enhancements -- with over 17k registered downloads.

yvonne.milne
2013-06-03, 10:46
Hi Jeff,

Just to reiterate: we have a dedicated area of the documentation wiki to highlight differences between Lianja and Visual FoxPro and I welcome all input from the beta testers to populate this and make it a useful resource now and in the future. If details of differences are posted to this thread or sent to me directly, I will get them added to the wiki (as the differences in your initial post already have been) and this will be kept up to date based on Lianja enhancements.

Enhancement Requests can still be made as before, using Tickets and the Enhancement Requests Forum and, as Barry says, will be listened to.

Thanks,

Yvonne

phabio
2013-06-03, 10:47
In my experience, even if the languages ​​are compatible to 90%, it is always better to rewrite the appicazione to fully exploit the new framework ..
also to switch from Fox 2.6a to Visual Fox.. I decided to rewrite everything, maybe recovering pieces of code :-)

Jeff_Stone
2013-06-03, 11:09
Please don't think that I am being critical. Rather, I am pleased by the Lianja folks responsiveness to my questions and the issues I have raised. I am just trying to be helpful as I would like Lianja to be successful.

My company's applications serve the administrative reporting needs of mortgage servicer loan portfolios. Consequently, our coding focus is on payment processing, cashflow projection and related reporting of servicer data. We use VFP as a database handler and front-end to various C programs. Web and mobile are not options for us, and GUI isn't of significant importance to us other than clients like to see how we do what we do, so we want our front-end to look acceptable at a minimum. While VFP continues to meet our needs, we don't look so good when our large bank clients send IT risk-assessment folks here as part of there regular due diligence and they ask us what programming languages we use as VFP is no longer supported and is no longer an acceptable development/processing tool in there offices. As the operational decision maker here, I have to consider the future alternatives that exist for our VFP programs which involve not only the man-hours required to convert our programs but also the long-term viability of each alternative. Do we stick with an Xbase solution whose developer may not exist in 15 years? Obviously, we're not alone in facing these questions. But if there is an Xbase solution that is 100% compliant with VFP that looks like it's going to be supported for even the next 5+ years, the decision is a no-brainer as we've bought ourselves time. Since no Xbase solution is going to be 100% compliant, then the question is how compliant/compatible? Lianja looks like it's going to be the most compatible and given Recital's history and duration, Lianja is potentially the safest and most cost effective bet for us. To an extent we are willing to bet on Lianja's success. Our current plan is to make our code compliant for both Lianja and VFP, run in parallel for an extended time (at least 6 months and probably run a year back) to test for a 100% match on results.

Quailco
2013-12-10, 17:09
Some little things and i bring them up only to try to understand the broad philosophy not because i find them concerning. Perhaps I am just missing something.

cd does not display the current directory
dir does not default to listing the dbf files
esc when in browse does not exit the browse
the Memo fields are capitalized in a browse when not containing data

I am early in this process of converting a VFP project to Lianja; I could be simply making mistakes that hopefully will let me learn. And also hopefully provide some basis for better documentation of the VFP project to Lianja implementation.

Are these minor differences on purpose or oversights because u cant possibly pickup all the nuances or am I wrong and just dont understand something.

Will you be correcting them?