Archive for the ‘Delphi XE3’ Category
Posted by jpluimers on 2013/05/14
I had some notes on Delphi WSDL and SOAP peculiarities somewhere, but I misplaced them.
Luckily, I found some links that explain most of my notes well:
–jeroen
Posted in Conference Topics, Conferences, Delphi, Delphi 2007, Delphi 2009, Delphi 2010, Delphi XE, Delphi XE2, Delphi XE3, Development, Event, SOAP/WebServices, Software Development | Leave a Comment »
Posted by jpluimers on 2013/05/08

Lucida Console Sample (thanks Wikimedia!)
I’m in search to see if there is a better programmers font than the monospaced Lucida Console mainly to be used in Visual Studio, Delphi, the Windows console, Xcode and Eclipse. What I love about Lucida Console design is the relatively large x-height combined with a small leading (often called “line height”). This combines very readable text, and a lot of code lines in view. Lucida has two small drawbacks, see the second image at the right:
- The captial O and digit 0 (zero) are very similar.
- Some uppercase/lowercase character pairs are alike (because of the large x-height)
But, since the font hasn’t been updated for a very long time, lots of Unicode code points that are now in current fonts, are missing from Lucida Console (unless you buy the [Wayback] most recent version that has 666 characters from Fonts.com) Well, there are dozens of monospaced fonts around, so I wonder: which ones do you like? In the mean while, I’m going to do some experimenting with fonts mentioned in these lists:
A few fonts I’m considering (I only want scalable fonts, so raster .fon files are out):
I have tried Adobe Source Code Pro about half a year ago. That didn’t cut it: problem with italics in Delphi, and not enough lines per screen. [Wayback] New Open Source monospaced font from Adobe: Source Code Pro.
–jeroen
Posted in .NET, Adobe Source Code Pro, Apple, Delphi, Delphi 2007, Delphi XE3, Development, Encoding, Font, Lucida Console, Mac, Mac OS X / OS X / MacOS, Power User, Programmers Font, Software Development, Typography, Unicode, Visual Studio 11, Visual Studio 2005, Visual Studio 2008, Visual Studio 2010, Visual Studio and tools, Windows, Windows 7, Windows 8, Windows Server 2008 R2, Windows XP, xCode/Mac/iPad/iPhone/iOS/cocoa | 43 Comments »
Posted by jpluimers on 2013/05/02
for my link archive:
–jeroen
Posted in .NET, C#, Delphi, Delphi 2007, Delphi 2009, Delphi 2010, Delphi XE, Delphi XE2, Delphi XE3, Development, Software Development | 1 Comment »
Posted by jpluimers on 2013/05/01
This is more elaborate English version of a short Dutch message I recently sent to explain the differences between VCL and FMX:
Do not regard FMX as a replacement for VCL: they are different kinds of frameworks.
VCL is a wrapper around Windows Controls. In itself, it has not much functionality: it exposes the underlying Windows functionality. The exception are data aware controls that provide basic functionality for writing data aware applications. There is a huge 3rd party market for extending VCL support, for instance providing extra Windows functionality, enriching data aware behaviour (look at all those fancy data aware grids), and many more.
FMX is the FireMonkey X-platform framework. Major functionalities are vector based 2D, 3D drawing and controls, and support for styles and composition.
When introducing FMX in Delphi XE2, Embarcadero also introduced a new way of data binding that is shared with FMX and VCL. FMX extends this a bit to some basic data aware controls.
Gone are most of the platform specific features like drag & drop, full blown Windows Shell ListViews, etc. There are some controls that manifests themselves differently on each supported platform (like Pickers), but most of that is currently left to the 3rd party FMX component market.
So if you want FMX to replace VCL, then be prepared for quite some shopping in the 3rd party market.
CLX tried to be a full blown cross platform VCL replacement, but that didn’t work very well.
–jeroen
Posted in Delphi, Delphi XE2, Delphi XE3, Delphi XE4, Development, FireMonkey, OS X FMX, Software Development | Tagged: component market, data binding, fmx, software, technology, vcl, windows controls | 1 Comment »
Posted by jpluimers on 2013/04/24
So I won’t forget, as the [WayBack] static in different languages varies in meaning:
[WayBack] Static on class methods makes them assignment compatible with plain old function pointers.
Thanks Moritz Beutel for initially posting this.
–jeroen
via:
related:
- [Archive.is] Facebook – Delphi developer: static class methods
- [WayBack] Delphi 2007: Methods; Class Methods:
Like class methods, class static methods can be accessed without an object reference. Unlike ordinary class methods, class static methods have no Self parameter at all. They also cannot access any instance members. (They still have access to class fields, class properties, and class methods.) Also unlike class methods, class static methods cannot be declared virtual.
Methods are made class static by appending the word static to their declaration.
Posted in Delphi, Delphi 2005, Delphi 2006, Delphi 2007, Delphi 2009, Delphi 2010, Delphi XE, Delphi XE2, Delphi XE3, Development, Software Development | 5 Comments »
Posted by jpluimers on 2013/04/17
Some notes if I ever want to do something like this.
In this case I worked around it by having the Items include different text (since I had object pointers in the TStrings anyway) so I could stick to the csDropDown Style.
|
Some links if people actually want to try this (you probably shouldn’t as it is way too much work).
|
–jeroen
via: delphi – How to simulate Windows Theme behaviour when TComboBox uses csOwnerDrawFixed or csOwnerDrawVariable? – Stack Overflow.
Posted in Delphi, Delphi XE2, Delphi XE3, Development, Software Development | 3 Comments »
Posted by jpluimers on 2013/04/10
For my research queue:
I should look at the below ConnectionStrings to access dBase with ADO from Delphi, If I ever need to do that.
Thanks Cromulent for asking, Nelson for editing and Pieter for answering:
Driver={Microsoft dBASE Driver (*.dbf)};DriverID=277;OLE DB Services = -1;Extended Properties=dBase IV;Dbq=c:\mypath
doing operations like ADOTable1.Open are very fast (good) but GetIndexNames returns nothing (bad).
Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties=dBASE IV;OLE DB Services=-1;Data Source=c:\mypath
doing operations like ADOTable1.Open are exceedingly slow (bad) while GetIndexNames does return index names the way it should (good).
How do I get both speed and the index info via ADO for the dBase tables?
“We use the following connection string which works really well.”
Provider=MSDASQL.1;Persist Security Info=False;Extended Properties="Driver={Microsoft Visual FoxPro Driver};UID=;SourceDB=c:\mypath;SourceType=DBF;Exclusive=No;BackgroundFetch=Yes;Collate=Machine;Null=Yes;Deleted=Yes;"
–jeroen
via Delphi + ADO + dBase – Stack Overflow.
Posted in Delphi, Delphi 2005, Delphi 2006, Delphi 2007, Delphi 2009, Delphi 2010, Delphi 5, Delphi 6, Delphi 7, Delphi XE, Delphi XE2, Delphi XE3, Development, Software Development | 8 Comments »
Posted by jpluimers on 2013/04/03
Just found this great answer by vcldeveloper to autoscroll a readonly logging memo in Delphi which works from Delphi 1 and up (:
For such a simple task, you don’t need to buy a commercial component! All you need to do is to send an EM_LINESCROLL message to that memo control, to make it scroll to the last line:
procedure ScrollToLastLine(Memo: TMemo);
begin
SendMessage(Memo.Handle, EM_LINESCROLL, 0,Memo.Lines.Count);
end;
If your memo is read-only to users and is updated automatically by the application, you can put a call to the above procedure in its OnChange event-handler, so that whenever the text inside the memo is changed, it is automatically scrolled down to the last line.
–jeroen
via: autoscrolling memo in delphi – Stack Overflow.
Posted in Delphi, Delphi 1, Delphi 2005, Delphi 2006, Delphi 2007, Delphi 2009, Delphi 2010, Delphi 3, Delphi 4, Delphi 5, Delphi 6, Delphi 7, Delphi x64, Delphi XE, Delphi XE2, Delphi XE3, Development, Software Development | 9 Comments »
Posted by jpluimers on 2013/03/28
There are a couple of very interesting libraries and ideas every Delphi developer should take a look at.
The list is far from complete, but should give you a good overview on what more recent Delphi language additions like attributes, generics, helpers, overloading, are capable of.
–jeroen
Posted in Delphi, Delphi 2009, Delphi 2010, Delphi XE, Delphi XE2, Delphi XE3, Development, Software Development | 3 Comments »
Posted by jpluimers on 2013/03/27
I was amazed that this is still usable:
You can even run VMware Fusion 4 full screen at 2880×1800, but I prefer to have the Mac Desktop and Dock to be visible. I didn’t have any of the VMware Fusion 4 issues mentioned here.
So the only thing you need VMware Fusion 5 for is Windows 8 support.
You need SwitchResX to get the Retina MacBook to use 2880×1800 at all (otherwise you get 1920×1200 at 1.5 scale factor, which is also a 16:10 display ratio).
It really runs 5+ hours on one battery charge, which is much longer than my ThinkPad W701.
All in all, I’m very happy with this setup.
--jeroen
PS:
via: Screen Shot 2013-03-27 at 19.55.39 | Flickr – Photo Sharing!.
Click on the image or here for full size image.

Posted in Apple, Delphi, Delphi XE3, Development, Mac, Mac OS X / OS X / MacOS, MacBook, MacBook Retina, OS X 10.8 Mountain Lion, Power User, Software Development | 7 Comments »
TComboBoxStyleHook. – David Heffernan Sep 9 at 13:13Business Layergives me aTStringswith theObjectsfilled (it is pre-Delphi-2009, so no generics yet). That’s why I can get out theTextsou easy (: First I need to finish about a week of .NET work though. – Jeroen Wiert Pluimers Sep 10 at 16:03TExtComboBoxand its own VCL styles feature. – Warren P Sep 10 at 20:45Objectinstance references are already in theTStrings, I wrote a small function to return a new temporaryTStringsthat has the string values with the captions I needed and keep theObjectreferences. Since it has the same item ordering, and sameObjectreferences I don’t need any mapping at all. Just need to make sure I free the newTStringsat the right moment. – Jeroen Wiert Pluimers Sep 10 at 21:24