Sunday, October 26, 2008

Status of Virtual Treeview port

It has been more than one year after the last blog update about the Virtual Treeview (VTV) port and some people may be asking what happened with it.

The port is far from dead. In fact, it is fully working under Win32, Gtk1/2 and Qt since, at least, the previous six months. I was just waiting to the Lazarus 0.9.26 release to do an official release. Lazarus 0.9.26 is out, so where is the new VTV?

One of the main features of Lazarus 0.9.26 is the Unicode support for Win32 interface that, in your turn, uses UTF8 encoding. Currently VTV supports Unicode by using UTF-16/WideString and was working fine. After the LCL Unicode switch some encoding conversion problems appeared when iterating with strings returned by databases or LCL controls, so i decided to anticipate the migration to UTF-8 before doing a release.

This task is not trivial and i'll start to work on it only after December, so don't expect an release soon.

This has some advantages:
  • There will be no need to further string types changes (WideString -> String) in applications created with the released component
  • It will be faster since WideString is known to be slower specially under Win32
Anyway if someone is interested in testing the component check the instructions on how to use the svn version here. Be aware that a change from WideString to String type will be necessary in the long run.


Duncan said...

that's great!

I'm going to be doing some mac work soon - what is support like for OSX/carbon?


Luiz Américo said...

I can't develop for Mac/Carbon because i don't have access for a Mac.

To compile VTV, and start testing, is necessary only implement a few functions in LCLExtensions package.

I added a dummy implementation of LCLExtensions Carbon interface in svn so if someone is interested can start hacking. The hardest part to implement is SetTimer/KillTimer but looking at Qt/Gtk implementation will help a lot.

Vitaly said...

Great news!
Will the updated VTV be based on the latest 4.7 version from

Luiz Américo said...

It will be based in version 4.8.0 (from svn). I already did the port, just waiting for some review so it can be committed.

Thomsen said...

Any news on this?

Luiz Américo said...

Yes. The only missing piece is fix the hint support. After this is read for release. It will require the future Lazarus 0.9.28 anyway

Thomsen said...


Is this the one?

Will it run with builds from the testing repository (deb)?

Luiz Américo said...

Yes. Use together with


I don't know what version of Lazarus is packaged in deb format. I use with the Lazarus svn

reinhardt1053 said...

Great! I'm going to try it! Thank you!

Thomsen said...

Is it "done" yet?

Luiz Américo said...

It's almost done. Just terminate hint support and sync with delphi svn

Thomsen said...

Hint support - is that font hinting or "tool-tips"?

Luiz Américo said...

Tool tips.

What is missing is the placement according to bidi mode

Karla said...

buy viagra
viagra online
generic viagra