Delphi Developer


Start Date, Contract Term
September, 2016

Delphi Developer

Intermediate to senior level Delphi programming skills
Ability to maintain, enhance and support our existing suite of applications
Ability to create web applications in Delphi, HTML and Java script
Experience with MS SQL server and T-SQL
Able to operate effectively in a team environment

Degree or diploma in IT or closely related field
Minimum of 2 years relevant programming experience

Additional Assets (nice to have)
A background with pension plan or financial management software
Working knowledge of Visual Studio and C#

Contact Details
Contact Jim Walker @519-743-9000 ext. 244

Website –

Posted in Job Postings | Comments Off on Delphi Developer

June meeting follow-up

Thanks to Warren Postma for giving a great presentation on some different bug tracking software and the benefits of integrating them with your source control software (see May meeting).

One of the things that struck me was how easy it is to include rich content (formatting, images, etc) and links to other issues and source code. The functionality goes well beyond a simple list of bugs and includes project planning, research and documentation.

Warren showed off pieces of Redmine, Github (includes issue tracking)  GitLab and Jira (makers of BitBucket), but there are lots of options available.

Here is his summary:

1. Bug tracking and Software Project Wikis (if done well) can be a huge helper to your software project success.
2. Bug tracking (if done poorly) can be a huge drain on your software project success.
3. Using the Metrics and data gathered from your bug tracking effort can help you (if you’re pragmatic) and hurt you (if you are prone to magical thinking).
4. Thinking like a Librarian (how will I find this data I’m shoving into my bug tracker, and my wiki).
5. A bug tracker needs a Wiki and a Wiki needs a bug tracker. So your app should do both.
6. Your bug tracker and wiki are better if they’re integrated with your version control system.
6. Seriously consider letting someone host your bug tracker for you, especially if you opt for something very complex to deploy and manage.
Managing your tools is not what you want to spend your day on. For this kind of tool, SaaS offerings (GitLab, JIRA, BitBucket) hosted on the public cloud are recommended.

As mentioned in the meeting, I don’t necessarily agree with his last point and prefer the idea of hosting in-house. Fortunately, most of the popular products have options to host your content for you or to have you host it yourself.

I will set up a new source control and bug tracking environment myself and see if I feel the same afterwards.

We are taking our summer break, so no meetings are scheduled for July and August. We will reconvene in September. Stay tuned for details.

Correction: Warren showed off GitLab, not GitHub. My mistake.

Posted in Events, General | 3 Comments

TDUG meeting Thursday, June 30th at 6 PM

Warren Postma will be talking about bug tracking software, also known as issue tracking or project tracking software.

Whether you are a solo developer or you are working on multiple projects with other developers, if you have ever been tempted to create a text file todo list or a spreadsheet or even build a home grown app to manage the features and bugs that you need to deal with so that nothing falls through the cracks, then bug tracking software can absolutely make your life easier, and there are lots of options available.

Last month we talked about source control software. A lot of popular bug tracking software integrates with popular source control software, making it easy to track what is fixed and when and putting check-ins in context with references to the bugs or features that they address.

Please join us.

Thursday, June 30th, 2016
North York Central Library – 5120 Yonge Street
6:00PM to 8:00PM

This will be our last meeting before the summer break. We would love to hear what you about would like to see presented when we resume in September. Here are a couple of ideas:

– Building multi-tier applications using DataSnap
– Unit testing and TDD (this will probably cover two meetings)

Let us know what you think.

Posted in Events, General | Comments Off on TDUG meeting Thursday, June 30th at 6 PM

May meeting follow-up

We talked about version control software. Here are some of the links were discussed:

There are lots of options available. Fortunately, the most popular ones are also free and include Subversion, Mercurial and GIT.

Subversion uses the centralised model while Mercurial and GIT are distributed. There are technical differences, but one of the things I like best about the distributed model is how easy it is to continue working without being connected to the central repository.

If you don’t want to use the command line interface, all three of these are supported in the Rad Studio IDE. My personal favourite is a free shell extension called Tortoise, which is available for Subversion, Mercurial and GIT among others. Yet another free tool called SourceTree supports both Mercurial and GIT.

Setting up your own hosting isn’t difficult in most cases, but there are free services for both public and private repositories that make them easy to share, offer additional tools or just let you keep your source code off-site for safety purposes. These include GitHub, BitBucket and GitLab.


Posted in Events, General | 2 Comments

Reminder: TDUG meeting Wednesday, May 25th at 6 PM

We will be talking about source control and how it can help improve you software projects.

Wednesday, May 25th, 2016
North York Central Library – 5120 Yonge Street
6:00PM to 8:00PM

Posted in Events, General | Comments Off on Reminder: TDUG meeting Wednesday, May 25th at 6 PM

TDUG meeting Wednesday, May 25th at 6 PM

Note the date change. We are meeting on Wednesday. I will post a reminder before the meeting.

Getting back to our semi-regular series on software development best practices, we will be talking about Source Control, sometimes called Version Control.

We’ll talk about why you would want to use source control, how to get started and some of the unexpected additional benefits that it can have on your software development projects. It doesn’t have to be complicated or expensive. In fact, some of the most popular options are completely free and you can get things set up in a few minutes.

Please join us and share your experiences.

Wednesday, May 25th, 2016
North York Central Library – 5120 Yonge Street
6:00PM to 8:00PM

Posted in Events, General | Comments Off on TDUG meeting Wednesday, May 25th at 6 PM

April meeting follow-up

Open Tools API

Warren Postma showed us different ways to write plug-ins for the Rad Studio IDE and explained the pros and cons of each approach.

One of his examples uses the Castalia Delphi Parser to look for badly aligned begin/end statements or evil WITHs in the current unit. For the purposes of this discussion, an “evil WITH” is defined as absolutely any use of the statement. This alone made the whole night worth while. Nick Hodges would be proud.

Here are his notes:

Each sample repository contains a readme in html format with some notes and links. You can browse the code online or grab a copy (clone) with mercurial, using the repo link, or you can go to the download tab (links shown below) to download a zip copy.
The recommended way to use the helloworld samples is to open them up and build them, then install them and try them, then poke around the code and find how it works by reading it. There’s not so much code there, and almost all of it is important, except you can ignore the castalia parser code which was put in there just to make it easier to get it integrated when you want to have a pascal parser library in a real world expert, as shown in the last of the three demos.
The first of our three demos, the hello world Wizard sample shows in Package (BPL) form, how to use the open tools api Wizard interface.It may seem easier to use but the limitations and annoyances of a BPL wizard are severe and it is not a recommended approach for most IDE plugin requirements.
The second demo, the hello world Expert sample shows in an Expert DLL form, how to use the most central open tools api  Expert  interfaces.  It shows how to export the registration function from the DLL, how to integrate with the IDE about box and IDE splash screen including a little icon that shows while Delphi starts up, and how to add a menu item in the main menu and add a menu item in the project right click menu, how to integrate with the IDE Insight feature, and how to make keyboard shortcuts (hotkeys) work.
Finally a third demo that actually tries to do something interesting using the open tools APIs. Since the above helloworld expert is only a skeleton, and while useful as a starting place for someone who wants to write a wizard, doesn’t actually do anything that you might want to do and is certainly not something you would find you couldn’t live without, I wanted to make a demo that while not yet an invaluable tool, shows some of the potential for wizards. This one implements a custom parser, grabs the currently selected editor window and checks the code inside for two kinds of problems. The first is incorrect use of the WITH statement. All uses of WITH are incorrect, and should be killed with fire.  Secondly, it tries to line up your begin and end statements and see if they match up. If they don’t match up, it tells you. If your code is nicely formatted and free of With statements, it is pronounced good.

If you are interested in more information on this subject, there is a Google+ Group dedicated to the Open Tools API.

If you really want to dig in to it, then David Hoyle has written The Delphi Open Tools API Book.

Delphi 10.1 Berlin

Embarcadero released the latest version of Delphi on Tuesday, April 19th – Delphi 10.1 Berlin. Just in time for Warren to give us a first look.

Embarcadero had an introduction webinar. If you missed it, the replay is available now.

Aside from the features, Malcolm Groves commented on the the progress with regards to bug fixes and Delphi’s “Quality, Performance and Stability” efforts.

Meeting Location

This meeting was at a new location, the Fairview Library, which is in the north of the Fairview Mall plaza. The Sheppard subway ends here and free parking is available. And apparently, it’s easier to book rooms.

Rick Dermont gets credit for finding this location. We will probably use it for future meetings.

Please let us know what you think.

Our next meeting will be Wednestay May 25 in  Room 1 from 6pm to 8pm at the North York Central Library. Please join us.

Posted in Events, General | 2 Comments

Job Posting – Delphi Application Developer

North york

Start Date, Contract Term
Permanent position

ACCEO Smart Vendor is a one-stop shop for complete POS systems. Our offer includes: software, hardware, training, installation, and support.

Our mission is to provide retailers with the best in reliable, easy to use and cost effective point of sale Software and Hardware solutions

We are looking for a Delphi Programmer with a high level of experience. As a member of our team, you will develop new functionalities for our Smart Vendor POS System.

Job description/Responsibilities:

Reporting to the Manager, Software Development, and working closely with the Senior Software Architect, the successful candidate will perform duties and tasks to support full systems life cycle management (e.g., analyses, technical requirements, design, coding, testing, implementation of systems and applications software, etc.). He/she provides development, maintenance, and support for applications.

•Developing graphical end-user applications and tools.
•Ensuring that functionalities and/or modules developed integrate properly into existing system.
•Performing data analysis to identify anomalies in client data.
•Perform analysis, coding, unit testing, and integration of new/existing solutions.
•Working as part of a team to meet company goals and objectives
•Working on a variety of client-side applications and solutions.
•Working with Q/A to track problems, debug, perform regression tests and close issues.
•Working with Support Department to troubleshoot and resolve client issues (As needed).
•Participate in the on call support services (As needed).

Our offer :
Great team, nice working environment, group insurance plan available as of your first day, RRSP program after 3 months, vacation that acknowledges your experience and a good statutory holiday policy.

Qualifications/Skill Set :

•Demonstrated ability with SQL syntax.
•Experience writing GUI applications.
•Strong Delphi programming skills (Version 2009 or higher).
•Strong development experience using Win32 operating systems.
•Strong working knowledge and database development with emphasis on MySQL.
•Solid understanding of Object-Oriented Programming.

Nice To Have:

•Demonstrated ability to write documentation in English.
•Experience with peripheral development (Serial communications, OPOS).
•Experience working with Web technologies.
•Knowledge of Visual Basic and VB Script.
•Prior experience programming Point-of-Sale systems (POS).
•Retail Experience (customer service, inventory control).


•5+ Years Relevant Experience.
•Excellent written/spoken English.

Contact Details

Posted in General, Job Postings | Comments Off on Job Posting – Delphi Application Developer

TDUG meeting Thursday, April 21st

Warren Postma will talk about creating your own plug-ins for the RAD Studio IDE. This was the original topic for the February meeting, but it had to be rescheduled.

If you have ever wanted to know how to interact with the splash screen or build your own productivity tools in the IDE, Warren will show you how and explain how the new API makes this all much easier.

And with any luck, we will be able to talk about the upcoming release.

Please join us.

We are at a new location this month. The Fairview branch of the Toronto Library. It’s at the north side of the Fairview Mall.

Thursday, April 21st, 2016
Fairview Library – 35 Fairview Mall Dr, North York
6:00PM to 8:00PM


Posted in Events, General | Comments Off on TDUG meeting Thursday, April 21st

Reminder – March meetup tomorrow, March 29th

We are meeting at the Baton Rouge at 5000 Yonge Street at 6:00 PM. This is just south of the North York Central Library where we usually meet.

See you there.

Posted in Events, General | Comments Off on Reminder – March meetup tomorrow, March 29th