Sunday, November 11, 2018

Inheritance with chakracore-delphi

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!

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: caja
Parameters: $Path($EdFile())
Working Directory:

Title: Explore to Target Directory
Program Filename: caja
Parameters: $Path($TargetFile())
Working Directory:

Title: Console in Source Directory
Program Filename: mate-terminal
Parameters: --working-directory=$Path($EdFile())
Working Directory:
Show console: True

Title: Console in Target Directory
Program Filename: mate-terminal
Parameters: --working-directory=$Path($TargetFile())
Working Directory:
Show console: True

Import link: lazarus-external-tools-linux-mint.xml

Windows

Title: Explore to Source Directory
Program Filename: explorer.exe
Parameters: /e,/select, "$EdFile()"
Working Directory:

Title: Explore to Target Directory
Program Filename: explorer.exe
Parameters: /e,/select,"$TargetFile()"
Working Directory:

Title: Console in Source Directory
Program Filename: cmd.exe
Parameters: /k cd "$Path($EdFile())"
Working Directory:
Show console: True

Title: Console in Target Directory
Program Filename: cmd.exe
Parameters: /k cd "$Path($TargetFile())"
Working Directory:
Show console: True

Import 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 targetting 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: