Case study: building a commercial Android app with Oxygene for Java (née Project
"Cooper"), January 9th, 2012, Sybase, Maidenhead. (DG meeting)
This session looks at what was involved in building the first commercial Android
application with Oxygene for Java. We look at the goal, the finished app, technical
aspects of the code and walls that were hit during the development cycle.
Oxygene for Java - an update on Project "Cooper", September 12th,
2011, Sybase, Maidenhead. (DG
meeting)
Brian will show the current state of play with the upcoming Pascal-based native
Java/Android development tool, looking at its integration within Visual Studio,
debugging support and doubtless showing some aspects of Android application development.
Project "Cooper" Brings Native Android Programming to Delphi Developers,
June 17th, 2011, Zeist, The Netherlands. (SDN
meeting)
RemObjects, the folks behind the Oxygene compiler that powers Delphi Prism for .NET,
are working hard on Project Cooper. This is the same Oxygene language with the same
Delphi-like syntax and same blinding speed, but targeting the Java platform. This
session looks at how Cooper is coming along, tries to position it in among the other
related products, and shows how it can be used to build native applications for
Android devices and also for the general Java platform.
Programming for Android with Delphi Prism and Mono for Android, June 17th,
2011, Zeist, The Netherlands. (SDN
meeting)
Traditional development for Android devices requires you to learn the Java programming
language, the Eclipse IDE, and the Android class library, including the basic Java
utility classes.
Mono for Android places a subset of the Mono platform on the Android device and
provides a toolset that allows you to make use of your knowledge of .NET and its
BCL (Base Class Library) to develop Android applications using a programming language
you already know, such as Delphi Prism, from within a familiar development environment,
Visual Studio.
This session looks at building Android applications using Mono for Android and Delphi
Prism, showing the steps involved to create various types of applications.
Project Cooper Brings Native Android Programming to Delphi Developers, June
14th, 2011, London. (DG
meeting)
RemObjects, the folks behind the Oxygene compiler that powers Delphi Prism for .NET,
are working hard on Project Cooper. This is the same Oxygene language with the same
Delphi-like syntax and same blinding speed, but targeting the Java platform. This
session looks at how Cooper is coming along, tries to position it in among the other
related products, and shows how it can be used to build native applications for
Android devices and also for the general Java platform
Building a timesheet application in Mono for Android, April 6th, 2010, EMC,
London. (DG meeting)
This talk was part of the Battle of the Mobiles day, and looked at how an Android
timesheet logging application could be built up using C# in Visual Studio with Mono
for Android. As well as an overview of Android application basics this session covered
various Android development techniques from shared preferences to progress dialogs
to background processing to themes to SQLite usage and many other areas.
You can download
the files that accompany this talk.
What’s New In Delphi, September 20th, 2010, Sybase, Maidenhead. (DG meeting)
Now that Delphi 2011, er, I mean Delphi XE, has been released, it’s time to shake
it up and see what new features fall out. However, taking into account that a number
of users are still on slightly aged versions of the product, we’ll also give a tip
of the hat to new features in recent versions as well. This will be an informal
and (hopefully) interactive session so relax, partake and participate if you can.
You can
download the slides that accompany this talk.
Delphi & .NET and the Mac, February 15th, 2010, Microsoft, Reading. (DG meeting)
Here we look at how you can get into Mac development using the familiar language
of Delphi. This requires the use of Delphi Prism as well as Mono but facilitates
Mac development from the comfort of Visual Studio, an ideal way of dipping your
toe in the crossplatform waters (assuming you have a Mac handy, that is).
Stuff I Now Know About SQL Server, September 21st, 2009, Microsoft, Reading.
(DG meeting)
As some of you know, my exposure to databases was rather limited over the years
by my avoiding them like the plague at all costs wherever possible. They didn’t
tickle my fancy in the training/troubleshooting rôle I used to have. Having moved
to the dark side now, I find them more approachable. Recently I went on a course
to learn all about the wonders of SQL Server and picked up loads of new knowledge
on the matter. I daresay a lot of it is common knowledge to those of you who use
SQL Server, and indeed other databases, on a regular basis, but I’d like to think
I can impart a few titbits to anybody who comes along to this session.
You can download
the files that accompany this talk.
Debugging, July 17th, 2007, Hammersmith, London. (DG meeting)
Practical tips and tricks on how to improve your debugging skills, with much reference
to Delphi. Brian starts with some of the more fundamental and familiar methods and
moves onto what may well be unfamiliar ground to you. Brian has spoken on this subject
many times and you’ll find details of his work, for example the masterclass he conducted
for us a couple of years ago, on his web site.
If there are any specific areas on which you’d like Brian to concentrate, please
let us know beforehand or make your needs known on the day.
.NET Debugging Without Visual Studio, July
12th, 2006, The Bristol Golf Club, Almondsbury, Bristol. (VBUG meeting)
Visual Studio's debugger does a fine job of day to day debugging. But from time
to time you bump into really tricky problems that it can't help with. This is where
lower level debuggers come in, and Microsoft make a variety of them readily available.
This session looks at a number of low level debugging tools, focusing on WinDbg
and SOS, that can help you squash the most resilient bugs and get back on with your
day to day coding. We look at several common problem areas and see how these tools
can be applied to help gain insights on the problems and expedite solutions.
You can download the files
that accompany this talk.
C# for Delphi Developers, June 12th, 2006, Microsoft,
Reading. (DG meeting)
In this first session of the series, covering C# from the ground up, Brian explains
what it is and why it might be a very good idea for you to learn at least the rudiments
of C#.
Delphi 2005/6 Stuff You May Not Know About, May
9th, 2006, Hammersmith, London. (DG
meeting)
Brian delves into the lesser used parts of the Delphi 200x IDEs and sees what gems
he can unearth. Just so you know, he finds some pretty useful things for both Delphi
for .NET and Win32 Delphi developers, in Delphi 2005 and 2006. As an example, live
templates in the most recent release certainly warrant some attention.
Visual Studio 2005, Nov 15th, 2005, Hammersmith, London.
(DG meeting)
Visual Studio 2005 has just been launched and Brian takes us on a tour of what’s
new and interesting in the release we’ve been anxiously waiting for. We look at
Visual Studio 2005 and also .NET and SQL Server 2005 in a session that celebrates
the recent launch.
Reverse Engineering To Know .NET Better,
Oct 22nd, 2005, Microsoft, Reading. (DeveloperDeveloperDeveloper
2)
Learning a programming platform is always an uphill struggle. With .NET there is
no lack of help, information and support and around and so this in itself makes
the job easier. But there are some who say that the better you know how something
works on the inside, the better you can make it work from the outside (the reverse
of the implementation hiding principle). This session looks at various tools and
resources to find how we can learn more about how .NET works on the inside to try
and provide a better understanding of what you work with.
You can
read up on this session here.
Delving into the Windows Registry, May 16th, 2005,
Microsoft, Reading. (DG
meeting)
Members have asked a variety of questions about the Windows registration database
(aka the registry). "How do I use it?" "Are there any rules we need to know?" "What
can we find in the registry?" "Is it just a glorified INI file?" And so on. This
session hopes to answer these questions, and who knows, perhaps many more as well.
.NET Debugging Facilities, May 14th, 2005,
Microsoft, Reading. (DeveloperDeveloperDeveloper)
Debugging is a necessity. Sometimes an IDE-resident debugger doesn't have what it
takes to track a problem down.
There are a variety of other debugging tools available from Microsoft that can come
to the rescue in these circumstances and in this session we take a look at what’s
available and how you can use these tools to improve your debugging prowess.
Coverage will include Visual Studio’s debugger as well as CorDbg, DbgCLR, MDbg,
but focus mostly on WinDbg with Son of Strike, and will look at Heisenbugs, memory
tracking, and lower level trickery.
You can download the files that accompany
this talk.
Malware Creators Are Quite Clever Y’Know, February
28th, 2005, Hammersmith, London. (DG
meeting)
A customer recently had some nasty active software on a live web server, right under
his nose. But could he see it? Could you? After successfully cleaning up the mess
Brian has been actively researching malicious software and mechanisms to enable
successful removal. In this short session Brian discusses what these things get
up to and does his level best to make you nervous.
An Introduction to ASP.NET Web Application Development
in Delphi 8, May 12th, 2004, Marlow. (DDG
meeting)
This session looks at using ASP.NET from the position of a newcomer to .NET Web
development and finds a welcoming component-based, event-driven development model
beckoning you in.
Debugging in .NET, June 17th, 2004, Microsoft,
Reading. (DDG meeting)
Brian looks at the available options for debugging in .NET, and finds that there
is rather more available than just the IDE debugger.
.NET
Internals: Profiling .NET Applications, November 27th, 2003, Hammersmith,
London. (DDG meeting)
In this session we look inside .NET applications using the Profiling API
to see the rich volume of information made available, which allows you to build
flowtrace analysers, hotspot identifiers, exception recorders, coverage analsis
tools and so on.
You can download the files that accompany
this talk.
.NET Language Interoperability, June
26th, 2003, Hammersmith, London. (DDG
meeting)
.NET is a language-agnostic programming platform, where developers can all write
collaborative code in whatever language they favour. This session proves the point
by demonstrating language interoperability between various languages, such as C#,
Delphi for .NET, VB.NET, Managed C++ and CIL.
You can download the slideshow that
accompanies this talk.
Inside .NET, May 20th, 2003, Upavon, Wiltshire. (UK BUG meeting)
There is a lot of information on how to get results in the new .NET platform. In
this session, Brian peers beneath the surface to see how things work inside. Sometimes
this technique can provide useful information. Sometimes it ends up providing nothing
of use. Let's see what Brian has managed to dig up so far and wants to share with
us.
Subjectively Useful Information Resources, April
3rd, 2003, Microsoft, Reading. (DDG
meeting)
Brian has been getting to grips with the .NET programming platform over the last
6 months or so. In this session he goes through various sources of information that
have helped him become familiar with some of its underlying behaviour.
You can download the slideshow that
accompanies this talk.
Digging Deeper Into .NET, February 11th, 2003,
POSK, Hammersmith, London. (DDG
meeting)
This session dives down deeper, than an overview looking at how the .NET platform
actually works. We look at the concepts involved, the key areas of the platform,
and start to unravel the world of alphabetti-spaghetti that is .NET. There are many
new terms introduced with .NET and we try and get an understanding of as many of
them as possible in the allotted time.
You can download the files that accompany
this talk.
.NET Interoperability With Win32, January 14th, 2003, POSK, Hammersmith,
London. (UK BUG meeting)
Whilst .NET may be the upcoming platform of the future, right now there is still
a lot of plain, unmanaged Win32 code around. This session looks at how .NET managed
code can interoperate with unmanaged Win32 code. In particular we will look at:
You can download the files that accompany this talk.
Speech Synthesis
And Speech Recognition, September 6th, 2002, Ede, Holland. (SDN meeting)
This talk looks at how to add speech synthesis and speech recognition capabilites
to Delphi applications using the Microsoft Speech API.
You can download the files that accompany
this talk.
Things They Don't
Tell You On A Training Course, September 6th, 2002, Ede, Holland. (SDN meeting)
This is a fast-paced array of tips and tricks to help you get the most out of the
Delphi IDE. The talk also largely applies to Kylix and C++Builder.
Speech Synthesis
And Speech Recognition, August 20th, 2002, POSK, Hammersmith, London. (UK BUG meeting)
This talk looks at how to add speech synthesis and speech recognition capabilites
to Delphi applications using the Microsoft Speech API.
You can download the files that accompany
this talk.
Run-Time
Type Information (RTTI) In Delphi - Can It Do Anything For You?, October
26th, 2001, Cambridge. (UK BUG
meeting)
RTTI exists in all C++Builder VCL applications, primarily to allow the application
to function at all. It is used to load form files and create the initial representation
of each form, as set at design-time. It is also used extensively by the design-time
environment to allow the Object Inspector to operate. This talk looks at what information
is stored in RTTI, how we access it and why we might want to do so.
Conditional Compilation, August 14th, 2001, POSK,
Hammersmith, London. (UK BUG
meeting)
Underused, misrepresented as an aset only to propellor-heads, Conditional Compilation
is usable by all, as we find out in this talk.
This talk is the basis of my Conditional Compilation article in Issues 80
(April 2002) of The Delphi
Magazine.
Hints and Tips,
July 17th, 2001, POSK, Hammersmith, London. (UK
BUG meeting)
This is a fast-paced array of tips and tricks to help you get the most out of Delphi
(both the IDE and the underlying language). The talk also largely applies to Kylix
and C++Builder.
Apache Shared Modules, May 22nd, 2001, POSK, Hammersmith, London. (UK BUG meeting)
Kylix 1.0 allows ObjectPascal developers write Web server applications for the Linux
Apache Web server. These can either be CGI applications or shared modules. However,
Apache is nopt set up to permit the use of shared modules by default, so this talk
guides you through the steps to get Apache ready for a Kylix-generated shared module.
This talk is based on an article of the same name in Issues 69 (May 2001) of The Delphi Magazine.
Safe and Unsafe Typecasting, April 24th, 2001,
Borland offices, Twyford, Berkshire. (UK
BUG meeting)
This talk looks at the various mechanisms for typecasting in Delphi, and how safe
they are for use against Delphi objects. Old Pascal typecasting techniques will
be contrasted against modern Delphi object typecasting, which can make use of RTTI.
This talk is based on my three-part Typecasting Explained series of articles
in Issues 3 (September 1995), 4 (November 1995) and 5 (January 1996) of The Delphi Magazine.
Exceptions And Exception Handling, 13th February,
2001, POSK, Hammersmith, London. (UK
BUG meeting)
This talk looks at many aspects of working with exceptions in Delphi. It starts
with an overview of what exceptions are and how they work, and then moves onto how
they are handled without your intervention and how you can intercept them and handle
them with custom code. It looks at how exceptions can be generated, how to use custom
exceptions, application-wide and form-wide exception handling and also avoiding
a nasty problem that exceptions introduce.
Lists, 21st November, 2000, POSK, Hammersmith, London.
(UK BUG meeting)
This talk looks at a number of the types of lists available in Delphi, showing how
to use them,and noting potential pitfalls along the way.
You can download the files that accompany
this talk.
Docking In Delphi Applications, 19th September, 2000,
POSK, Hammersmith, London. (UK BUG
meeting)
Having recently discussed drag and drop in Delphi applications,
this time I will be focusing my attention on dockable windows, support for which
was introduced in Delphi 4.
This talk is the basis of my Drag & Dock article in Issues 63 (November
2000) of The Delphi Magazine.
You can download the files that accompany
this talk.
The Delphi Clinic, 15th August, 2000, POSK, Hammersmith,
London. (UK BUG meeting)
For the past 5 years and 56 issues (as of August 2000) Brian has been the host of
The Delphi Clinic column in
The Delphi Magazine. During this time may people have raised a whole host
of issues that Brian has had to research and resolve. In this session Brian will
share some of his best solutions including richedit problems, DBGrid enhancements,
OS settings, custom message boxes, BDE errors, creating Start Menu folders, property
queries and any others that can be squeezed in.
You can download the files that accompany
this talk.
Actions &
Action Lists, 23rd May, 2000, POSK, Hammersmith, London. (UK BUG meeting)
Actions, introduced in Delphi 4, allow you to centralise functionality that may
be invoked by the user in many ways. They also allow you to easily split the "doing"
part of the action, from the "validating" part. This talk is split into three parts.
The first section looks at how actions can be used in applications. The second part
looks at the underlying VCL architecture that supports actions. Finally, the last
part investigates how to make new standard actions that can be installed into the
IDE.
This talk is the basis of an article of the same name in Issues 61 (September 2000)
of The Delphi Magazine.
You can download the files that accompany
this talk.
Dragging
& Dropping, 21st March, 2000, POSK, Hammersmith, London. (UK BUG meeting)
Drag and drop has been possible in Delphi since version 1, yet many developers do
not seem to implement it in their applications. This talk takes you through the
ins and outs of dragging & dropping in forms and between forms, within our applications
and then tries to find out how to achieve this between applications as well.
This talk is the basis of my three-part Dragging & Dropping series of
articles in Issues 56 (April 2000), 57 (May 2000) and 58 (June 2000) of The Delphi Magazine.
You can download the files that accompany
this talk.
Run-Time Type Information
(RTTI) In Delphi - Can It Do Anything For You?, 20th December, 1999, Noordwijkerhout,
Holland. (SDN meeting)
This talk gives a thorough explanation of RTTI in terms of what it is, why it is
here and what it is used for is followed by various examples of how you can use
it for your own purposes.
Delphi VCL Sourcery,
20th December, 1999, Noordwijkerhout, Holland. (SDN
meeting)
This session looks at the often overlooked VCL and RTL source code, hunting for
useful tidbits to share. We will find a number of things that practically all Delphi
developers are unaware of, which can be potentially useful during application development.
Messages In A Bottle, 25th May, 1999, POSK,
Hammersmith, London. (UK BUG
meeting)
When Delphi does not give you the functionality that you require, sometimes you
have to resort to accessing and sending windows messages. This session demonstrated
numerous techniques that you can employ to achieve your objectives. These techniques
include message handlers, window procedures, application methods and events amongst
others. This is an intensive and interactive session that involves many source code
examples and delves into parts of windows where no normal developer would dare to
tread.
You can download the files that accompany
this talk.
Interfaces for the Uninitiated, 6th May, 1999, Bewley's
Hotel, Newlands Cross, Dublin. (UK
BUG meeting)
This session slowly goes through the basics and intricacies of interfaces. It covers
the use of interfaces in COM applications and the advantages of using interfaces
in applications that do not use COM.
You can download the files that accompany
this and the following two talks.
Creating Classes, 6th May, 1999, Bewley's Hotel, Newlands
Cross, Dublin. (UK BUG meeting)
This session is aimed at developers who are trying to get to grips with the creation
and use of classes. Properties, methods and events will all be covered.
You can download the files that accompany
this talk, the talk above and the following talk.
Creating Components, 6th May, 1999, Bewley's Hotel,
Newlands Cross, Dublin. (UK BUG
meeting)
This session follows on from the Creating Classes session. It shows how classes
and components are inter-related and also discusses the basics of creating property
editors and component editors.
You can download the files that accompany
this and the two talks above.
Messages In A Bottle, 19th March, 1999, Services
To Software, Glasgow. (UK BUG
meeting)
When Delphi does not give you the functionality that you require, sometimes you
have to resort to accessing and sending windows messages. This session demonstrated
numerous techniques that you can employ to achieve your objectives. These techniques
include message handlers, window procedures, application methods and events amongst
others. This is an intensive and interactive session that involves many source code
examples and delves into parts of windows where no normal developer would dare to
tread.
You can download the files that accompany
this talk.
Creating Classes, 23rd February, 1999, POSK, Hammersmith,
London. (UK BUG meeting)
This session is aimed at developers who are trying to get to grips with the creation
and use of classes. Properties, methods and events will all be covered.
You can download the files that accompany
this and the following talk.
Creating Components, 23rd February, 1999, POSK,
Hammersmith, London. (UK BUG
meeting)
This session follows on from the Creating Classes session. It shows how classes
and components are inter-related and also discusses the basics of creating property
editors and component editors.
You can download the files that accompany
this and the above talk.
C++Builder Packages, 23rd April, 1998, Bewley's Hotel, Newlands Cross, Dublin.
(UK BUG meeting)
Packages - what they are all about. This talk is presented using C++Builder 3, but
highlights any differences between C++Builder 3 and Delphi 3. This presentation
also includes details on how to interact with the IDE from within a package.
COM, 23rd April, 1998, Bewley's Hotel, Newlands Cross,
Dublin. (UK BUG meeting)
The Component Object Model and all that it represents is becoming very important
in application development. This session takes us through, step by step, the use
of interfaces, COM servers and COM clients. The attendees are then given the opportunity
to participate in communicating with Word97 using COM.
You can download the files that accompany
this talk.
Common Problems In C++Builder and How To Resolve Them, 30th September, 1997,
POSK, Hammersmith, London. (UK BUG
meeting)
This talk is based upon information from C++Builder technical support. It goes through
the more common problems that C++Builder programmers experience, and how to resolve
them.
DLLs In C++Builder, 30th September, 1997, POSK, Hammersmith, London. (UK BUG meeting)
This talk looks at the techniques necessary to access third party DLLs (Dynamic
Link Libraries) in C++Builder, before moving on to show how you create your own
DLLs.
Automation With C++Builder,
27th May, 1997, POSK, Hammersmith, London. (UK
BUG meeting)
C++Builder can do Automation just as well as Delphi or other development tools.
This session looks at the subject of Automation and defines important terms to give
a general understanding of the subject. It then proceeds to look at ways that you
can control Automation servers from C++Builder applications before investigating
the subject of creating Automation servers yourself.
C++Builder For Delphi Users, 25th March, 1997, POSK, Hammersmith, London.
(UK BUG meeting)
This talk looks at the syntax used in C++Builder for many of the common things you
want to do with it, from a Delphi programmer's perspective.
This talk was the basis of my article C++Builder for Delphi Users, in Issue 19 (March 1997)
of The Delphi Magazine.
Delphi 3.0 Has Packages Of New Features, 20th February, 1997, Utrecht, Holland.
(SDN meeting)
A run-through of all the new features available in Delphi 3, covering the IDE enhancements
as well as new language features. This talk (quite briefly) covers interfaces, COM
and packages.
This talk was the basis of my two-part review of Delphi, The Delphi 3 Novelty Store,
in Issues 20 (April 1997) and 21 (May 1997) of The Delphi Magazine.
Automation Servers And Controllers In Delphi 2, 20th February, 1997, Utrecht,
Holland. (SDN meeting)
This session explores the subject of Automation, showing how Delphi supports controlling
Automation servers through Variant variables. It then moves on to show how you can
write an Automation server of your own, using the special automated section
of a class, which can then be controlling by any language capable of talking to
Automation servers.
Safe and Unsafe Typecasting, June 13, 1995, Inland Revenue offices, London.
(UK BUG meeting)
This talk looks at the various mechanisms for typecasting in Delphi, and how safe
they are for use against Delphi objects. Old Pascal typecasting techniques will
be contrasted against modern Delphi object typecasting, which can make use of RTTI.
This talk was the basis of my three-part Typecasting Explained series of
articles in Issues 3 (September 1995), 4 (November 1995) and 5 (January 1996) of
The Delphi Magazine.
Subclassing Windows, April 11, 1995, Upavon, Wiltshire. (UK BUG meeting)
Discussing various ways of customising windows using Delphi techniques and Windows
techniques. The session also covered the seemingly impossible (at the time) task
of removing the vertical scroll bar from a DBGrid, introduced ways of navigating
around a DBGrid and showed how to make an auto-repeat button, like the DBNavigator's.
This talk was the basis of my Subclassing Windows article in Issue 2 (July
1995) of The Delphi Magazine.
Go back to the Talks page