Sorry, I'm not in the mood to examine and test that document. What I can say is that it's a collection of differences, not features.hmpaquito wrote:Some samples of obsolescence in that document, please.
EMG
Sorry, I'm not in the mood to examine and test that document. What I can say is that it's a collection of differences, not features.hmpaquito wrote:Some samples of obsolescence in that document, please.
Incorrect afirmation.What I can say is that it's a collection of differences, not features
Yes, features implemented in different ways. So?hmpaquito wrote:Incorrect afirmation.
That document is a collection of differences of features.
No, off course.Yes, features implemented in different ways. So?
Improved? Show me a real improvement of Harbour, something that I can take advantage of in my applications, ad I will be glad to migrate.hmpaquito wrote:No, off course.
features improved in harbour regarding xHarbour
Show me a real improvement of Harbour, something that I can take advantage of in my applications, ad I will be glad to migrate.
Code: Select all
### PASSING ARRAY AND HASH ITEMS BY REFERENCE ###
=======================================================
Harbour supports passing array and hash items by reference, f.e.:
proc main()
local aVal := { "abc", "klm", "xyz" }, ;
hVal := { "qwe"=>"123", "asd"=>"456", "zxc"=>"789" }
? aVal[1], aVal[2], aVal[3], hVal["qwe"], hVal["asd"], hVal["zxc"]
p( @aVal[2], @hVal["asd"] )
? aVal[1], aVal[2], aVal[3], hVal["qwe"], hVal["asd"], hVal["zxc"]
proc p( p1, p2 )
p1 := '[1]'
p2 := '[2]'
Compiled by Harbour above code shows:
abc klm xyz 123 456 789
abc [1] xyz 123 [2] 789
In xHarbour only passing array items by reference works but does not work
passing hash items by reference though it does not generate either
compile time or run time errors so the above code can be compiled and
executed but it shows:
abc klm xyz 123 456 789
abc [1] xyz 123 456 789
The PRG is compiled in memory, no need to create a PRG file. And once the code is compiled we can also run it! It goes as fast as Harbour.exe goes compiling! The whole harbour compiler can be linked inside our EXEs! Wow! You can use your EXE instead of harbour.exe! and compile and run in memory. This is outstanding!James Bott wrote:Antonio,
Are you saying this provides runtime compiling, and if so, why is this important?hbcplr.lib holds the entire Harbour compiler inside it, so we can compile PRGs from our EXEs, in memory and execute the code. To me this is extremely important.
By ERP do you mean "Enterprise Resource Planning" or something else? And why would runtime compiling be important to ERP?This capability is the foundation to build a professional ERP software.
I never understood the advantage to runtime compiling--it seems it would be too slow.
On Tue, Oct 21, 2014 at 8:29 PM, Itamar M. Lins Jr. Lins
<itama...@gmail.com> wrote:
>
> You, use hbhttpd or apache... ?
> Use DBF ?
I use a new version of the hisbay-framework that I presented here in 2013.
Basically it's MVC framework that follows the principles of RoR or
Java Play Framework.
The only binary is the server which is launched directly inside the
app directory.
PRGs are ( ONLY ) classes derived from basic classes Controller, View
or Model that need to be put in the right directory ( convention vs
configuration ) and are compiled on the fly calling harbour compiler
using hb_run.
The developer simply writes the PRG and reload the page of the browser
to run the hrb.
Compiling errors are shown in the browser.
The UI part is done with html, js, css, jquery and clients are Macs,
PCs, IOS and Android devices.
Only hrbs are deployed to the customer.
Of course it took years to reach performance and stability.
Before I had CGI apps that worked with Apache and HRB apps that worked
with a small http server.
I heavily used dynamic libs and that required a specific version of
Harbour and a quite complex setup.
I've always worked in multiplatform environments where main server
environment is Linux ( RHEL flavor ), OSX is the preferred development
environment but I need also to work with contractors that often use
Windows and that are trained in JS, PHP, .NET or Java and know few or
nothing about xBase or Harbour.
So I needed a new framework that could be quickly mastered and
installed by a web developer.
Now the only thing I provide to a developer is the binary of the
server, an Harbour tree and a git access.
They don't need to know about hbmk2, compiling, linking or configure
an Apache server.
Apps use both dbfs and sql ( postgresql actually ) and I wrote an SQL
class that uses JDBC interface to be familiar to a Java or a .NET
developer.
For example to quickly move to web a "classic" reporting application,
I created a function that reads a GetList screen at runtime and
creates a json with the informations needed to render the same inputs
as an HTML5 form. The code was then pasted in the web app ( of course
something needed to be adjusted case by case ) and it called exactly
the same report function used in the desktop app. The only thing
needed was to define the output type ( report engine can renders the
report into PDF, XLSX, DOCX ecc. ). It took only few hours without a
single change in the DBF or the print code.
best regards,
Lorenzo