I've just pushed some updates to chakracore-delphi.
A new feature worth mentioning is support for inheritance (I mean Javascript-style, "prototypical inheritance") in both directions. Suppose the following hierarchy:
First, here is Shape the "superclass", defined in Javascript:
Next comes Circle, a "subclass" of Shape, defined in Javascript as well:
The following is Rectangle, defined in Pascal, as a "subclass" of Shape:
Here's Square, defined in Javascript again, as a "subclass" of Rectangle:
And finally here are the tests, demonstrating that
- (Javascript) Circle descends from (Javascript) Shape
- (Pascal) Rectangle descends from (Javascript) Shape
- (Javascript) Square descends from (Pascal) Rectangle
As always, you can grab the latest code on GitHub. Cheers!
Sunday, November 11, 2018
Monday, October 29, 2018
My Lazarus External Tools
Similar to My Delphi Tools blog post (wow, many years ago), here's my Lazarus External Tools configuration.
Linux (Mint)
Title: Explore to Source Directory
Program Filename:
Parameters:
Working Directory:
Title: Explore to Target Directory
Program Filename:
Parameters:
Working Directory:
Title: Console in Source Directory
Program Filename:
Parameters:
Working Directory:
Show console:
Title: Console in Target Directory
Program Filename:
Parameters:
Working Directory:
Show console:
Import link: lazarus-external-tools-linux-mint.xml
Windows
Title: Explore to Source Directory
Program Filename:
Parameters:
Working Directory:
Title: Explore to Target Directory
Program Filename:
Parameters:
Working Directory:
Title: Console in Source Directory
Program Filename:
Parameters:
Working Directory:
Show console:
Title: Console in Target Directory
Program Filename:
Parameters:
Working Directory:
Show console:
Import link: lazarus-external-tools-windows.xml
Linux (Mint)
Title: Explore to Source Directory
Program Filename:
cajaParameters:
$Path($EdFile())Working Directory:
Title: Explore to Target Directory
Program Filename:
cajaParameters:
$Path($TargetFile())Working Directory:
Title: Console in Source Directory
Program Filename:
mate-terminalParameters:
--working-directory=$Path($EdFile())Working Directory:
Show console:
TrueTitle: Console in Target Directory
Program Filename:
mate-terminalParameters:
--working-directory=$Path($TargetFile())Working Directory:
Show console:
TrueImport link: lazarus-external-tools-linux-mint.xml
Windows
Title: Explore to Source Directory
Program Filename:
explorer.exeParameters:
/e,/select, "$EdFile()"Working Directory:
Title: Explore to Target Directory
Program Filename:
explorer.exeParameters:
/e,/select,"$TargetFile()"Working Directory:
Title: Console in Source Directory
Program Filename:
cmd.exeParameters:
/k cd "$Path($EdFile())"Working Directory:
Show console:
TrueTitle: Console in Target Directory
Program Filename:
cmd.exeParameters:
/k cd "$Path($TargetFile())"Working Directory:
Show console:
TrueImport link: lazarus-external-tools-windows.xml
Sunday, September 16, 2018
Project Page IDE extension for RAD Studio XE
In a response to this question on G+, I just published projpage-xe, an IDE extension for RAD Studio XE (Delphi and C++Builder) as open source on GitHub.
This IDE extension is targeting RAD Studio XE version (ie. BDS 15.0 released in August 2010) specifically. It can hopefully serve as a work-around for the problem that the official Project Page IDE functionality mysteriously disappeared in that particular release, reappearing in later releases again.
It's implemented as a design-only package which can be simply installed in the IDE in the usual way.
From README.md, here's what it does:
A small demonstration:
This IDE extension is targeting RAD Studio XE version (ie. BDS 15.0 released in August 2010) specifically. It can hopefully serve as a work-around for the problem that the official Project Page IDE functionality mysteriously disappeared in that particular release, reappearing in later releases again.
It's implemented as a design-only package which can be simply installed in the IDE in the usual way.
From README.md, here's what it does:
This extension listens for the active project change events. If the currently activated project contains an HTML file with the name 'index.htm' or 'index.html' it will open and show it in the IDE's internal embedded browser.
A small demonstration:
Subscribe to:
Posts (Atom)

