PRODUCTS » Quick Links

FEATURED PRODUCT

Create modern-looking & feature-rich applications with over 280 components including award-winning grids, scheduling components, Office 2007/2003 ribbon & toolbars, calendars, application update and much more...

License only 175 EUR See More

LOGIN

Customer login to access products, support information & special benefits.

SEARCH

STAY IN TOUCH

Add your e-mail address here to receive the monthly TMS Software alerts.

 

LINKS


Content Filter:
Product releases
Product articles
Technical articles
Website changes
Software development

Product Filter:

<< >>
March 2010





Thursday, February 18, 2010

TMS at Delphi 2010 in Action workshop in Luxembourg

For all developers in the Netherlands and Belgium, an interesting workshop is planned on March 18, 2010 in Luxembourg. This is an interactive workshop, come and see Delphi 2010 in action and learn how to get the most out of Delphi 2010 for creating Windows 7 applications and much more. We're pleased to have been invited as well to provide a training session about automatic application updates via internet. Full details about the event can be found at: http://www.barnsten.com/events-agenda.aspx?item=169.

We're looking forward to see you at the event!




Bookmarks: 

Nancy Lescouhier




This blog post has not received any comments yet. Please login first to add a comment.



Monday, February 15, 2010

Excel 2010 and Protected Views

If you have been looking at the "What's new" sections in the last FlexCel releases, you might have noticed a mysterious "Office 2010 Protected mode support". Here I would like to expand on what that means, but before going any further, let's focus in the message I want you to get from this post:

Please update FlexCel (both VCL or .NET) to the latest version. It is important that you do so.

As you know, we take pride in our long support cycle, and we in this case it is not different: Both 5.1 in .NET and 3.2 in VCL are free updates for everybody who has a valid license, so you have no excuse not to upgrade.

Ok, now that this has been sorted out, and while you are downloading the new files, I think I should explain a little. The reason I am asking you to update, is that Excel 2010 comes with a new feature, called "Protected View" that will flag files created with older FlexCel versions as invalid.

This feature will try to detect if the file is a "genuine" Excel file or not, and if it isn't, drop a big scary red box at the top:


In our case, we had both good and bad news. The good news: As we always cared a lot about creating files that would be virtually impossible to differentiate from a "real" Excel file, there wasn't much Excel complained about, we only found 3 wrong records in thousands of files. The bad news: Sadly one of those records was written to almost every file, so Excel 2010 would complain in most files FlexCel created.

So we fixed those records and then spent more than a month testing literally thousands of files created by FlexCel (from single "Hello world" files to files as complex as you can imagine) to verify that Excel 2010 opens them fine. Each one of them was individually opened in Excel 2010 and we manually verified it was ok.

So now it's your turn. Please install the latest FlexCel versions today, so when your customers get Excel 2010, they won't complain.

Do we still have some minutes left ? Ok, then it's rant time.

I would like to keep this kind of confidential between me an you, but really, I must say really, I don't get it. Saying it is the silliest idea ever would be mean, so I will just say "I don't get it".

To have yet another silly real world analogy, this is like if you discovered that "most terrorists use black t-shirts". So, you ban people with black t-shirts from airports, and claim to have "improved the security". You might even be able to convince someone that it was in fact a bright idea, but what will actually happen is that: 1) Terrorists will start using white T-shirts. 2) Lots of innocent people using black t-shirts will be banned from the airports.

In this case something very similar happens. Excel checks for some records, and if it sees they aren't exactly what it would expect, it will declare the file "dangerous". The problem? 1) If I am doing a malicious file, I will make very sure I get those records right. And yes, there are thousands of ways to craft a malicious file without them. 2) You will be banning millions of innocent files that bear no risk at all. For the record, the screenshot above wasn't made with a file created with an older FlexCel version, but with the latest (a couple of days old) version of OpenOffice. I just dropped a chart over an empty sheet, and voila, I had a "dangerous" file.

How many files completely harmless but not created with Excel itself are out there? What's the idea? OpenOffice, GEdit, KOffice, ourselves, are all "terrorists" now?

If you ask me, what Microsoft should have really have done here is fix the problem, period. Remove all possible buffer overflows. All of them. Review every line of the file loading process, and make sure there is no way a wrong value can crash Excel. Too much work you say? Well, not when the product generates the kind of revenue Office generates:

http://www.businessinsider.com/chart-of-the-day-microsoft-operating-income-by-division-2010-2

If they used just a fraction of those billions to fix Office instead of financing xbox and bing, they could buy a legion of security experts to review every single line. Or some engineers to rewrite the xls-loading code in managed code. Or both. What do we get instead? A band aid solution that doesn't solve anything, but does make life more complex to everyone.

Ok, the rant is off. You can ignore everything else in this post, but just remember to update FlexCel.
Thanks for your time,

Bookmarks: 

Adrian Gallero




This blog post has received 4 comments. Please login first to add a comment.



Sunday, February 14, 2010

Thank you for 15 years of Delphi!

I still remember as if it was yesterday, 15 years ago around this period of the year, I did a 100km trip to a warehouse near Brussels to pick up my preordered copy of Delphi 1. I had asked the distributor to give me a call the day they would receive their first stock of boxes and to avoid the delay of post, I drove the day itself to pick up the Delphi 1 box myself. Little did I know that this day would affect my life so much. The big fat box in fresh & flashy orange colors was staring at me on the passenger seat and little after I was back home, I was exploring RAD Windows development in the Object Pascal, now Delphi language. It was instantly clear to me that I would be so much more productive at creating much richer Windows applications with Delphi than I had been with Turbo Pascal for Windows. I quickly realized that the component model was one of the key elements that empowered this productivity gain. It didn't take long that I was actually enjoying creating components more than doing full applications. The Delphi Super Pages and Torry's Delphi pages grew like mushrooms the first years of Delphi and I thought it would be interesting if my components would show up there as well. In the first years of Delphi, two books in particular helped me a lot to learn the internals of the tool I loved: "Delphi Secrets" and "The hidden paths of Delphi".

Both books were written by Ray Lischner, a truly great author!
The rest is history, you're now visiting the website that is the result of many versions of Delphi and 15 years of passion and lots, lots of hard work.
It's amazing and unique that a component framework that was designed 15 years ago for a 16bit operating system, transformed with such a high degree of backwards compatibility to a 32bit unicode enabled framework today offering the fastest RAD experience for creating native Windows 7 applications that can take advantage of many of its latest features such as touch support.

When Delphi 2010 was released last year, I immediately switched to it as main Delphi development tool. It's speed & productivity are still a breath of fresh air. I can truly say that after 15 years, I still enjoy the daily development with Delphi, helping other Delphi developers, creating Delphi components, having contact with so many great people in the Delphi community.
Thanks a lot to every single individual who helped shape the many versions of Delphi, its community, its third-party market. I count on you to keep up the good work for Delphi for the coming years, you can count on me too.
I'm curious to hear about your anecdotes about Delphi, to learn what Delphi brought you, how it changed your life and where you want Delphi to go to in the future.

Bookmarks: 

Bruno Fierens




This blog post has not received any comments yet. Please login first to add a comment.



Wednesday, February 10, 2010

Building custom blocks at runtime with TMS Diagram Studio

The latest version of TMS Diagram Studio brings several interesting new features. One of them is the possibility for building custom blocks. In other words, your end-users will be able to draw blocks and add them to the toolbar, having it persisted anywhere you want - current version saves custom blocks in files.

You can do everything programatically, but here we will show the visual usage, using the diagram editor. Just build your custom block the way you want, placing individual blocks together. You can't add several blocks as a custom block - only one block is allowed. So, all you need to do is group the selected blocks to build a single group block. Once the individual blocks are grouped, right-click the group block and select "Add to the library..." menu item. In the example below, several simple rectangle blocks were placed and grouped to build a "Table" block.



A dialog window will open for you to specify the name of the custom block, its category, and its icon - note that the dialog already suggests you an icon which is just your custom block shrinked to the icon size.



After you confirm the new custom block by pressing "Ok", it will be included in the toolbar.



The custom block is persisted to a file, and from now on, you can use it just like any other block: click the custom block button and click the diagram to insert your brand new custom blocks!

Bookmarks: 

Wagner Landgraf




This blog post has not received any comments yet. Please login first to add a comment.



Thursday, February 04, 2010

GDIPPictureContainer Editor

GDIPPictureContainer use

Many components have the capability to show images, either from an imagelist or a GDI+ picturecontainer or sometimes both. The GDIPPictureContainer makes it easy to use and embed PNG, JPEG, ICO, BMP, GIF and TIFF images in your applications. The major advantage of the GDIPPictureContainer is that it allows to store images just once in the DFM file and allow to reuse it in different components. The GDIPPictureContainer could be dropped on a datamodule and can be shared between different forms.

First a GDIPPictureContainer component must be dropped on the form and linked to the component.


Previously, adding images at design time to the GDIPPictureContainer was done via a simple collection editor:

With this collection editor, a picture could be loaded for each item in the collection and a name could be set. The process quickly becomes tedious though as you cannot easily see at design time the picture that is behind each item in the collection:

GDIPPictureContainer Editor

To make the use of the GDIPPictureContainer easier and more straightforward, we have designed a special new design time editor. With this design time editor, you have a visual presentation of the images in the GDIPPictureContainer as well as a quick visual overview of available images in folders on your hard disk. Adding images to the GDIPPictureContainer now becomes as straightforward as drag & drop from the image folder to the GDIPPictureContainer picture list.

The power of TAdvSmoothImageListBox

The components that are used for the picture list overview and the image browser are both a TAdvSmoothImageListBox. Below is a list of the included features:

  • Drag and drop one or multiple images from the image browser to the picture list.
  • Double click on an item in the picture list to change the name.
  • Change the view of the picture list or the image browser with a splitter or change the number of columns.
  • Browse easily and fast through different folders on your system.
  • Fast overview of all added images to the GDIPPictureContainer
  • Fast loading & smooth animated scrolling through thousands of images
  • Quickly remove and add pictures with one click
  • Keyboard lookup based on image name

This new editor will be available in the next version of the TMS Component Pack, and the TMS Smooth Controls Pack

Bookmarks: 

Pieter Scheldeman




This blog post has received 1 comment. Please login first to add a comment.



Copyright © 1995 - 2010 TMS Software v3.3