Very often, you have to check some information contained in the VERSIONINFO section of your application and most of the examples you can find on the InterWebz are doing it by using this WinAPI routine: GetFileVersionInfo. Continue reading →
Or
The new old stuff…
We had to make the application play specific sounds as a status indicator that doesn’t require the user to look at the screen. To avoid external dependencies, the idea is to embed some WAV files as resources in the executable.
Now if you go and search online for some example, you’ll fine plenty of very similar recipes (and duplicates).
Unfortunately most of those are quite outdated and whilst still workable are not as simple as you can get it with the modern Delphi versions and require some command-line invoking the resource compiler BRCC32 manually… (just Google the title and you’ll see)
So let’s try to make the IDE work for us. Continue reading →
Back from the DelphiLive conference…
- A big thank you to Frank and Michael who made this a very nice event.
- There was a lot of excitement about the new XE2, from the attendees to the speakers to the Delphi team.
- The crowd was not huge, but there was a lot of energy and good vibes.
- Mason Wheeler has a very good report of the Keynote on his blog.
- My thanks to those who attended my sessions. I will clean a bit my material and have it available online… But not before next week.
- Simon Stuart ( of TKinect et al. fame) was not at the conference in San Jose, but I bet he’ll have very interesting sessions at the coming online CodeRage.
- You can help him help the Delphi community here .
- Interestingly, Nick Hodges was there not only as a speaker, but also to recruit for his company Gateway Ticketing.
- And he was in competition with my former company WideOrbit who were there sponsoring the “Meet the Team” event and getting contacts and resumes to fill a lot of jobs openings.
I know, I’ve been not very much of a blogger lately…
- Delphi XE2 is announced and it surely looks like a very interesting release (and probably with some nasty bugs as well, we’ll see)…
- I take the bet it will up Delphi a bit in the TIOBE index if it creates the buzz I think it will.
- I will speak at the DelphiLive 2011 in San Jose, which I hope will be a good edition with a lot of XE2 goodies….
- Something really cool made with HTML5 (better try it with Chrome).
You’ll arrive at the top of Lombard street in SF, but when it’s finished you can try with any point having a street view in Google maps.
- Internet is good because it keeps a trace of a lot of code snippets.
Internet is bad because it keeps a trace of a lot of code snippets. 
My next post should explain…
- We have implemented some panning and zooming features in our Adura System Design application: it’s still cool what you can do with plain old Winapi and Delphi.
I guess it would be totally sick with FireMonkey (if we do it, but it’s probably a huge rewrite).
- The Silicon Valley Code Camp is back! Saturday and Sunday, October 8th and 9th, 2011. As I said in a previous post, it’s not very Delphi but totally cool.
- Lately I’ve been back into motorcycling (thanks to my lovely and adventurous wife) and I got my first cruiser ever.
Absolutely gorgeous design but bad UI nevertheless: The control panel is not on the handlebar but on top of the tank with the turn signals indicators at the very bottom, which means you cannot just see them if you have a full face helmet, they are hidden by the chin bar and you have to bow your head and freakin’ look at them.
And because those turn signals do not go off automatically, I ride quite often with them on for a while and that p..sses me off.

Posted in Conference, Delphi, Uncategorized, User Interface, Windows
|
Tagged A little bit of zis, Conference, Delphi, Motorcycle, TIOBE, UI, User Interface, Windows
|
… or why simply replacing LockWindowUpdate by WM_SETREDRAW is not that straightforward.
As you know, when you want to avoid flickering or multiple partial redraws of your Forms, during a flurry of updates for instance, even though it is very tempting, you must not use LockWindowUpdate. The Windows documentation has been updated from the days when it practically enticed people into using this API call for this wrong purpose and Raymond Chen has explained in detail why:
What does LockWindowUpdate do?
With what operations is LockWindowUpdate meant to be used?
With what operations is LockWindowUpdate not meant to be used?
Final remarks on LockWindowUpdate
Now, just replacing LockWindowUpdate(MyForm.Handle) by SendMessage(MyForm.Handle, WM_SETREDRAW, 0, 0) on the whole Form is not the solution either. Continue reading →
… you may end up chasing memory leaks that don’t exist.
I was at work investigating some bizarre behavior of our application when dealing with a big customer file and I had ReportMemoryLeaksOnShutdown turned on as it was very likely there was some memory leaked.
So, I donned my LeakBuster suit, armed my LeakBlaster and started hunting the leaks, Continue reading →
The zip of my CodeWay 4 session (in French) is now available for download here.
FYI, the old CodeRage 4 session (in English) is also available from Embarcadero: “Speech Enabling Delphi Applications (zip)”
Posted in Conference, Delphi, Speech, User Interface, VCL, Windows
|
Tagged CodeWay, ComCtrls, Conference, Delphi, RichEdit, Speech, User Interface, VCL, Windows
|
I don’t know about you, but I can’t count anymore the number of times I’ve seen this code pattern (in code snippets online as well as in production code):
while not ADataSet.Eof do
begin
ADataSet.FieldByName('MyFieldName1').SomePropertyOrMethod;
ADataSet.FieldByName('MyFieldName2').SomePropertyOrMethod;
ADataSet.Next;
end;
Using FieldByName in a case like this is certainly very convenient and has a lot of advantages: Continue reading →